Creative Development
Programming, first invented in the 1950s, is one of the key factors responsible for the digital era today. Programming is essentially art, each and every person can build and create their own abstract ideas with it. A correctly coded program can perform whatever task it was meant to perform with great accuracy. When mistakes occur, they can simply be deleted and re-programed correctly. With such open and vast creative potential, programming has spread around the world and is used by many people. Companies use programming to create software and systems that may aid in management. AI developers program robots into doing tasks that could only be done by humans in the past. Students around the world take computer science and have the opportunity to experiment and create their own programming projects. Programming is truly the heart of computer science. Everything, from computers, to software, to the internet is all built on its back.
Programming
Programming is a creative process bringing ideas into reality with computer code. The programming world has a variety of different programming languages, such as C# and python, that all allow user to create virtually anything they want to. Programming exists just about everywhere in the field of computer science. Major websites on the internet such as Google are all coded in programming languages such as JavaScript. Video games are also made through programming. Even the operating systems of computers are coded with language know as C.
Errors in programming
In programming there exists four main errors that occur the most at all level. These errors are known as syntax errors, runtime errors, logic errors, and overflow errors. Syntax errors occur when the rules of the specific programming language is not followed. They can occur when undefined variables are called or when nonexistent procedures are called. Runtime errors are errors that occur when all rules are followed, but a statement is invalid/not possible, thereby causing the program to halt. The most common case off runtime errors are division by zero as it is an invalid operation. Logic errors occur when there is something wrong with the logistics of the code. They describe situation in which the program does not produce to intended result. Logics errors can occur in situations such as not setting restrictive enough conditionals. Finally, overflow errors occur when computers attempt to handle values outside its maximum or minimum value ranges. A prime example of overflow errors are calculators displaying the error overflow message. Programming error occur very often especially in the codes of beginners, but it is important to know that they are very much fixable. Through a process known as debugging, any error can be fixed as long as the correct changes are applied.
Data
Digital data is any data represented by the binary system. All information on the internet is represented as digital data and must be transcribed in order to become readable. Digital data is responsible for much of what a computer is capable of doing across the internet. In order for information to be transmitted, all of it must become digital data beforehand. Today, if the transformation of information into digital data were not possible, communications across the globe through the internet would not be possible.
Data compression
The compression of data is used by all users of the internet. Data compression allows users to download, archive, and secure device and internet data while also using minimal storage. It is what allows computers to store so much data. there are two types of data compression, Lossy compression and Lossless compression. Both compression methods compress data smaller bits in their own respective ways. Lossy compression, as the name suggest, performs compression on data that cannot be reverted back to 100% original, some aspects of the data such as bits are removed forever, which results with the data being lower quality than the original. Lossy compression compresses data into very small files which is useful especially for devices with small storage spaces. Lossless compression performs revertible compression on data. By using lossless compression users can compress data into smaller bit sizes and then decompress it back to size without repercussions. Data compression is used in computer science to save disk space and reduce time needed to transfer and receive data.
Binary numbers
Binary is essentially a computer's representation of data. Binary consists of the usage of different sequences of 1s and 0s to represent information. A bit is the smallest unit of information being represented by just a singular 1 or 0. With a bit of information, things such as "on" or "off can be represented. With more bits a byte can be formed, which is a sequence of 8 bits. Bytes can then form kilobytes (1024 bytes) and then megabytes (approx. 1 million bytes) and so forth. These chains of unique sequences of bytes are used by computers to represent the numbers, letters, colors in the visuals that users see. Binary is crucial and is the base of all computers. It is what allows computers to manipulate and use the data being given to it.
Algorithms
Algorithms are essentially steps to do a task. A simple example of algorithms in computer science are programs such as a grade calculator. In today's digital era, a correctly coded algorithm can perform thousands of operations and solve many problems. Simulations can create hundred of thousands of unique scenarios and are prime examples of more complex algorithms. Algorithms are used by many people in the world today. Many manufacturing companies utilize algorithms in the creation of products. Automobile companies and weather forecasts utilize simulation algorithms in order to study possible events/scenarios that could play out. Even commonly seen things such as traffic lights utilize complex and careful create algorithms to direct traffic in the most efficient manner. The power and versatility of algorithms to perform many different tasks with efficiency has made them very prevalent in today's society.
Program Statements
There are three different types program statements in computer code, sequential, selective, and iterative statements. Sequential statements in code execute in the order they are written. Statements such as "print" are sequential statements as they execute when the computer reaches their line. Selective statements are special statement that only execute if a specific requirement is met. Selective statements use the if condition structure in order to evaluate a condition using Boolean values (true or false) and can change the trajectory of a program. Iteration statements are statements that will repeat selected code. Iteration statements help eliminate the need to code repetitive code and are helpful in performing repetitive tasks. The combinations and mastery of all three programming statements allows for people to create more complex and interesting programs.
Algorithms efficiency and Heuristics.
Computer algorithms are extremely powerful and useful when it comes to solving issues. They can solve problems very quickly and calculate solutions to complex problem faster than any human can. However, all algorithms still have their own limits. An algorithms limits describes a situation where an algorithm can no longer solve a problem in a reasonable/efficient amount of time. This means that an algorithm would take far too long and far too many resources to produce an solution worth finding out. Problems known as undecidable are prime examples of problem that may cause this as they have no definite solution. This may cause algorithms attempting to solve it to continue generating possible solutions forever. However, by using something known as a heuristic, scientists can now obtain solutions from these problems. A heuristic is a method where practicality is put before quality and in computing it is used to same way. Instead of having algorithms approach problems searching for the perfect solution forever, a heuristic will guide algorithms into finding a "close enough" result that can be used as a solution. Heuristics play a big role in computer science as they allow scientists optimize time in finding solutions. It provides a way out and a lead to problems that may not be truly solvable.
Computer Systems and Networks
Computer systems and networks are the building blocks of the internet. Computer systems describe all parts that make up a computer and the interconnection of them creates networks. These networks then connect into one large network known as the internet. The creation of the internet led to many changes in society. With it, people all the way around the world could now share their ideas and experience and socialize together. Companies could advertise their product online to people around the world, changing the marketing industry as a whole. The ability to spread information has changed forever. The internet had truly opened up a new era for the world to transition into.
Cyber Attacks
Cyber attacks are attempts to break into and disrupt computer system, networks, and data for malicious purposes. Cyber attacks can appear in many different forms and can be carried out by individual and groups. Cyber attacks typically involves the usage of malware such as computer viruses in order to take over a targets device and gain access to sensitive information and data. Viruses can be hidden inside things such as links and download files. Other forms of cyber attacks includes phishing scam links, Rogue access points, DDoS, and at times even social engineering. Cyber attacks are always something computer scientists must look out for. When they infect computer, they can steal insurmountable amounts of data and cause catastrophic damage. In computer science their are many fields that focus directly on protecting people's devices form these sorts of attacks. Many computer specialists specialize in the field of cybersecurity and work to develop software that prevent cyber attacks.
The Internet
The Internet is a global network is made of many different interconnect networks. It is classified as a WAN or Wide Area Network as it spans a very large geographical area. The internet allows quick transmission of information across the globe and allows people to explore and share information from the comfort of their computers. To do this a protocol known as the TCP/IP, which is a set of protocols on how packets should be transmitted across the internet. TCP breaks down data into packets and IP routes them to the correct destination. On top of this, the internet is also very fault tolerant which means that on outage of a transmission cable will not take out the entire thing. This is the reason why even during events such as natural disasters in on part of the world, the internet will always be available in other part. Overall, the creation of the internet had opened gateways to new possibilities and had changed the way information could be shared.
Impacts of Computing
Since the creation of the internet, the way information could be shared and displayed had changed drastically. People in one location can see the works of other halfway around the globe in an instant. This has led to the rise of endless possibilities for marketers, scientists, software designers, and everyday normal people to utilize this to their advantage. These abilities have created both positive and negative impacts that can strong affect others using the internet.
Digital Divide
The rise of the internet and technology has also created a gap known as the digital divide. The Digital Divide is the unequal access to technology due to geographical location, resources, or circumstances. Poorer people having no internet access, government restrictions on technology, and rural populations having no technological knowledge are all examples of the digital divide. Today's world is heavily dependent on having access to technological resources. Access to the internet grants a person opportunity to education, jobs, and information. This makes the Digital divide an ever-growing problem as people who have no access to technological resources will never have the same opportunities. Without changes the gap will only grow as underprivileged individuals will continue struggle. There are possible solutions to this divide. Providing cheaper tech and building more technological infrastructure into underprivileged or rural areas are just one of many options.
Targeted Advertising
With more and more people, joining the internet every day, it is no surprise that companies and marketers have taken advantage of these changes. Many websites, pages, and games are now filled with advertisement banners and popups. These standard forms of advertisement combined with an internet ability creates a very power method of advertisement. Companies can what are known as website cookies, to track user data and advertise accordingly to the user's activity. For example, if a user on an online shopping website buys bedroom furniture, the next time they visit the website, they may see more options for other bedroom furniture. Some other forms may even track user activity across the internet. This is known as targeted advertising. Targeted advertisement utilizes user activity to its advantage. Though a very effective, targeted advertising may pose serious threats to a user's data privacy. The constant flow of information companies may be tracking have reach to a point where it is even possible to determine the personality of tracked users. There are methods to help users hide their information such as personally customizing websites cookies to a comfortable level. However, the usage of targeted ads on the modern-day internet is more prevalent than ever.