CS2802, Fall 2020: Course Policies and General Information

Instructor: Joe Halpern, 414 Gates, halpern@cs.cornell.edu, 5-9562

Admin: Randy Hess, 401 Gates, rbhess@cs.cornell.edu, 5-0985;

Classes: Monday, Wednesday, Friday 9:10-10:00, online at this zoom link. (You need to use your Cornell netid.)

Staff and office hours: Can be found here

Prerequisites: The official prerequisite for course is a programming course, but it's not critical. If you are taking CS 1110 or CS 2110 concurrently, that's fine. If not, and you haven't taken any programming courses, speak to Prof. Halpern.

The Big Picture: CS 2802 is an honors course; it covers the same material as CS 2800, but in greater depth. There is more work (in particular, more homework) and it's more difficult, but for those of you who like math and are prepared to put in the work, it should be rewarding. Prof. van Zuylen (who is teaching CS 2800 this semester) and I will try to keep CS 2802 and CS 2800 more or less in synch, so if you're having trouble with CS 2802, it should be relatively easy to drop down. (It may even be possible to do this after the official drop date, Sept. 16, but that will be up to Prof. van Zuylen.) One of the things that makes CS 2802 special is that, because it is a relative small class (by CS standards!), there is much more interaction between the instructor and the students than in typical CS courses. This is going to be an extraordinary semester, and it's not clear yet how it will play out, but I would like to keep that spirit of interactivity as much as possible. That's why I would prefer that all of you turn on your video. I'd like to be able to connect anmes to faces! I would also like to be as accessible as possible. I will stay online on zoom after class for at least 10 minutes each day if you'd like to talk to me about course topics (or anything else related to math and computer science). If that doesn't work, there are also my weekly office hours, and if that doesn't work, just send me an email to arrange a meeting. I also hope that you will interact a lot with each other, since I believe that talking to each other can help you learn the course material better. I am stil thinking about how to best promote that kind of interaction; see below. I am open to suggestions. I realize that this semester won't be easy for some of you. I will try hard to be as flexible as I can. All classes will be recorded; the recordings will be available on Canvas. If you have any issues (about the course content, prelims, homework, whatever), please discuss them with me. In terms of scheduling things like office hours, it will be useful for me to know who is in Ithaca and who is not. For those not in Ithaca, it will be useful for me to know what time zone you are in. Could you please fill in the Google spreadsheet with this information. (In the time zone column, put the time relative to EDT (i.e., Ithaca time , so that, for example, if you are in California, write "EDT -3" to indicate that you are 3 hours behind Ithaca time.) Note that we have a TA in Thailand (EDT +11) and one in China (EDT + 12), so we should have pretty reasonable worldwide coverage.

Text: Mathematics for Computer Science by Eric Lehmann, Albert Meyer, and Tom Leighton is the text, and we'll be following it fairly closely. The most recent version (from June, 2018) can be freely downloaded here (You can find a local version here.) Two useful backup texts, which are good sources for (simple) problems if you need practice, are Discrete Algorithmic Mathematics (3rd edition), Stephen B. Maurer and Anthony Ralston, A. K. Peters and Discrete Mathematics and its Applications by Kenneth Rosen.

Coverage: Discrete mathematics covers a lot of topics, which I'll try to tie together. Many of you will have seen at least some of them in high school, but I suspect we'll be doing things in much more depth. Here is a rough course outline (the fact that a chapter is listed does not mean that we'll cover every topic in the chapter)

Grading: There will probably be two prelims, at a date and in a format to be determined. (They are currently listed as being Tuesday, Oct. 13 at 7:30 PM and Tuesday Nov. 8 at 4 PM, and that's when they'll be if they're in-person, but they may end up being take-homes; stay tuned.) There will also be a final, at a date and in a format to be determined. If you have a conflict with the prelim or exam times (once they're determined), let me know as soon as possible. I don't promise to be able to do something about it, but the sooner you tell me, the more likely it is that I will be able to do something about it. I believe that doing homework regularly is the best way to learn the material, and the grading reflects that. Homework will be assigned weekly, and will count for roughly 25% of the course grade.

Piazza: Please enroll in Piazza for course announcements and discussion (although some will also be posted on the course web page); you will need to use your Cornell netid.

  • Homework will be posted on Piazza and the course home page. Homework is will be handed just just every week on Monday and will be due before class (i.e., before 9 AM) the following Monday. It is possible to hand in homework late (i.e., before 5 PM on Tuesday) for a penalty of 15%. If you've got some homework done by Monday, hand in what you've got, and hand in the rest on Tuesday. The penalty applies only to what's handed in late.
  • Homework will be handed in via Gradescope. Please enroll in gradescope using entry code: MKEZG6. (Do this right away; you won't be able to hand in homework unless you do this.) You will need to hand in a pdf file, but it's OK if you handwrite your answers and then hand in a picture of your solutions. But two issues to keep in mind if you write solutions by hand:
    • Make sure it's legible! It is not the grader's problem to decipher your handwriting.
    • It's also your problem to ensure that you hand in a single pdf file.
    Alternatively, you can use Word or (if you plan to take lots of science/engineering courses) Latex, which is much better than Word for mathematical documents. (There are lots of online Latex tutorials, if you want to learn.)
  • Homework must be handed in on time. To compute the final homework grade, I will drop your two lowest assignments. If you miss handing in an assignment (for emergency, illness, whatever), this will be among those dropped.
  • Homework solutions will be posted on CMS

    Academic Integrity: It's OK to discuss the problems with others, since I believe that you learn by discussing things with others, but you MUST write up solutions on your own, and understand what you are writing. You may not copy any part of someone else's written homework or copy material off the web. To do so is a violation of the Academic Integrity Code. If in doubt as to what's acceptable, please ask!