Course information

Thanks to my colleagues

Though I have taught this class several times over the past 25 years, the materials I am using this term were developed by my colleague Layla Oesper, who in turn borrowed many ideas from David Liben-Nowell. I am grateful to both of them for their guidance, great ideas, and generosity.

Book

Most of your readings will come from Algorithm Design, by Jon Kleinberg and Eva Tardos. If you have trouble getting a copy, let me know.

Class time during a lingering pandemic

Barring a new surge in the pandemic, we'll be pretty close to normal this term (though I understand that there really is no "normal" for a 20-year-old college student in 2022). My default expectation is that you will attend class and I will not make special arrangements for remote instruction. If you want to learn what's going on in class, you should come to class.

However, there may be times when one or more of you will have to isolate for COVID. On such days, I will fire up Zoom and constrain my visual aids to the screens in Leighton 304 so I can share the screen with anybody coming in via Zoom. The Zoom link for those days will be the one posted on my office hours page.

If you need to Zoom for class, please let me know ahead of time. I won't set up the remote class infrastructure unless I'm aware of a student who needs it.

Masks in class

For now, the CS department has decided to continue last year's masking policies in the various rooms on 3rd Olin. But since CS 252 will meet in Leighton 304, I plan to adhere to whatever the college's policy is at the time. (At this writing on September 10, that means this announcement.) Unless the college policy changes, I do not plan to require masks in class (though of course you are welcome to wear one).

Homework

Grading

Your grade will be determined by your performance on homework (36%), three exams (18% apiece), and the final project (10%).

Late homework

You may submit up to three late homework assignments. To use one of your free late assignments, just hand in the homework up to 48 hours late—no need to tell me ahead of time. You may only use one extension per assignment without prior permission. Once you have used your three late assignments, late work will receive zero credit. If an assignment is late by a small amount (half an hour or less), I won’t count it as late.

Collaboration and use of outside resources

You may collaborate with your classmates on homework assignments to the extent of formulating ideas as a group, but you may not collaborate in the actual writing of solutions, unless the assignment description explicitly allows you to do so.

You must cite all sources, including books, websites, and individuals from whom you obtained ideas. Failing to properly cite your resources is a violation of the academic honesty policy for this class.

You may not consult any materials from any previous offerings of this course or from any other similar course offered elsewhere.

Some examples

If you have any questions about acceptable collaboration or resource uses, ask me.

Office hours

(Here are the times and Zoom link.)

I love talking with you, whether it’s about class content or life as a programmer or tech new & ethics or your personal programming project or your search for internships or Carleton history or a good movie you saw recently or whatever. Really. Conversations with you are the main reason I keep doing this job instead of going out into the software industry.

This thing called "office hours" should probably be called "Jeff's personal invitation to you to come talk". I set aside a few hours per week when I promise to be available for conversation. I'm often available at other times, too, but it depends on what meetings I have to go to, what deadlines I'm working under, etc. So my official office hours are a way for me to clear my schedule for you.

During 2020-2021, Zoom office hours worked really well. They enabled students to get quick answers conveniently, and I saw a larger number of students in office hours than I would normally see in person. So I'm going hold office hours by sitting in my office (Olin 301A) and also firing up Zoom, which will enable you to choose whether you want to talk to me in person or online.

How to get help

Everybody gets stuck. Learning is tough sometimes. When you’re stuck or confused, here are some things you can do.

Rough schedule

I may adjust some things along the way, but the schedule will look more or less like this: