Instructor: Jean Herbst
Office: E106, L037 Science Center
Email: jherbst@wellesley.edu
Office Hours:

Introduction
In CS 240 Laboratory, students learn about the foundations of computer systems by experimenting with software and hardware. Lab material coordinates with lecture topics, and will often introduce the student to strategies and tools required for class assignments.

Schedule
The class and office hours are held in L037 in the Science Center.
Lab section 01 meets Monday and Thursday 10:00AM - 12:45PM,
Lab section 02 meets Monday and Thursday 1:00PM - 3:45PM.
Lab section 03 meets Monday and Thursday 4:00PM - 6:45PM.

Requirements
Weekly attendance of class and completion of lab reports and assignments is required. Assume that the labs will usually take the full period to complete.

If you must miss lab because of illness or other valid reason, you must notify the instructor prior to the missed lab and schedule a time to make up the lab. The make-up must occur before the next lab meeting. You should plan to make up or at least start the make-up lab during one of the other lab periods; even if you cannot attend the full period, you must at least start the lab when the instructor is present.

Each week, a lab assignment will be given, to be completed and submitted prior to lab. The lab assignment gives you additional practice for the lab material already covered and/or prepares you for upcoming lab exercises.

Lab assignments are due at the beginning of lab. These assignments will not be accepted late, and will be graded.

A lab report is also due at the end of class each week, describing results of the experiments. Reports should include:

  • The answers to any questions posed in the laboratory exercises,
  • Graphs, waveforms, circuit diagrams,programs, etc., as specified in the laboratory exercises, and
  • Observations and explanations, when relevant (especially when your results do not match those expected).

When working with a partner, students will collaborate on every lab exercise (it is not acceptable to divide the exercises between partners). Partners will submit a single lab report electronically by sharing a Google document with their partner and the lab instructor.

Grading
As stated in the syllabus, the laboratory accounts for 20% of your grade in the course.

Completing all labs is mandatory.

Your grade will be based on your lab assignments and lab reports. Each lab is worth 100 points. For labs in which an assignment is given, 30 of the 100 points will be for the lab assignment, and 70 will be for the lab report. Lab assignments will be graded for correctness, and must be submitted on time to receive credit. If no lab assignment is given, the laboratory report will be worth the full 100 points.


Lab 1 assignment: watch this playlist of three videos about computing history and basic electronic building blocks for digital computation.
Lab 1 notes
Lab 2 assignment
Lab 2 notes
Lab 3 assignment: watch this video about the ALU
Also, print a hardcopy and hand in your answers for exercise 4 from Lab 2 (if you did not get to it in lab, please complete the exercise as a lab assignment).
Lab 3 notes
Lab 4 assignment: watch this video about memory
Also, print a hardcopy and hand in your answers for the Lab 4 assignment
NOTE: this exercise was given at the end of Lab 3, so if you finished it in lab, just print your result.
Lab 4 notes
Lab 5 assignment: watch this video about the instruction set architecture and microarchitecture for a small computer
Print a hardcopy and hand in your answers for the Lab 5 assignment
You can also refer to the Lab 5 notes to help you with the assignment.
Lab 6 assignment
Lab 6 notes
There is no separate written assignment or videos for Lab 7, other then reviewing the material from lecture on procedures and stacks.
Be sure that you have watched through video 6 (needed for lecture preparation for Tuesday anyway).
Lab 7 notes

Lab 8 assignment
Lab 8 notes
Lab 9 assignment
Lab 9 notes
Connect Four Solution
Lab 10 assignment
Lab 10/11 notes
Lab 12 assignment
Lab 12 notes