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.
Anthony Clark Edmunds 127 |
Office hours:
Please use Slack for class-related communication. |
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 take place on Mondays and Wednesdays 1:15 PM to 2:30 PM Pacific Time in Edmunds 101. See the schedule for details.
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.
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:
You do not have a limit to the number of times you can perform a correction.
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 are computed as follows:
You will have multiple attempts to pass assignments and checkpoints.
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.)
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.
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.
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 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.
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:
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.