This course provides an introduction to the field of computer science through a
survey of major subfields. We will cover fundamental topics in history and ethics of computer science, computer systems, mathematical foundations, algorithms,
theory of computation, programming languages, and machine learning. The course assumes basic familiarity with programming but it will
introduce more advanced programming concepts, such as recursion. Programming concepts will be taught in Python. Assignment reflections will be written in LaTeX.
This course is a prerequisite for most upper level Computer Science courses.
Co-requisites: CSCI 050 PO. Students with prior programming experience may skip CSCI050
with permission from the Computer Science department chair.
Both sections meet for lectures on Tuesdays and Thursdays in Edmunds 114. Section 01 meets from 01:15-02:30 pm and Section 02 from 02:45-04:00 pm . See the schedule for details.
Saturday, 1-2 pm (Miriam)
Sunday, 6-8 pm (Vika)
Monday, 6-8 pm (Tahi)
Tuesday, 8-10 pm (Aysegul)
Wednesday, 4:15-6:15 pm (Miriam)
Thursday, 6-10 pm (Jinyao, Stefanie, Aysegul)
Labs are mandatory and take place on Fridays at 1:15-2:30 p.m. or 2:45-4:00 p.m. in Edmunds 229. Please attend the lab section you are enrolled in.
![]() |
David Kauchak ("Dr. Dave") David.Kauchak@pomona.edu Edmunds 224 Office Hours: M 9-11am, W 2:30-4:30pm. |
![]() |
Alexandra Papoutsaki Alexandra.Papoutsaki@pomona.edu Edmunds 222 Office Hours: TR 10am-noon. |
![]() |
Miriam Brody |
![]() |
Jinyao DeSandies |
![]() |
Stefanie Nguyen |
![]() |
Aysegul (Aisha) Kula |
![]() |
Victoria (Vika) Prokopenko |
![]() |
Tahi Wilton Geary |
See the
assignments schedule for details.
Labs for this course will be held on Friday afternoons from 1:15-2:30 p.m. for Sections 1 and 2 and 2:45-4:00 p.m. for Section 3 and 4 in Edmunds 229. The lab is equipped with some iMac computers but you are encouraged to use your own laptops.
Attendance of the lab sessions is mandatory. Please arrive well prepared for the lab, having read the description thoroughly and having completed the required deliverables that are due at the beginning of the lab.
Labs will introduce you to the weekly assignment.
There will be two types of weekly programming assignments: individual and partner assignments. All assignments assigned during the semester should be completed following the Academic Integrity guidelines.
There will be about 10 assignments due, ranging from programming assignments, to mathematical proofs, and circuit design, and will also include a reflection portion to provide us with feedback. Along with your score, you will receive written comments by the course staff.
Weekly assignments will generally be due on Thursdays evenings at 11:59 p.m.
You get four late days that may be used at your discretion to submit
assignments after the deadline with no penalty.
Notify the instructors before the deadline that you plan to use a late day.
For team
assignments, 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.
There will be two midterm checkpoints and one final exam in this course. Checkpoints will take place during class time on Feb 24th and April 14th. For Section 1, the final exam will take place on Wednesday, May 13th, 2-5pm. For Section 2, the final exam will take place on Friday, May 15th, 2-5pm. Please make travel arrangements accordingly. See the assignments and labs schedule for details.
Finishing all the assignments successfully is required to
pass the class. After that, grades are computed on a point basis, as
follows:
Assignments: 35%
Checkpoints: 30%
Final Exam: 30%
Lab attendance: 5%
In general, collaboration is encouraged in CS51.
This means that you may discuss approaches to solving problems with anyone in this class, including students, faculty, and TAs.
As specified in the Computer Science departmental 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, tool, person, or book—is forbidden. This includes AI tools, such as coPilot and chatGPT.
The actual solutions to the assignments you submit must be your own (and your partner's, if applicable).
Except for material from resources linked on the website or slides, 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 instructors.
When in doubt, credit your sources.
Course materials provided to you, including graded assignments and checkpoint/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. This includes submitting them to AI tools for assistance.
Failing to adhere to these guidelines will result in immediate reporting to the Dean of the Students, a zero in the assignment/exam, and half a letter grade reduction.