Section | 1 |
---|---|
Instructor(s) | Shaw, Adam (adamshaw) |
Location | Ryerson 251 |
Meeting Times | Monday 6pm - 8pm Wednesday 6pm - 8pm |
Website: | http://people.cs.uchicago.edu/~adamshaw/mpcs50101-2017/ |
Fulfills | Immersion Programming |
Welcome to MPCS 50101! This course will provide students with a fast-paced, multifaceted, rigorous introduction to programming in the Java programming language, while building an awareness of Computer Science more broadly. No prior programming experience is assumed.
The instructor for Immersion Programming in the summer of 2017 is Adam Shaw, Senior Lecturer in Computer Science at the University of Chicago.
Course content will appear both at this site and on piazza. As such you will need to register for a piazza account. You will receive an invitation, with registration instructions, to the piazza course site once the course begins.
The specific goals of the course are these:
• to learn to construct algorithms to solve common problems,
• to learn to express algorithms precisely as computer programs,
• to learn to refine and improve programs by an iterative process, including by identifying errors carefully and fixing them,
• to learn to identify when primitive data types are appropriate to a task, and when compound data is needed,
• to develop a notion (as opposed to a theory; that comes later) of computational efficiency, and
• to learn about data structures for collections to the greatest possible extent, including but not limited to arrays, lists, stacks, queues, maps, sets, trees, and hash tables.
We will not only use the data structures provided in Java's extensive libraries, but also implement our own data structures to understand and appreciate their inner workings.
As currently planned, the first meeting of this class will be on June 19, 2017, and the last meeting will be Wednesday, August 9.
|
Monday 6pm-8pm |
Wednesday 6pm-8pm |
Week 1 |
June 19: lecture, Ryerson 251 |
June 21: lab, CSIL@Crerar |
Week 2 |
June 26: lecture, Ryerson 251 |
June 28: lab, CSIL@Crerar |
Week 3 |
July 3: no meeting |
July 5: lecture, Ryerson 251 |
Week 4 |
July 10: lecture, Ryerson 251 |
July 12: lab, CSIL@Crerar |
Week 5 |
July 17: exam, Ryerson 251 |
July 19: lab, CSIL@Crerar |
Week 6 |
July 24: lecture, Ryerson 251 |
July 26: lab, CSIL@Crerar |
Week 7 |
July 31: lecture, Ryerson 251 |
August 2: lab, CSIL@Crerar |
Week 8 |
August 7: lecture, Ryerson 251 |
August 9: exam, Ryerson 251 |
Office Hours
Office hours will be held by the instructor and graduate teaching assistants, at various regular times throughout the week. We will announce a specific office hours schedule closer to the start of the course.
Homework
Expect weekly homework assignments to reinforce and build upon the concepts and techniques presented in the text and in lectures and labs.
Textbook
Our textbook will be Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne (ISBN-10: 0321498054).
A detailed syllabus for this course is available at the following location: http://people.cs.uchicago.edu/~adamshaw/mpcs50101-2017/syllabus-50101-2017.pdf
Only MPCS students can register for this course.
This class is scheduled at a time that conflicts with these other classes: