# Course Organization
# How to use this Textbook
Home icon is located on the top-left and will take you back to the start page.
Site Search field is located in the top-center and will present a list of pages containing text that match the search criteria.
NavBar is located on the top-right and allows you to choose a Section. The underlined word denotes which Section is currently open in the Main Content Area. Upon clicking a Section, the Main Content Area displays the Section's main page.
Sidebar Menu is located on the left side of page. It contains a navigation tree to Topics and Topic Units.
Topics are links that display content in the Main Content Area.
Topic Units are anchor links to subsections within a Topic in the Main Content Area.
Main Content Area displays the Topic or Topic Unit content.
This text is divided into the following Sections:
Each Section contains Topics. For example, the Introduction Section contains the following Topics: Diversity, History, and Concepts.
Each Topic contains one or more Topic Units. For example, the History Topic contains the following Topic Units: Prehistory, Dawn of Computers, 1st Generation Computers, 2nd Generation Computers, 3rd Generation Computers, 4th Generation Computers, and Modern Computers.
We'll learn about:
- The progress of computing technology throughout the ages
- The core concepts of abstraction and algorithms as used in computer organization
- The differences between analog and digital computer systems
- How specific-use computers gave way to the general-use computer in use today
To start, we will build a foundation of computer organization with the pioneers that, across the 20th century, created today's computing technology.
Next we will examine basic numeric and logical constructs that drive modern computer systems.
Finally we will look at the lowest levels of computer hardware: transistors. We will understand:
- How transistors create circuits to perform numeric and logical operations.
- How circuits are used to store information, route data, and ultimately create a microarchitecture that can execute complex programs.
In this part of the class, we'll use a simple assembly language and development environment to create and run programs.
Using assembly, we'll see the basic constructs of high-level programming languages (such as Java), for example: If-Else, For and While loops, calling Subroutines, and interacting with Input/Output devices.