Instructor: |
---|
Dr. Maria Gini EE/CSci 5-213, (612) 625-5582, Office hours: Monday 4:00-5:00 and Friday 1:15-2:15 or by appointment, Email: gini at cs.umn.edu |
Teaching Assistants: | |
---|---|
Richard Barnes Email: barn0357 at umn.edu | Matt Beckman Email: mbeckman at cs.umn.edu |
John Chilton Email: chil0060 at umn.edu | Alex Dean Email: dean0131 at umn.edu |
Tae Hyun Hwang Email: thwang at cs.umn.edu | Michael Rose Email: rosex232 at umn.edu |
Matt Soukup Email: souku024 at umn.edu | Shana Watters Email: watters at cs.umn.edu |
What | Time | Place |
---|---|---|
Lectures: | MWF 2:30-3:20pm | EE/CS 3-210 |
Lab Sec 002: | Th 8:00am-9:55am | EE/CS 1-260 |
Lab Sec 003: | Th 10:10am-12:05pm | EE/CS 1-260 |
Lab Sec 004: | Th 12:30pm-2:15pm | EE/CS 1-260 |
Lab Sec 005: | Th 2:30pm-4:25pm | EE/CS 1-260 |
Lab Sec 006: | Th 4:40-6:35pm | EE/CS 1-260 |
Abelson and Sussman, Structure and Interpretation of Computer Programs, 2nd edition McGraw Hill Book Company, 1996.
"The revised (five times) Scheme report" (pdf) or (html). This is the official definition of Scheme and the best place to find a precise description of all the system defined procedures in Scheme.Hailperin, Kaiser, and Knight, "Concrete Abstractions", PWS, 1999. This is a full fledged textbook on Scheme with many examples and exercises. Highly recommended.
D. P. Friedman and M. Felleisen, "The Little Schemer", Fourth Edition, MIT Press, 1996. An excellent booklet which takes the reader through a sequence of exercises in increasing order of complexity. Highly recommended.
R. Kent Dybvig, The Scheme Programming Language, 1996, Prentice-Hall. An online book, useful for the syntax and examples of how to use system defined procedures.
Allen B. Downey, Jeffrey Elkner and Chris Meyers Learning with Python, from ibiblio.org/obp/thinkCS/python/english/Phyton Tutorial by Guido van Rossum.
Python for Lisp Programmers, by Peter Norvig, Director of Search Quality at Google.
We will also use Python. Python is in the public domain and widely available for Unix, Linux, and Windows.
Week | Dates | Topics | Chapter | Pages | ||
---|---|---|---|---|---|---|
1 | Jan 17-19 | Overview, Scheme Intro, Expressions | 1.1 | 1-25 | ||
2 | Jan 22-26 | Procedures and Name Scope | 1.1-1.2 | 26-50 | ||
3 | Jan 29- Feb 2 | Recursion and Iteration | 1.2-1.3 | 50-66 | ||
4 | Feb 5-9 | Data Abstraction, Pairs, Lists | 2.1-2.2 | 79-104 | 1st homework due Monday Feb 5 | |
5 | Feb 12-16 | Procedures as parameters and as return values | 1.3, 2.2 | 66-78, 105-107 | 2nd homework due Monday Feb 12 | |
1st In Class Quiz: Monday Feb 12 |
||||||
6 | Feb 19-23 | Hierarchical Data, Sequences, Mapping and Filtering, Design Patterns | 2.2 (omit 2.2.4) | 107-126 | ||
1st Midterm exam: Monday Feb 19 |
||||||
7 | Feb 26-Mar 2 | Symbolic Data, Sets, Trees, Huffman Coding | 2.3 | 142-169 | ||
8 | Mar 5-9 | Multiple Representations of Data | 2.4 | 169-187 | ||
9 | Mar 19-23 | Assignment and Local State | 3.1 | 217-236 | 3rd homework due Monday March 19 | |
10 | Mar 26-30 | The Environment Model | 3.2 | 236-251 | ||
2nd In Class Quiz: Monday March 26 | ||||||
11 | Apr 2-6 | Mutable Lists, Queues, Tables | 3.3 | 251-273 | ||
2nd Midterm exam: Monday April 2 | ||||||
12 | Apr 9-13 | Agenda, Constraints | 3.3.4 | 274-285 | ||
13 | Apr 16-20 | Python | 4.1 | 359-393 | ||
14 | Apr 23-27 | Python | 4th homework due Thursday April 26 | |||
15 | Apr 30-May 4 | Python | 5th homework due Thursday May 3 | |||
Final Exam: Wednesday May 9, 1:30-3:30 |