1 Class structure
1.1 Meetings
Lecture is optional but strongly encouraged.
Lectures are Tuesdays and Thursdays at 9:30am. I will attempt to record all lectures.
I do not schedule review sessions or the like outside of usual class time.
1.2 Tasks
You will be asked to:
complete several homework assignments, which will be mostly programming assignments
complete weekly open-book, open-notes, untimed online quizzes. Generally, quizzes will be due shortly before the first lecture of a week.
complete a written, in-person final during our scheduled final exam time
2 Grading
2.1 Points per Activity Type
Task | Weight | Comments |
---|---|---|
Quizzes | 20% | Drop lowest score |
Homeworks | 60% | |
Final Exam | 20% |
Your final grade is computed based on the percentage of points you have earned and then converted to a letter grade. At the end of the semester, I will decide on a mapping from points to letter grades based on the actual difficulty of homeworks, exams, etc. This mapping will give at least a D- for a 60%, at least a C- for a 70%, at least a B- for an 80%, and at least a A- for a 90%.
2.2 Submitting late
Quiz solutions are released the moment the quiz closes (and the answers may be discussed in the following lecture), and thus quizzes cannot be taken late. Your lowest quiz score is dropped.
Homeworks may be submitted up to 72 hours late (except when otherwise announced). They are given 90% credit between 0 and 72 hours late.
If you have special circumstances for which other extensions (or waiver of penalty for late submission) may be warranted, please contact the professor to discuss why and if other accommodations are also needed.
The final may not be taken late or early without special-case permission.
3 Miscellanea
3.1 Personal accommodations
If you believe that circumstances (illness, religious observations, family emergency, etc.) warrant an change in deadline or some other adjustment, please let me know and we’ll figure out what we can do to accommodate your situation.
If you anticipate issues related to this course due to a disability, you also may want to work with the Student Disability Access Center.
3.2 Professionalism
Behave professionally.
Never abuse anyone, including the emotional abuse of blaming others for your mistakes. Kindness is more important than correctness.
Let our TAs be students when they are not being TAs.
3.3 Honesty
I always hope everyone will behave honestly. I know we all are tempted to do what we ought not; if you do something you regret, the sooner you tell me the sooner (and more leniently) we can correct it.
3.3.1 Cite your sources
Please cite any and every source you consult, other than those explicitly provided by the course itself. Talked to a friend, saw an interesting video, consulted a website, had a tutor? Tell us!
In cases where you submit or show code, please put it an appropriate a comment in your code.
3.3.2 Write your own code
You must write your own code and not write code for others.
Not just type it (though you need to do that too): compose it yourself, as your own original work. This includes not asking for/accepting code from students, stack overflow, generative AI tools, etc. (except if explicitly allowed for the assignment). Beware of looking at other students code or code you find online: it is hard to unsee and can spoil your ability to compose your own solutions!
3.3.2.1 on exceptions for libraries
It is not the intention that students spend a lot of time implementing generic tasks that are not one of the topics in this class. For example, rather than spending a substantial amount of time implementing a priority queue in Python, we would expect students to use something like the Python standard library’s heapq
module.
If the standard libraries (or other libraries/code mentioned in an assignment) don’t provide a convenient option for a similar generic task, we may be willing to grant an exception to allow the use of other libraries or code. We will make these decisions on a case-by-case basis.
3.3.3 Understand what you submit
Working together can help you learn. But make sure you learned! We may ask you to explain aspects of a solution you turn in, and may dock points if it appears you simply copied someone else’s ideas (or just guessed a lot of things until one worked) without understanding them.
3.3.4 No help on quizzes
It would probably go without saying if we didn’t say it, but no assistance may be given or received on any supervised evaluation or online quiz unless specifically announced otherwise by the professor (or another proctor of the evaluation).
However, quizzes (unless otherwise specified) are open book/open notes. You may ask TAs, other students, and consult other resources (reference manuals, stack overflow-like sites, generative AI tools) or help with reviewing related lecture, lab, or reading material, but not to ask specifically about (or look for instances where others asked specifically about) the quiz questions.
3.3.5 Consequences of Dishonesty
If I believe you have acted dishonestly (such as by submitting code that are not yours as if they were yours helping someone else do the same), I will communicate this fact to you and propose a penalty. (Typically, the penalty will be using -100% score on the assignment(s) in question when calculating grades or, in more severe cases, an F
in the course.)
If you have information I lack, please share that with me; I may thereafter change my belief and/or proposed penalty.
This penalty is independent of and may be in addition to any referral to the University Honor System.