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, 3 | Python basics |
4, 5 | lists and loops |
6 | I/O and modules |
7 | sets and dictionaries |
8 | recursion |
9 | large data sets |
10 | other programming languages |
11, 12 | science applications |
Handouts, announcements, etc.
All handouts will be distributed on the course web page. This will include lecture notes/slides, 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
- 15% Midterms
- 25% Final
- 25% Test projects (10% + 15%)
- 5% Quizzes
- 5% Participation
- Assignments -
Approximately every week, you will have an assignment. These assignments will mostly consist of a programming component, though they may also have a written part. The assignments will typically be due on Tuesday at 11:59pm.
- Midterms - We will have one midterm in the evening. Date time and location are 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. 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 short, in-class quiz based on the assigned problems. If you have looked at the problems before hand, 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. Please resist the temptation to use the computers for other purposes (e-mail, IM, web browsing, games, etc.).
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.