Section | 1 |
---|---|
Instructor(s) | Shaw, Adam (adamshaw) |
Location | Ryerson 251 - Monday Lecture CSIL 4 - Wednesday Labs |
Meeting Times | Monday 6pm - 8pm Wednesday 6pm - 8pm |
Website: | http://people.cs.uchicago.edu/~adamshaw/mpcs50101-2016/ |
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 2016 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 rough schedule of planned topics is as follows (subject to modification according to the composition of the class):
• types, expressions, objects
• program design: procedures, functions, methods and problem decomposition
• interfaces, implementation, inheritance and class design
• iteration and recursion
• arrays, multi-dimensional arrays
• strings and text processing
• file input/output
• simple graphics
• beyond arrays: linked lists and array lists
• list-like data structures: queues and stacks
• shapely data structures: sets and trees
• programming with generics
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.
Meeting Schedule
The first meeting of this class will be on June 27, 2016, and the last meeting will be Wednesday, August 17. The full schedule is as follows:
|
Monday 6pm-8pm |
Wednesday 6pm-8pm |
Week 1 |
6/27, lecture, Ryerson 251 |
6/29, lab, CSIL@Crerar |
Week 2 |
7/4, no meeting |
7/6, lab, CSIL@Crerar |
Week 3 |
7/11, lecture, Ryerson 251 |
7/13, lab, CSIL@Crerar |
Week 4 |
7/18, lecture, Ryerson 251 |
7/20, lab, CSIL@Crerar |
Week 5 |
7/25, midterm exam, Ryerson 251 |
7/27, lab, CSIL@Crerar |
Week 6 |
8/1, lecture, Ryerson 251 |
8/3, lab, CSIL@Crerar |
Week 7 |
8/8, lecture, Ryerson 251 |
8/10, lab, CSIL@Crerar |
Week 8 |
8/15, lecture, Ryerson 251 |
8/17, final 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
The homework exercises will be linked to from this site. 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).
Only MPCS students can register for this course.
This class is scheduled at a time that conflicts with these other classes: