CS105 - Fall 2021

Course description:

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, 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.

Instructor:

Prof. Beth Trushkowsky

Meetings:

Sec 1: Lecture M, W, 11:10-12:25pm, SHAN 3485

Sec 2: Lecture M, W, 1:20-2:35pm, SHAN 2454

Lab (both sections) F, 1:20-2:35pm, McGregor 203-204

Texts:

Computer Systems, A Programmer's Perspective, 3rd Edition, by Randal E. Bryant and David O'Hallaron, Prentice Hall, 2015

Optional: The C Programming Language, 2nd Edition, by Brian Kernighan and Dennis Ritchie, Prentice Hall, 1988

Grades:

Labs 30%

Class participation 5%

Quizzes 15%

Midterm exam 25%

Final exam 25%

Make up policy:

If you are sick or have a planned absence from class for academic reasons, notify me as soon as you know you will miss class and I will make alternate arrangements for quizzes. However, the lowest quiz score of the semester is thrown out, so in essence you get one free missed quiz.

Late policy:

You can use one "late day" on each lab assignment to submit that assignment at most 24 hours late. Late days do not accumulate throughout the semester. To use a late day, email the professors before the assignment is due. Late lab work is generally not accepted after you have used up your late day. Certified emergencies will be considered on an individual basis.

Lab work groups:

  • You must work in teams (usually 2 people) unless alternate arrangements have been made with the instructor

  • You must do all work with your partner(s)

  • Teams will be reassigned once during the semester

Honor code in cs105:

All students in cs105 are expected to conform to HMC's honor code. Please accept these conditions here: HMC's honor code. In CS105, specifically, other than with your lab partner you may not:

  • share code by copying, retyping, looking at, describing verbally, or supplying/receiving a file

  • coach others or be coached by others on the specifics of a solution; e.g. the "trick" to solving a problem

  • search online for a solution

  • refer to solutions from previous semesters of CS105 or other courses

In short, all work you submit must be based on what you learned in class and from the text, what you were told by a professor or a grutor, and/or what you and your partner(s) deduced/discovered on your own.

Accessibility and Accommodations

HMC is committed to providing an inclusive learning environment and support for all students. As we return back to in-person instruction, we recognize that the challenges facing students may be different and student accommodation needs may change. Students with a disability (including mental health, chronic or temporary medical conditions) who may need accommodations in order to fully participate in this class are encouraged to contact the Office of Accessible Education at access@g.hmc.edu to request accommodations. Students from the other Claremont Colleges should contact their home college's Accessible Education officer.