CSC 103, Fall 2007
How Computers Work


Professor: Judith Cardell, e-mail
Office: EGR 105B (green engineering building)
Office Hours: : Monday 10:30-11:30, Thursday 2-3, in EGR 105b

Class Time: MW 9:00 - 10:20 in Seelye 212
Prerequisites: none

TA: Allison Bellew, Jordan Crouser
TA hours: On Wednesday and Thursday before HW is due:
          Wednesday 7-9pm, Jordan, room 212 Seelye
          Thursday 7-9pm, Allie, room 212 Seelye

Text: The Most Complex Machine, A Survey of Computers and Computing, by David Eck, AK Peters Publishing.



Course Overview and Objectives
This course is intended to introduce students to the history, theory and use of digital computers. Students from all majors are welcome - though there is some math and computer programming during the semester, the course is designed assuming students have no previous computer experience. Through the material presented in this course, students will be introduced to:

  1. A brief history of computers
  2. Binary numbers, and understanding how and why computers use them
  3. The mighty transistor - the basic building blocks of computers
  4. Assembly programming - communicating with the computer in its native language
  5. Javascript programming - which you may find you'll like to use beyond this course!
  6. The purpose and use of many standard applications (such as word processors, text editors, spreadsheets and databases)
  7. A better understanding of how the computer does everything you direct it to do.
A great number of topics are discussed in this seven week period, with the purpose not to explore any one topic fully or in depth. Rather the purpose is to provide a high level view of how a computer works - from the most fundamental hardware component (the transistor) through the sophisticated programs we all use every day (such as word processors). Hopefully this first look at all these topics will encourage students to take additional courses in areas that are of most interest.


There are weekly homework assignments which will expand upon the class material and in-class exercises. Homework must be neatly typed with your name, and is due before the beginning of class (9:00am) on the day indicated.

There are weekly, take-home quizzes that focus on the reading and in-class discussions. These quizzes will be available on the course webpage by Monday each week, and are due by midnight (via e-mail) on Sunday the following week. The material covered on each quiz will be from the previous week (for example, the quiz due on September 17 will be based on material from the readings in the text and from class on September 10 and 12). You can use any book or reference material you like for the quizzes (though none other than the text and class notes should be needed!) You may not discuss the quizzes with any person.

Final Paper
There is a final research paper to be done on a topic of current interest in computer science or computer engineering. Chapters 9 through 12 of the text may provide some ideas for the paper. Possibilities could include supercomputing, flash memory, phontonic memory, electronic paper, voice recognition and many more. Topics can be selected from journals (Wired, MIT's Technology Review) and online sources (You could start scanning the 'Sci/Tech' news link on Google now, and you'll have a good chance of coming across an interesting topic). The site How Stuff Works has a wealth of information and is likely to give you additional ideas as you browse through their suggested links to your initial topic. The same holds for the following (which are slightly more along the lines of dictionaries/encyclopedias, but also have good articles, descriptions, and ideas):, Foldoc, Wikipedia, and Webopedia.

Note that you need to have selected your topic by September 19 (you can change your topic later if needed), and have an outline and list of references by October 3 (1 week before Fall Break). Each student will make a short, informal presetation to the class on your paper either October 22 or October 24 (the topics tend to be quite interesting, and this way everyone gets to hear each other's ideas).

There are no exams.

Grades in this course are designed to represent your achievement of the objectives listed above. The course components that will make up your grade are listed below. Note that class participation is a significant part of the grade. This element includes attendence, and also evidence of preparation for class discussions (especially toward the end of the course).

Homework sets
Class particpation
Final Paper

Late Policy
All homework assignments are to be submitted at the beginning of class. Late assignments will be penalized at the rate of 5 points for any assignment handed in late, but before 5pm on the day it is due. After that, assignments will lose one full grade per day (10 points per day). However, each student will have one free late assignment (i.e., one assigment can be one day, or partial day, late without penalty).

Honor Code
The weekly homework assignments that you submit must be your own work. You are encouraged to discuss the problems with your classmates and TAs and work on them together, but each student must work out her own solutions. It is not okay to copy answers from another student's homework - doing so is a violation of the Honor Code. Note that it is a violation of the honor code to 1) use or copy another student's work, and 2) provide another student with your work. Do not hesitate to ask any questions that you may have concerning the honor code!


