Department of Computer Science
Middlebury College
CS 150 - Computing for the Sciences
Fall 2013
instructor: Dave Kauchak
e-mail: [first_initial][last_name]@middlebury.edu
office hours: MBH 635
M/W 3-4pm
T/Th 10-11am
and by appointment
time: MWF 1:45-2:35pm
location: MW - MBH 538, F - MBH 505
web page: http://www.cs.middlebury.edu/~dkauchak/classes/cs150/ (or go/cs150)
Lab Tutor Schedule: M, T, W 8-10pm in MBH 505
ASI (Colby Horn): M/W 1-3pm, T/Th 10-11am
Computer lab help:
For computer issues in the lab (MBH 505) e-mail cshelp @ middlebury edu.
textbook:
- Required: Practical Programming: An Introduction to Computer Science Using Python. Jennifer Campbell, Paul Gries, Jason Montojo and Greg Wilson. The book is available at the bookstore and online. Make sure you get the first edition (published 2009) NOT the second edition.
- Optional: How to Think Like a Computer Scientist: Learning with Python. Allen Downey, Jeff Elkner, and Chris Meyers. It is available online for free.
general information:
Computer Science 150 is an introduction to the field of computer science geared towards students interested in the sciences. By the end of this course you should have a good basic understanding of how to develop (design, code, and debug) medium-sized programs in Python and will have a working understanding of large data analysis and some of the tools used in scientific computation including Matlab and R.
We do not assume you have had any previous programming experience for this course.
If you're not sure if this class is appropriate for you, I'm happy to discuss it with you.
administrivia
digital submission
Announcements
Schedule
Note: This is a tentative schedule and is subject to change
Date | Topic | Reading | Problems | Other |
9/9 | admin, intro to CS and Python | Ch 1-1.2, 2-2.3 | | |
9/11 | comments, functions | Ch 2.4-2.9 | set 1 - solutions | Lab prep 1 |
9/13 | Lab 1 | | | |
9/16 | more functions | Ch. 3 | set 2 - solutions | |
9/18 | turtle graphics, randomness | Ch. 4-4.1 | set 3 - solutions | Lab prep 2 |
9/20 | Lab 2 | | | |
9/23 | strings and objects | Ch 4.3 | set 4 - solutions | |
9/25 | more strings | Ch 6-6.1 | set 5 - solutions | Lab prep 3 |
9/27 | Lab 3 | | | |
9/30 | conditionals | Ch 6.2-6.4 | set 6 - solutions | |
10/2 | more conditionals, while | Ch 7.2-pg. 143 | set 7 - solutions | Lab prep 4 |
10/4 | Lab 4 | | | |
10/7 | lists | Ch 5-5.5 | set 8 - solutions | |
10/9 | lists, files | Ch 5.6-5.8, 5.10-pg. 102 | set 9 - solutions | Lab prep 5 |
10/11 | Lab 5 | | | Test project 1 |
10/14 | objects | Reading catch-up | set 10 - solutions | |
10/16 | midterm review sample questions | - | set 11 - solutions | |
10/18 | Lab 6 -- work session | | | |
10/21 | NO CLASS | | | |
10/23 | sets | Ch 4.2, 9.1 | <--do reading | Lab prep 7 |
10/25 | Lab 7 | | | |
10/28 | dictionaries | Ch 9.2-9.4 | set 12 - solutions | |
11/30 | matplotlib | - | set 13 - solutions | Lab prep 8 |
11/1 | Lab 8 | | | |
11/4 | modules | Ch 12.1 | set 14 - solutions | |
11/6 | Terminal, files, URLs | Ch 8 | set 15 - solutions | Lab prep 9 |
11/8 | Lab 9 | | | |
11/11 | recursion | Ch 4.9, 4.11 from "Optional" book linked above | set 16 - solutions | |
11/13 | more recursion | - | set 17 - solutions | Lab prep 10 |
11/15 | Lab 10 | | | |
11/18 | matlab basics | | set 18 - solutions | Test Project 2 |
11/20 | matlab programs | | Finish matlab basics through section 5 | Lab prep 11 |
11/22 | Lab 11 | | | |
11/25 | R | Skim over R basics (original here) | set 19 - solutions | |
11/27 | NO CLASS | | | |
11/29 | NO CLASS | | | |
12/2 | sorting | Ch 11.3-11.5 | set 20 - solutions | |
12/4 | representing numbers | Ch 10 | set 21 - solutions | |
12/6 | final exam topics sample questions | | | |
Midterm: Thursday, October 17 7:30-9:30pm in MBH 104
Final exam: Saturday, December 14 2-5pm in MBH 538
Resources