CSC 103: How Computers Work

Spring 2016


  • none

Course Description and Goals

This course introduces students to the essential ideas of computers and computing. We will begin with binary numbers and boolean algebra as the building blocks of computation. Then we will investigate the different components of modern computers and why they look they way they do today. We will cover the fundamentals of both assembly programming and higher level languages. Finally, we will look at computers from the perspective of artificial intelligence and think about what computers and computing might look like in the future. Throughout the semester we will also be viewing each of these topics from a historical perspective. By the end of the semester, students should have a broad sense of what computers are, how they accomplish computational tasks, and how they affect us.


  • Assignments: there will be weekly assignments due Monday at the beginning of class. These will take a variety of forms: pencil and paper computation, small programming assignments, short essays, etc. They will often include the submission of in-class lab work and short quizzes. If paper submission is not appropriate for the assignment, there will be submission on Moodle.

  • Labs and Participation: there will be several in-class labs, which are designed to give students hands-on experience with the material. These will typically be turned in with the weekly assignment. Due to the short nature of the course, attendance and participation (during lecture and labs) is weighted more heavily. There are several ways to participate: asking and answering questions during class, collaborating during in-class labs, and posting on Piazza.

  • Final Project: the capstone for this course is a final project on a topic of the student's choice (related to the course material). This project is designed to expose students to course-based research, and help students become familiar with reading and citing literature. During the last week of classes, each student will give a short oral presentation on their project. The final project writeup will be due during the exam period.


There is no textbook for this class; any readings will be made available online.


  • Logisim (download instructions on the left-hand side)
  • Processing (download instructions on the left-hand side)

Online Discussion

We will be using Piazza for online class discussion, homework help, announcements, clarifications, etc. Piazza can help create a supportive community outside of class, as well as provide quick answers to questions outside of office hours. Our class page is:

Tentative Topics

  • Brief history of computers
  • Binary numbers
  • Boolean algebra
  • Logic gates
  • Building blocks of a computer
  • Assembly programming
  • High level languages
  • Moore's Law
  • File systems and the terminal
  • Standard computer applications
  • Artificial intelligence
  • Computers in the future

Collaboration and the Honor Code

Collaboration is encouraged in this course, but all submitted work must be your own that you have written and understood. If you do used any resources from the internet, they must be clearly cited. If you worked with or received help from another student, list them as a collaborator at the top of your assignment. In general, for each assignment, cite your sources (classmates, books, and online resources), as per the Smith College honor code:

"Smith College expects all students to be honest and committed to the principles of academic and intellectual integrity in their preparation and submission of course work and examinations. All submitted work of any kind must be the original work of the student who must cite all the sources used in its preparation."

The one exception is in-class labs, which may occasionally be in pairs. In this case, partners are expected to work together; "divide and conquer" is not an acceptable strategy.


  • Assignments (including quizzes): 50%
  • Participation: 20%
  • Final project and presentation: 30%

Late Policy

Each student may turn in one assignment up to 24 hours late. Beyond this one extension, late work will not be accepted. Final projects must be turned in before the last day of exams, unless an extension is granted by the deans.

Electronic Devices

During class, you are welcome to use electronic devices in a way that is directly related to the class (taking notes, working on your lab, etc). Please refrain from any other websites or non-class related activities, for the main reason that this is distracting to others sitting around you.

Additional Resources


Thank you to Dominique Thiebaut and Judy Cardell for providing materials for this course.