|Time and Location
||TTh, 9:25-10:40am, SB B-141
Prof. Liang Huang (huang @ cs), Instructor
Kai Zhao (z.kaayy @ gmail), TA
Xiuyi Huang (xiuyi @ cs), Admin
|LH: T 4-5pm, Th 10:50-11:30am, SB A-328
KZ: T 10:50-11:30am, Th 4-5pm, SB A-207b
Additional office hours available before quizzes and exams.
We will not follow any particular textbook, but the following are good references:
- How to Think Like a Computer Scientist: Learning Python
- The Official Python Tutorial
- For questions, please come to office hours (the most effective way), or:
- Newsgroup: email@example.com (by default, questions should be posted here; check first if your question has already been asked before (most likely they have already been answered by other students); try your best to answer other people's questions; we both monitor it regularly).
- Course Email: firstname.lastname@example.org (it will reach both Prof/TA. Only for issues specific to you, e.g. why my code crashes, or I missed class today, etc. We will simply ignore questions that should have been
posted to the newsgroup instead; so if you don't get your email answered in 24 hours, post them to the newsgroup.)
- Do not email Prof/TA individually. We don't read those emails.
By strictly enforcing the use of newsgroup and course email we can also keep track of class participation easily.
||homework (3): 25%, quizzes: 10%x3=30%, midterms: 15%, final project: 22%. class participation: 8%.
the 8% participation is made up of 3% in-class Q/A, 2% newsgroup/office hour participation, 3% catching/fixing bugs in class/exams/HWs and constructive suggestions (each obvious typo: 0.5%, each non-trivial bug or constructive suggestion: 1%, with a cap of 10%, i.e., if you catch 10 serious bugs your can potentially earn up to 15% (rather than the 8%) from class participation alone! (quickest way to boost your grade!)
- homework is all about programming and you will submit to Blackboard.
- no plagiarism: only high-level discussions are allowed (i.e., not relating to a single line of code), and you have to declare who you discussed with.
- late penalty: you can turn in one HW late for up to 32 hours with no penalty. the second/third late HW will receive an automatic zero.
- grading: 80% correctness, 10% efficiency, and 10% style. Correctness is done in a blackbox fashion, so make sure you conform to the strict I/O specifications and pass the sample I/Os. programs which do not comply will receive an automatic zero even if the logic is completely correct.
- we strongly recommend that you use Linux or Mac. Windows users are not supported for technical questions; make sure your code passes sample I/O on a Linux or Mac before you submit. By default you can use the powerful linux machine
- Please use Python 2.7. It is installed on
cs12, and Xiuyi has created account for everybody on it with 2.7 being your default python. Do NOT use Python 3 --
it's a separate experimental branch that is not backward compatible with Python 2.x.
- For each exam (quiz/midterm) you have two chances: the in-class one and the take-home one, the former weighing more than the latter.
- Exam questions are mostly fill-in-the-blanks type, but could also include some theory (e.g. complexity). Most questions are based on HW.
- After each exam I will give you a projected final grade, which becomes more and more accurate towards the end.
- Quiz 1 is on Tuesday 9/4, testing your CS background using Python. Don't worry about Python syntax, but do review datastructures (e.g., why is qsort O(nlogn)?). It'll be based on my slides and HW0. If I believe you are likely to fail in the end I'll tell you right away so that you can drop in time to receive a partial tuition refund.
- Each quiz and exam will be announced at least one week ahead of time.
I will try my best to avoid having quizzes/exams on major religious holidays
but I can not promise to accommodate all requests since they might be conflicting.