MiddSIP Syllabus: Summer 2019 Last updated on 2019-07-16 17:53:53 -0400

When and Where
Monday 7/15/2019: 9:15 AM - 12:15 PM in 75SHS 203
Wednesday 7/17/2019: 9:15 AM - 12:15 PM in 75SHS 203
Michael Linderman
75SHS 216
Office Hours
Tuesday 7/16 & Friday 719 4:15-6:00PM
Or by appointment
Musab Shakeel (7/16/19 and 7/18/19 from 7:30-9:00 PM in 75SHS 203)
Frequent Links
Python documentation


MiddSIP is a condensed version of the first two weeks of CSCI150. CSCI150 is an introduction to the field of computer science geared towards students interested in the sciences. No previous programming experience is assumed. At the completion of CS150, you will:

  1. Be able to solve computational problems with procedural statements (assignment, operators, conditionals, loops), functions and objects
  2. Be able to design, implement and debug medium size programs in Python
  3. Have a working understanding of other tools used in scientific computing, e.g. R
  4. Be able to analyze and apply basic algorithmic techniques, such as recursion

If you aren’t sure which CS course is the right course for you, please discuss it with me. I am happy to do so!

Schedule: (subject to change)

Date Topics Reading
7/15 Introduction, expressions, variables; Functions TP1, TP2; TP3
Assignment 1: Functions (Due 9:00AM 7/17)
7/17 Quiz (covering Python syntax, operators, functions and types) (cheatsheet)
Practice Problems (solution)
7/17 Comments, constant, modules; Loops TP4
Assignment 2: Turtle (Due 9:00AM 7/20)



Think Python: How to Think Like a Computer Scientist (TP) (free!)


Thonny IDE (free!)

Late Policy

Except under extenuating circumstances or when otherwise specified, I will not accept late assignments. All submissions will be eligible for partial credit, so please make sure to turn in whatever you have completed before the deadline.


We will have two 3-hour sessions. Part of each session will be lecture, part will be hands-on activities. In addition, there will be homework that will require time additional time outside of lab. You will submit your programming assignments online via Gradescope. There will also be a short (15 minute) paper-based quiz at the beginning of the second session. This quiz will be similar to the weekly quizzes in CSCI150.

Honor Code

From CSCI150 and so not all of this is relevant, but you should review the policy in its entirety

You are encouraged to discuss material from the lectures and textbooks with your classmates. However, the work that you turn in must be completed independently, unless an assignment is explicitly designated as one in which collaboration is permitted.

In particular, your work must not be based on information obtained from sources other than those approved for the course (i.e., the textbooks, web pages linked from the course web pages, and materials provided in lecture). An example of an impermissible “other source” is searching online for relevant code.

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 (and you have both turned in your submissions). You may, however, use any code that I provide to you or that comes from the textbooks, as long as you acknowledge the source. You are allowed to obtain help with your code from the course tutors. Alongside manual inspection, I may use automated tools for detecting software similarity.

For the weekly assignments: You should be designing and coding your lab solutions and solving problem sets on your own, with help from the tutors and instructors if desired. You may help a classmate with syntactic errors, e.g. “Python is reporting a NameError”, but not logical errors, e.g. “My program doesn’t produce the correct result”. Should you be working with someone else, you may not provide them with suggested code nor may you copy their code into your program. You are encouraged to 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 you to ask questions, but reserve the right not to answer, just as you would expect during an exam.

If you are working with others on an lab assignment, I suggest the following procedure: Spend as much time as you need working with others to understand the assignment. When you’re ready to start on your own take a break and then go back and write your programs without the notes or other materials you used while working with the others, including any programs you wrote with others outside of class assignments. 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, permitted resources, etc. please ask!


Students who have Letters of Accommodation 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. For those without Letters of Accommodation, assistance is available to eligible students through Student Accessibility Services. Please contact Jodi Litchfield or Michelle Audette, the ADA Coordinators, for more information: Michelle Audette can be reached at maudette@middlebury.edu or 802-443-2169 and Jodi Litchfield can be reached at litchfie@middlebury.edu or 802-443-5936. All discussions will remain confidential.