This course provides a programmer’s view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability, and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, security, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: data representations, computer arithmetic, machine-level code and its generation, performance evaluation and optimization, memory organization and management, processes and concurrent computation, and networking technology and protocols.

Prerequisites: CS 54 and 62.

Instructor

Anthony Clark Anthony Clark
Edmunds 127
Office hours:
  • Wednesdays from 9 to 11
  • Fridays from 9 to 11


Please use Slack for class-related communication.

TAs

Ben Luo Mentor Hours: Sun 9:30 to 11:30 AM in CS Lounge and Wed 7 to 9 PM in CS Lounge
Chloe Sun Mentor Hours: Fri 4 to 6 PM in CS Lounge and Sun 7 to 9 PM in CS Lounge
Claire LeBlanc Mentor Hours: Sun and Tue 7 to 9 PM in CS Lounge
Ino Tsichrintzi Mentor Hours: Mon 5 to 7 PM and Wed 4:30 to 6:30 PM in CS Lounge
Ziang Xue Mentor Hours: Tue and Wed 7 to 9 PM in CS Lounge

Lectures

Lectures take place on Mondays and Wednesdays 1:15 PM to 2:30 PM Pacific Time in Edmunds 101. See the schedule for details.

Lab Sessions and Assignments

Labs will be Fridays 11:00 AM to 12:15 PM Pacific Time in Edmunds 105. You will start assignments during lab sessions.

You will complete all assignments with a partner, but it is your responsibility to complete the assignments and turn them in on time.

We will have twelve homework assignments. Assignments will be released Thursdays and are always due the following Wednesday.

Checkpoints

We will have twelve checkpoints this semester. Checkpoints are essentially single-question exams that you will take at the beginning of each lab session. Checkpoints are graded as "Nailed It" / "Not Yet."

If you're checkpoint is marked as "Not Yet," then you must:

  1. Schedule a time to meet with me in person
  2. Explain why your answer did not receive full credit
  3. Provide a corrected answer
  4. Create a new question covering the same topic
  5. Walk me through your new question and your answer

You do not have a limit to the number of times you can perform a correction.

Readings

We will have weekly reading/watching/listening materials. You are expected to consume these prior to class on Wednesdays and answer a short questionnaire.

Grades

Grades are computed as follows:

  1. A Requirements
    • 12/12 assignments marked "Nailed It"
    • 12/12 checkpoints marked "Nailed It"
    • 12/12 questionnaires completed
  2. B requirements
    • 12/12 assignments marked "Nailed It"
    • 10/12 checkpoints marked "Nailed It"
    • 10/12 questionnaires completed
  3. C Requirements
    • 10/12 assignments marked "Nailed It"
    • 9/12 checkpoints marked "Nailed It"
    • 9/12 questionnaires completed
  4. D Requirements
    • 10/12 assignments marked "Nailed It"
    • 8/12 checkpoints marked "Nailed It"
    • 8/12 questionnaires completed

You will have multiple attempts to pass assignments and checkpoints.

Accommodations

If you have a disability (for example, mental health, learning, chronic health, physical, hearing, vision, neurological, etc.) and expect barriers related to this course, it is important to request accommodations and establish a plan. I am happy to help you work through the process, and I encourage you to contact the Student Disability Resource Center (SDRC) as soon as possible.

I also encourage you to reach out to the SDRC if you are at all interested in having a conversation. (Upwards of 20% of students have reported a disability.)

Academic Honesty and Collaboration

I encourage you to study and work on assignments with your peers (unless otherwise specified). If you are ever unsure about what constitutes acceptable collaboration, please ask!

For more information, see the Computer Science Department and the Pomona College policies.

I take violations of academic honesty seriously. I believe it is important to report all instances, as any leniency can reinforce (and even teach) the wrong mindset (“I can get away with cheating at least once in each class.”).

Course materials provided to you, including graded papers and exam summaries, are for your use in the course. You are encouraged to use them to the fullest extent, but you are not to publish them or distribute them to other people or organizations.

Academic Advisory Notice

I will do my best to update you if I think you are not performing at your best or if you are not on pace to pass the class. I will first reach out to you and then use the system built-in to my.pomona.edu that will notify your advisor so you are encouraged to work with a mentor or advisor on a plan.

Attendance

I expect you to attend every class, but I will not penalize you for missing class. Know that there is a strong correlation between attendance and grades, and you will almost certainly be indirectly penalized.

You are responsible for any discussions, announcements, or handouts that you miss, so please reach out to me. If you need to leave class early for any reason, please let me know before class begins so that I am not concerned when you leave.

Late Submissions

Late assignments will not be accepted. However, if you plan ahead you can ask for an extension prior to the assignment deadline (at least four days).

Unless requested ahead of time, some assessments (e.g., exams) cannot be completed after the class period in which they are scheduled.

Covid Safety Awareness

During the past academic year, we built community remotely, and this year we will build on the pedagogical improvements we acquired last year. For example, we might meet on zoom from time to time, or hold discussions online.

Our health, both mental and physical, is paramount. We must consider the health of others inside and outside the classroom. All Claremont Colleges students have signed agreements regulating on-campus behavior during the pandemic; in the classroom, we will uphold these agreements. We need to take care of each other for this course to be successful. I ask you therefore to adhere to the following principles:

  • there is a mask mandate for all indoor spaces on campus. You must wear a mask for the entire class; eating and drinking are not permitted. Your mask must cover your mouth and nose. The college has zero-tolerance for violations of this policy, and our shared commitment to the health and safety of our community members means if you come to class unmasked you will have to leave class for the day.
  • Class attendance is required, but if you need to miss class for health reasons, concerning symptoms, suspected Covid exposure, unexpected dependent care, technology issues, or other emergency reasons I will work with you. Let me underscore this: please make your decisions always based on health, safety, and wellness—yours and others—and I will work with you at the other end. Take any potential symptoms seriously; we’re counting on each other.
  • When not in class, avoid closed public spaces, and if you can’t avoid them: wear your mask properly, wash your hands, and maintain social distance.
  • If you, or a family member, are experiencing hardship because of the pandemic, talk to me or to someone in the Dean of Students office. You are not alone during this time.

The pandemic is fast-moving, and we might have to adjust these principles as the semester evolves. I am always happy to receive your feedback to make this course work.

Let’s care for each other, show empathy, and be supportive. While there will likely be some community transmission and breakthrough infections, together, we can minimize their effect on our community and on your learning.

© Eleanor Birrell and Anthony Clark, 2022