Overview
Any sufficiently advanced technology is indistinguishable from magic.~ Clark's Third Law
This week we begin our study of
computer systems, where
we will take a look under the hood
or if you prefer, behind the
curtain
of the increasingly ubiquitous yet ever more mystified computers
that we use every day.
We will do this by taking a deep dive into the computer organization and computer architechture of an historical computer from 1975, the Altair 8800.
Scenario
You've all fallen asleep and awoke back in time on January 1, 1975. It takes you several days to adjust to your new reality. There are no cell phones, no World Wide Web, and the Internet's predecessor, ARPANET, is only known and used by a handful of scientists and engineers. Outside, dinasaurs roam (just kidding;-), and your ancient computer science teacher is a 14 year old kid in high school.
After a few weeks adjusting to your new reality, you decide that if you're
going to be stuck in 1975, you might as well make the best of it. You wonder if
the tech skills and knowledge you bring from the future could be of help to you
all in getting a leg up
on the last quarter of the 20th century, and you
decide to work together as a team to find out.
Browsing the magazine shelf at a 7-Eleven store (some things haven't changed since 1975, though it's been a long time since 7-Eleven has had a magazine shelf), the following issue of Popular Electronics magazine catches your eye:
Since you know already this is the beginning of something big, several of find work doing odd jobs and such to piece together the needed $621 to purchase one of these Altair 8800 machines.
Altair in hand, it's time to figure out how to use it.
Tasks
Do each of the following initial tasks:
-
Create a new git repo named
csc215
. -
Using your VCCS email, send me an email at
jde232@email.vccs.edu
with a link to the git repo you created in the previous step. - Download a copy of the orginal Altair 8800 Operator's Manual. We will be using this manual as one of our primary resources for our course. Note: Thanks to Kevin Cole, we now have an online version of the manual that you will likely find much easier to use.
- Working in a local clone of your
csc215
repo, create a subdirectory namedNotes
, and begin editing a file namedAltairManualPart1notes.md
. - Read the following parts, taking extensive and detailed notes
in your
AltairManualPart1notes.md
file, and making regular commits of your work:- PART 1 INTRODUCTION
- A. LOGIC
- B. ELECTRONIC LOGIC
- C. NUMBER SYSTEMS (see Binary, Octal, and Hex)
- D. THE BINARY SYSTEM (see Binary, Ocatal, and Hex)
We will divide up the 5 sections above amongst ourselves and prepare presentations to be shared in class on Thursday (August 29th) summarizing the information in each.
NOTE: I plan to design this culminating year in your computer science
pathway with an even more student-centered, problem/project based approach then
we used last year. That means that much of the responsibility for learning
falls on you to actively engage with the course, and to put in the time and
effort needed for success. I'll be responsible for defining the problems on
which we will focus, framing
our study, and on working in consultation
with you to adapt and modify our goals and pacing as we go, but you will need
to take control of your learning process to get the most from your experience
here.
Thursday, August 29th
We'll begin class with group presentations Part 1: Introduction from the Altair 8800 Operator's Manual. Presentions are:
- Part 1 Introduction: Jametheil, Marin and Cody
- A. Logic: Anfal, Isaac and Luis
- B. Electronic Logic: Trostin, Johan and Caleb
- C. Number Systems: Akshay, Anar and Adonis
- D. The Binary System: Parker, Turner and Dane
In order to get our hands on our computer as soon as possible, we will skip past Part 2: Organization of the Altair 8800 and move right into Part 3: Operation of the Altair 8800.
Your homework assignment is to read Part 3 slowly, repeatedly, with a goal of understanding and to take notes summarizing what you have learned.
In class next Wednesday (September 4th) we will work through examples of programming the MITS Altair Simulator. I strongely encourage you to try this out on your own before coming to class. Doing so will make it so much easier for you to understand what is going on when we do it together.