Skip to main content

University of Michigan School of Information


507 - Intermediate Programming

The purpose of this course is to build upon the foundation provided by 506 and prepare students for more advanced courses that require programming skills. In particular, students in 507 will further develop core programming and software development skills, including: basic data structures, gathering and processing data, interactive programming, debugging the testing, using distributed code repositories, and object-oriented design. By the end of this course, students should be comfortable writing 500-1000 line object-oriented programs including data processing and interactivity, incorporate and integrate multiple third-party packages, and write effective test cases to validate a functional specification.

Credit Hours 3


  • SI 506 or waiver or 508; (C->) or Graduate Standing