CSC 103 Class and Assignment Schedule, Fall 2004

Week Topic Reading Assignment *DUE*
Sept 10 Course Introduction:
- Introduction to Computers;
- Course Topics
- Binary numbers and Boolean algebra
Chapter 1 (of textbook),
Article on Computer Science
ASCII Characters
Sept 12 - Transistors, logic circuits, in-class circuit exercise
- Exercise 1: Building logic circuits
SimCir applet
Copyright 1998-2000 Kazuhiko Arase
(Note, the simulator will not work in Linux)
(Open winzip and then simcir.jar)

Exercise 1: Binary adder circuits
Class slides
Chapter 2 (pp 29-48)
Boolean Logic Tutorial
Digital Logic notes
Sept 17 - The Half & Full Adder
- Video clip: "The Machine That Changed the World"
Class Slides
Chapter 2 (pp 58-63) Quiz 1
Quiz 1 Solution
Sept 19 - Control, control circuits, storage and memory circuits Chapter 3 (skip §3.2.1; Skim §3.2.6) Final Paper
* Paper topic due *
HW 1: Binary adder circuits Due Friday Sept. 21, by 4:00pm to room EGR 105B
Sept 24 - Computer Architecture, fetch-execute cycle; assembly language

The PIPPIN Simulator
Class Slides
Full Adder Circuit
RAM Circuit
  Quiz 2
Quiz 2 Solution
Sept 26 - Continuing with Assembly language and Pippin

Exercise 2: Adding with PIPPIN
(Note, the simulator will not work in Linux)
Class Slides
Decoder Circuit
PIPPIN User's Guide  
Oct 1 - A brief history of computers
- Video clip
- Operating Systems
- Exercise 3: Windows Tour
Chapter 5
A History of Operating Systems
Quiz 3 due by Sunday, midnight
Quiz 3 Solution
Oct 3 - Operating Systems
- A Short History of Computers
- Windows Tour exercise
Chapter 1, §1.3;
Chapter 6 (§6.1.1 concepts are important, specific subroutine names are not; Skip §6.2.2, 6.3.1, 6.3.2, 6.3.3) Haverford Tutorial
Internet Classrooms
iBoost Tutorial
HW 2 due FRIDAY: Pippin
HW 2 Solution
Final Paper outline and references DUE at the beginning of class
- References Formatting Guidelines
Oct 8
Fall Break
  Quiz 4 Due FRIDAY October 12, 4pm to EGR 105B
Quiz 4 Solution
Oct 10 - Programming with Dreamweaver - HTML and Javascript;
- Simple statements and variables, if-else decisions;
- Exercise 4: Example text page 185
- Exercise 5: JavaScript and Dreamweaver
Class Slides
Javascript tutorials: - Quiz 4 - See Above
Oct 15 - Continuing with Javascript programming;
Class Slides
- "The World is Flat" Discussion
- JavaScript & HTML examples:
for loop
while loop
Chapter 9 through page 284; Chapter 10 (skip §10.1.1 & 10.1.2)
Chapter 12 (AI)
-The World is Flat assignment
-"The World is Flat" link
- Bring discussion questions (or short memo) on "The World is Flat" to class
Oct 17 Artificial Intelligence: What is intelligence?
Where is AI now?
AI Is Lost In The Woods Technology Review;
optional, interesting reading
- Bring questions for AI discussion
HW 3: JavaScript due Friday, Oct 19, 4pm to EGR 105B
- HW 3 Solution
Oct 22 Final paper presentations   Quiz 5 Due Sunday, Oct 21 at Midnight;
Quiz 5 solution
Oct 24 Course Summary & Final paper presentations   Papers due by 4pm on Friday Oct 26 to EGR 105B