Department of Computer Science
Middlebury College
CS 150 - Computing for the Sciences
Spring 2014
instructor: Dave Kauchak
e-mail: [first_initial][last_name]@middlebury.edu
office hours: MBH 635
M 3-4pm
T/Th 10-11:30am
and by appointment
time:
A: MWF 10:10am-11:00
B: MWF 11:15-12:05pm
location: MBH 505
web page: http://www.cs.middlebury.edu/~dkauchak/classes/cs150/ (or go/cs150)
Lab Tutor Schedule: Sun-Wed 8-10pm in MBH 505
ASI (Colby Horn): M/W 1:30-2:30pm, T/Th 1:30-3:30pm
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 |
2/10 | admin, intro to CS and Python | Ch 1-1.2, 2-2.3 | | |
2/12 | comments, functions | Ch 2.4-2.9 | set 1 - solutions | Lab prep 1 |
2/14 | Lab 1 | | | |
2/17 | more functions | Ch. 3 | set 2 - solutions | |
2/19 | turtle graphics, randomness | Ch. 4-4.1 | set 3 - solutions | Lab prep 2 |
2/21 | Lab 2 (No class) | | | |
2/24 | strings and objects | Ch 4.3 | set 4 - solutions | |
2/26 | more strings | Ch 6-6.1 | set 5 - solutions | Lab prep 3 |
2/28 | Lab 3 | | | |
3/3 | conditionals | Ch 6.2-6.4 | set 6 - solutions | |
3/5 | more conditionals, while | Ch 7.2-pg. 143 | set 7 - solutions | Lab prep 4 |
3/7 | Lab 4 | | | |
3/10 | lists | Ch 5-5.5 | set 8 - solutions | |
3/12 | lists, files | Ch 5.6-5.8, 5.10-pg. 102 | set 9 - solutions | Lab prep 5 |
3/14 | Lab 5 | | | Test project 1 |
3/17 | objects | Reading catch-up | set 10 - solutions | |
3/19 | midterm review sample questions | - | set 11 - solutions | |
3/21 | Lab 6 -- work session | | | |
3/24 | NO CLASS | | | |
3/26 | NO CLASS | | | |
3/28 | NO CLASS | | | |
3/31 | sets | Ch 4.2, 9.1 | <--do reading | |
4/2 | dictionaries | Ch 9.2-9.4 | set 12 - solution | Lab prep 7 |
4/4 | Lab 7 | | | |
4/7 | matplotlib | - | set 13 - solutions | Lab prep 8 |
4/9 | Lab 8 | | | |
4/11 | NO CLASS | | | |
4/14 | modules | Ch 12.1 | set 14 - solutions | |
4/16 | Terminal, files, URLs | Ch 8 | set 15 - solutions | Lab prep 9 |
4/18 | Lab 9 | | | |
4/21 | recursion | Ch 4.9, 4.11 from "Optional" book linked above | set 16 - solutions | |
4/23 | more recursion | - | set 17 - solutions | Lab prep 10 |
4/25 | Lab 10 | | | |
4/28 | matlab basics | | set 18 - solutions | Test Project 2 |
4/30 | matlab programs | | Finish matlab basics through section 5 | Lab prep 11 |
5/2 | Lab 11 | | | |
5/5 | sorting | Ch 11.3-11.5 | set 20 - solutions | |
5/7 | representing numbers | Ch 10 | set 21 - solutions | |
5/9 | Work session | | | |
5/12 | Final exam review sample questions | | | |
Midterm: Thursday, March 20 7:30-9:30pm in MBH 220
Final exam:
Thursday, May 15 9am-12 in MBH 505 or
Friday, May 16 7-10pm in MBH 505
Resources