CS150 - Administrivia
Course overview
Below is a tentative schedule for the semester. As we progress, I'll update the main page with more detailed information.
Week | Topic |
1, 2 | programming and Python basics |
3 | strings |
4, 5 | lists and objects |
6 | sets |
7 | dictionaries |
8 | modules |
9 | recursion |
10,11 | other programming languages |
12 | concurrency |
Handouts, announcements, etc.
All handouts will be distributed on the course web page. This will include lecture notes, assignments and other handouts. You are responsible for all material and announcements posted on the class web page, so please check it regularly. If this is a problem for anyone, feel free to come talk to me. For time critical announcements, I will use e-mail.
Late policy
Except under extenuating circumstances or when otherwise specified, I will not accept late assignments.
Coursework
- Grade calculation
- 25% Assignments/Labs
- 15% Midterm
- 25% Final
- 25% Test projects (10% + 15%)
- 5% Quizzes
- 5% Participation
- Assignments/Labs -
Almost every week we will have a lab assignment. Labs will occur on Friday. Before lab, you will be required to do some preliminary lab preparation, which will be due at the beginning of lab. The lab assignment will be started in lab, but will often require additional time outside of lab. The lab assignments will typically be due on Wednesday before class starts.
- Midterms - We will have one midterm in the evening. Date time and location will be posted on the course webpage.
- Quizzes - I will assign written problems mostly from the book (specified on the schedule on the course web page) to be looked at before class on the day they are listed. The solutions to all of the problems will also be provided along with the problems. You will not hand in these problems, however, throughout the semester I will give a number of short, in-class quizzes based on the assigned problems. If you have looked at and understood the problems, the quiz should not be a problem.
- Participation - Participation consists of attending class regularly, attending all lab sessions (Friday classes) and of giving evidence that you are actively engaged with the material (asking/answering questions in lecture, coming to office hours, etc).
Honor code and collaboration
I take the honor code and academic honesty very seriously.
You are encouraged to get together in small groups to discuss material from the lectures and text. However, the work that you turn in must be done independently, unless an assignment is explicitly designated as one in which collaboration is allowed.
In particular, your work must not be based on information obtained from sources other than those approved for the course (i.e., the text, web pages linked from the course web page, and materials provided in lecture). You should never copy another students code or solutions, exchange computer files, or share your code or solutions with anyone else in the class until after an assignment is due. You may, however, use any code that we provide to you or that comes from the textbook, as long as you acknowledge the source. Additionally, the tutors are allowed to help you with your code.
For the weekly assignments: you should be designing and coding the labs on your own, with help from the tutors and instructors if desired. You may get help from other non-TA students in order to locate errors, but only errors of syntax, not errors of logic. Should you be working with someone else to find an error, you may not provide them with suggested code nor may you copy their code in your program. You may point out similar examples from the text or lecture notes.
For the two test projects: you should think of these as take-home, open-book tests. As such, you may read your textbook, class notes, and any other source approved by the instructor, but you may not consult other sources (e.g. looking for code online). You may not consult anyone other than the instructor. I encourage the asking of questions, but reserve the right not to answer, just as you would expect during an exam.
If you are working with others on an assignment, I suggest the following procedure: spend as much time as you need working with others to understand the problems. When you're ready to start on your own take a break and then go back and write your programs without the notes you used while working with the others. This will help ensure that you follow both the letter and the spirit of the honor code.
If you are ever unsure about what constitutes acceptable collaboration, please ask!
Computer use during class
Class will be held in a classroom with computers. You may use these desktops (or your laptops) during lecture to take notes or to try out examples. You may NOT use computers for anything else during class (e-mail, IM, web browsing, games, etc.). Students who cannot follow this rule will lose the privilage of computer use during class.
Disabilities accomodations
Students with documented disabilities who believe that they may need accommodations in this class are encouraged to contact me as early in the semester as possible to ensure that such accommodations are implemented in a timely fashion. Assistance is available to eligible students through the ADA Office. Please contact Jodi Litchfield, the ADA Coordinator, at litchfie@middlebury.edu or 802-443-5936 for more information. All discussions will remain confidential.