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, or CS 60 and 70.
Lectures take place on Tuesdays and Thursdays 1:15-2:30pm in Edmunds 101. See the schedule for details.
Lab section will meet on Fridays 1:15-2:30pm in Edmunds 105.
You must attend the lab section.
|
Sam Thomas samuel.thomas@pomona.edu Edmunds 112 |
Office hours for Fall 2026 are Monday 4-5pm, Tuesday 2:30-3:30pm, Wednesday, 4-5pm, and Thursday 2:30-3:30pm. |
![]() |
Connor Wang | Mentor Hours: TBD |
![]() |
Kai Parker | Mentor Hours: TBD |
![]() |
Nate Wehner | Mentor Hours: TBD |
![]() |
Vika Prokopenko | Mentor Hours: TBD |
There will be ten weekly assignments in CS 105. These
assignments are supposed to be fun and challenging, and they should
help you learn the material covered in this course.
Assignments will generally be released before lab on Fridays and
will be due the following Thurdsy at 11:59pm PT (unless otherwise specified). See the
assignment page for details.
The assignments are done in a pair programming paradigm. Adequate
performance on all
the assignments is required to get a passing grade in the course.
Assignments will be started in the laboratory sessions and will be
completed with a partner. It is your
responsibility to complete the assignments and turn them in on time.
You get ten late days that may be used at your discretion to submit
assignments after the deadline with no penalty. Both you and your
partner must spend a late day available to use one. Further
extensions after you have exhausted all your late days will be
granted only in exceptional circumstances.
All laboratory exercises will be done—and graded—on
itbdcv-lnx04p.campus.pomona.edu, a machine configured for this class.
Everyone registered should have an account when classes begin.
This machine is remotely accessible when connected to Pomona campus
wifi (or ethernet) or when connected to the Pomona VPN.
We will try to make assignments compatible with other machines, but
you might encounter some problems if you are unable to connect. If
this becomes a problem for you let us know.
Finishing all the assignments successfully is required to
pass the class. After that, grades are computed on a point basis, as
follows:
Assignments: 45%
Check-ins: 45%
Participation: 10%
As part of the Pomona CS AI Policy, this class maintains the Tier 0 level of acceptable AI use. Courses in this tier do not allow the use of any AI. Disallowed uses include, but are not limited to, using generative AI tools to brainstorm ideas, find source materials, summarize ideas, create study guides, generate code snippets, images, or videos, revise your writing, or check your work. Tools that automatically flag spelling and grammatical errors as you write are allowed (for example, the spelling and grammar checkers built into Microsoft Word), but not tools that offer suggested revisions of your sentences (for example, Grammarly). If English is not your first language, please ask your instructor about whether tools for translating words or texts between languages are allowed.
The principle behind applying this AI tier is to ensure that your out-of-class help is targeted towards your learning. In general, you are to use your professor and TAs as the primary resource for out-of-class help rather than AI tools.
I am committed to ensuring that everyone can successfully master the material in this course. If you have a disability (for example, mental health, learning, chronic health, physical, 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.) If you have extended time or other exam-related accomodations, you should plan to take the course check-ins at the SDRC. In such cases, I will try to be available to answer any questions via slack; I encourage you to confirm my availability in advance.