EECS 495: Intensive Program Design

Syllabus – Fall 2015

Tech Lecture Hall 4, TuF, 2–5 PM

Course staff & office hours

Instructors: Jesse Tov jesse@eecs Ford 2-215 Tu 11 AM–1 PM, and gladly by appointment
Burke Fetscher burke.fetscher@eecs Ford 2-215 TBD, and gladly by appointment
TAs: Sara Bahaadini sara.bahaadini@u
Begum Egilmez BegumEgilmez2019@u
Dan Feltey danielfeltey2015@u
Curtis Wang ycwang@u

General information

The goal of Intensive Program Design is to make you a better programmer. We will ask you to forget everything you know about programming and then help build you up again, stronger than before. If you work hard, you will learn to apply a rational design process, to think more clearly about code, and to present your work effectively to others. You should expect to spend a significant amount of time programming outside of class. Topics include data design, structure-oriented programming, testing and coverage, data structures and their analysis, systems programming, and resource management.




We will have one in-class midterm exam on Friday, 30 October.





Lecture notes are on GitHub.

Homework schedule

Homework will be assigned every week and due Tuesday evenings. General homework policies are here.

Course policies

Collaboration and academic integrity

You may not collaborate with anyone on the exam. You may not use any electronic tools, including phones, tablets, netbooks, laptops, desktop computers, etc. If in doubt, ask a member of the course staff.

Most homework assignments will be completed with an assigned partner. You must pair program with your assigned partner, as specified, on homework assignments. You may request help from any staff member on homework. (When you are working with a partner, we strongly recommend that you request help with your partner.) You may use the Piazza bulletin board to ask questions regarding assignments, so long as your questions (and answers) do not reveal information regarding solutions. You may not get any help from anyone else on a homework assignment; all material submitted must be your own. If in doubt, ask a member of the course staff.

Providing illicit help to another student is also cheating, and will be punished the same as receiving illicit help. It is your responsibility to safeguard your own work.

Students who cheat will be reported to the appropriate dean.

If you are unclear on any of these policies, please ask a member of the course staff.


In general, you should submit your homework according to the instructions on the web page for the individual assignments.

Late work

Late work is not accepted.


[This is still subject to change.] Your grade will be based on codewalks of your homework assignments (70%) and the midterm exam (30%). There will be no final exam.

The mapping of raw point totals to letter grades is at the discretion of the instructor.