Let’s introduce you to this lab. Before you move into the computer and data, you need to a big picture view of the computing machine, i.e. your computer.
Labs are hands-on coding projects that you build along with Tonya as she explains the code, concepts, and thought processes behind it. You can use the labs to further your code knowledge or to use right in your projects. Each lab ties into the Docx to ensure you have the information you need.
Each lab is designed to further your understanding and mastery of code. You learn more about how to think about its construction, quality, maintainability, programmatic and logical thought, and problem-solving. While you may be building a specific thing, Tonya presents the why of it to make it adaptable far beyond that specific implementation, thereby giving you the means to make it your own, in any context.
1990s, Modern Day, and the Future
In this topic, we explore technology of 1990s to now and into the future. We look at HTTP, HTML, URI, and Moore’s Law. World Web Web The ability to network computers and computer systems led to major advancements in our ability to communicate, share, and work. In 1989 Tim Berners-Lee, a software engineer and British researcher at the CERN physics lab in Geneva, Switzerland, changed our world when he invented the global network he called the World Wide Web (WWW). In his proposal, he outlined his vision which included a specific set of technical rules or specifications for the distribution […]
Operating Systems and Application Packages
In the mid to late 1960s, technology advanced to the point where the human was the bottleneck in the computing process. It took time for the computer operator to prepare and load the next job. The tasks of loading the various programs, linking the programs together, and then executing the programs required separate manual steps. The solution was to automate these computer-specific tasks by developing software to control the computer and determine which programs to run. This era brought us the operating system (OS). Think about the computer that is presenting this course to you. There are many different programs running it. […]
Birth of High-Level Languages
Throughout this era, machines became more powerful and programmers sought the means to abstract (hide away) the machine code into a form that was more easily written, expanded, and controlled. Programming all day in binary or hex codes at the machine level was not efficient. There had to be a way to invent a translator, which converted some language into the binary that the computer needs. Incrementally throughout this period and even today, computer scientists strive for more efficient and powerful forms of language to push the computer. Short Code (or Short Order Code) was the first “translated” language. Developed […]
Early Days of Computing
Before there were programmable computers, humans were the only computers. Processes were broken down into sequential steps, which a pool of people worked on, hour-after-hour, day-after-day. This process was labor-intensive and prone to error. Mathematicians sought to find a more efficient means of simulating the human computer. During this period, our world of computing progressed, as sequential tasks were finally captured into a form that a machine could process. This period brought the world relay-logic, the precursor to modern day computer circuits. People worked as programmers, converting sequential instructions into the form machines and circuits could execute. The first commercial […]
The First Software Programmers and Machines
The First Programmer – Ada Lovelace The first programmer was Ada Augusta (1815-1852), Countess of Lovelace. Dating back to the mid-1800s, she is credited with being the first to write instructions for the first computer program. Our field begins with her. Let’s meet Ada Augusta.In 1832, Ada met Charles Babbage, the inventor of a proposed mechanical computer called the Analytical Engine. Although his designs were far too advanced to build in their time, their work set the stage for today’s computer and computing. The Analytical Engine included concepts for integrated and stored memory, arithmetic processing (which today is known as […]
Evolution of Computing
In order to appreciate just how far this field has come, we need to step back in time and understand the evolution of computing and the computer. Understanding the roots and challenges of those who came before us will help you to visualize your role now and what is possible for the future. Besides, knowing some of the key technological advancements and the key contributors arms you with both perspective and talking points.
Abstract Data Type
The abstract data type, or ADT, is a container whose properties (characteristics) and functionality are separate from the implementation. Let’s take about it. Study Notes What is abstract? Per Merriam-Webster: relating to or involving general ideas or qualities rather than specific people, objects, or actions We’re separating the general from the specific. What is an Abstract Data Type (ADT) Container Properties (data and functionality) are independent from an implementation View the type from the application’s (or user’s) perspective Model to “abstract” away complexity (abstraction) Lists Designed specifically for the needs of a list Properties and functionality to track the list […]
Special Data Type
Special data types are specified by the programming language. One example is the enumeration. Let’s explore this data type. Your key takeaways are: Special data types are specified by the programming language Enumeration is a common data type It is an example of using the right tool for the job Study Notes It’s a data type specific to a particular language. One fairly common data type is an enumeration. Examples of Enumeration enum Month (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC); enum Season (SPRING, SUMMER, FALL, WINTER); enum Users (SUBSCRIBER, CONTRIBUTOR, AUTHOR, EDITOR, ADMIN, SUPERADMIN); […]
Composite Data Type
Composite data types are a combination of primitives and other data types. They include arrays, lists, and collections. Your key takeaways are: Composite data types include arrays, lists, and collections Combination of primitives and other data types Arrays ordered arrangement of data each element keyed – implied or declared value held in the element can be any data type Study Notes What is a Composite Data Type? Combination of the primitives and other composite types It’s a composition of different types Examples of Composite Data Types Array Collection What is an Array? An array is an ordered arrangement of data. […]