According to the Computer Science course descriptions:
This pair of classes are architected in a somewhat-unusual fashion: both share a common theory lecture, once a week. In addition, you must register for a lab section, where language-specific content is taught.
NOTE: The office hours listed below are not valid for reading week. See this post for more information.
Janak J Parekh Email: Office: 608 CEPSR (the building immediately west of Mudd) Office hours:
|
Suhit Gupta Email: Office hours:
|
Maryam Kamvar Email: Office hours: |
William Beaver Email: Office hours:
|
Rob Tobkes Email: Office hours: |
Classroom: 207 Math
Class time: T 11:00am-12:15pm
Registrar info, including call number: [ W1003 ] [ W1004 ]
Taught by: Janak J Parekh
W1113, for CS1003: |
W1114, for CS1004:
|
There are three textbooks. The first one is required for both CS1003 and CS1004, while the other ones are language-specific. All three textbooks will be available from Papyrus Bookstore, located on the southwest corner of 114th and Broadway. Note that you need to go down the stairs on 114th to the computer section (the upper section may be undergoing renevation, but the downstairs is open). The regular Columbia University bookstore does not have the books, so don't go looking there. Alternatively, I provide Amazon links below.
Brookshear, J. Glenn. Computer Science: An Overview,
7th Edition. Addison-Wesley, July 2002. ISBN: 0201781301; Amazon link. Required for both CS1003 and CS1004 students. | |
Oualline, Steve. Practical C Programming, 3rd Edition. O'Reilly, August 1997. ISBN: 1565923065; Amazon link. Required for CS1003 students only. | |
Bishop, Judith. Java Gently: Programming Principles Explained, 3rd Edition. Addison-Wesley, January 2001. ISBN: 0201710501; Amazon link. Required for CS1004 students only. |
There are three major components to a grade in this course: homeworks, midterm, and the final.
In other words, all three components are extremely important, but homeworks are especially significant. Class participation is also strongly urged. While there is no numerical grade attached to it, as neither participation nor attendance is strictly required, it's in your interest to make an acquaintance with me, especially if you're on the "borderline" between grades at the end of the semester. I may also give some bonus point opportunities on homeworks; these are added up after the curve at the end of the semester.
I'm a strong believer in the "reasonable person principle" as pioneered by Professor J.L. Gross. Among other things, a reasonable person catches up with material should they miss class, explains answers on homeworks or exams, and does not cheat (more on this later).
Homeworks will generally be divided into two parts: written theory questions and programming questions. You're generally allotted two weeks for each homework; make sure to start early so you can ask questions (or, make sure you have a lot of coffee and crossed fingers if you start the night before it's due). I generally make homeworks due by classtime, so you don't have an incentive to skip out on the next lecture, but this may vary when appropriate.
Consequently, there will be two means of submission: hardcopy and electronic; the first will be required for the written problems, and the latter for the programming exercises. A link to the instructions will be posted here well before the first homework is due.
You are given 3 "late days" that can be used towards homework submissions during the semester. A late day is defined as exactly 24 hours, so if a homework is due at 11:00:00am on Tuesday, you could submit the homework by 11:00:00am on that Wednesday by using up one of your late days.
As an example, you can submit homework 1 two days late and homework 4 one day late -- but all of the remaining homeworks must be on time. Beyond the late days, no late homeworks will be accepted; if you're in such a situation, submit what you have instead of getting a zero. (Please don't come to my office or email me with excuses -- short of a medical, family, or national emergency, I'm not interested in them!)
One catch: you may only use up to two late days on any single homework. That means you could use two for one homework and one for another homework, or one each for three different homeworks, or less -- but not more.
One word: don't. All homeworks and exams in this course are intended to be done by yourself, and with the help of the textbook, teaching assistants, the instructor, and the webboard. You're allowed to discuss problems with classmates, but only in general terms, and you must specifically avoid discussing any solutions.
Moreover, you'd be amazed how easy it is to detect plagiarism or cheating in both written and programming assignments. Cheaters don't spend tremendous amounts of time masking their copy, because that defeats the purpose and it would be simpler to do the homework themselves. Invariably, therefore, they get caught. An infraction is a zero on the assignment or exam and a referral to your academic dean. See this page for more details.
You must also resist the urge to copy code from the web. Obviously, there are many Computer Science classes out there, and while I put every effort into making my homeworks reasonably unique, there are likely to be similar approaches elsewhere. While I obviously can't forbid you to look at other slides or text material, any evidence of plagiarism from other sources will merit similar consequences.
I love feedback! Feel free to come to me during office hours, or make an appointment to discuss anything you like or don't like about the course. I can't always promise that I'll resolve your issues (such as randomly dropping a homework grade), but I do promise I won't take it out on you. I'm here to help you learn and get the most out of the class.