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: machine-level code and its generation by optimizing
compilers, performance evaluation and optimization, computer
arithmetic, 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 Mondays and Wednesdays 2:45-4:00 in Edmunds 101. See the schedule for details.
Labs will be Mondays 7:00-8:15pm in the Edmunds 219/229.
Eleanor Birrell eleanor.birrell@pomona.edu Edmunds 221 |
Office hours: Mondays and Thursdays, 10am-noon and 1:30-3:30 PDT.
The best way to contact me is by email. I try to respond to all emails within 24 hours. |
Jenna Brandt | Mentor Hours: No mentor sessions after 3/11/2020. | |
Joe Brennan | Mentor Hours: Fridays 8-10am PDT and Saturdays 11-1pm PDT. | |
Gabriel da Motta | Mentor Hours: Tuesdays and Sundays 6-8am PDT. | |
Adam Lininger-White | Mentor Hours: Wednesdays 10-noon and Fridays 1-3pm PDT. | |
Douglas Webster | Mentor Hours: Tuesdays and Sundays 3-5pm PDT. |
There will be seven assignments in CS 105. These assignments are
supposed to be fun and challenging; they really are the core of the
class. Most assignments will be due at 5pm on Fridays. 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. It is your
responsibility to complete the assignments and turn them in on time.
You get seven 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. Note: Weekends only
consume one late day, so anything submitted after 5pm on Friday but
before 5pm on Sunday will be considered one day late.
All laboratory exercises will be done—and graded—on
pom-itb-cs2.campus.pomona.edu, a machine configured for this class.
Everyone registered should have an account when classes begin.
Many assignments will not work on other machines. Some assignments
might seem to work, but will break when we try to grade them. Unless
explicitly told otherwise, do all your work on this machine. You have
been warned.
There will be one midterm exam and one final exam in this course. The midterm will be held in class on March 11. Details of the final exam TBA.
Finishing all the assignments successfully is required to
pass the class. After that, grades are computed on a point basis, as
follows:
Assignments: 45%
Midterm: 20%
Final Exam: 30%
Participation: 5%
In general, collaboration is encouraged in this course. This means
that you may discuss approaches to solving problems with anyone in
this class, including faculty and TAs. As specified in the
department policy, you may help, or receive help, in using systems
and tools, in debugging code, and in working with high-level design
issues. However, using material from any external source—web page or
person or book—is forbidden. The actual solutions to the laboratory
exercises and the code you submit must be your own and your
partner’s. Except for material from the textbook or lecture, you may
not copy, retype, view, or share a copy of any file. If you have any
questions about what is appropriate or inappropriate collaboration,
please speak with the instructor. When in doubt, credit your sources.
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.
There will be stringent penalties for violations of academic honesty,
up to failure in the course.
Pomona College is committed to providing equal opportunity for
participation in all programs, services and activities. Requests for
accommodations may be made by contacting the Disability Coordinator
on your home campus. At Pomona College, that person is Associate Dean
of Students Jan Collins-Eaglin. Pomona College’s policy on disability
accommodations can be found at the Dean of Student’s website.
Accommodation forms must be submitted and accommodations agreed upon
by the last day to add classes, or within five days of the date on
which the form was signed by an appropriate dean, whichever comes
later. Many accommodations will be handled through the Student
Disability Resource Center in the Tranquada Student Services Center.