Principles of Software Development
Fall 2018

Course Description

A study of software development. Software engineering principles and structured methods are discussed as a prelude to the focus on object-oriented approaches. All phases of the software lifecycle are covered, including analysis, design, implementation and testing, and maintenance. Other topics include user interface design and development, software reuse and the design of reusable software components, software patterns, and web-based client-server programming.


Experience with an object-oriented programming language.

Office Hour Schedule

Day Hours Instructor Location
Monday 9am-10:30am Lovedeep HR 411
10:30am-12noon Gudbrand HR 411
2pm-2:30pm Sami HR 404
4:35pm-5:35pm Sami HR 404
Tuesday 10:30am-11:30am Brian HR 413
1:30pm-2:30pm Sami HR 404
Wednesday 10:30am-12noon Gudbrand HR 413
2pm-2:30pm Sami HR 404
4:35pm-5:35pm Sami HR 404
Thursday 1pm-3pm Brian HR 411
Friday 9am-10:30am Lovedeep HR 411


Practice Assignments

To sharpen your Java skills and make sure you are ready for CS 601 it is advised that you complete the following practice assignments. Start with the Easy Practice as it outlines how to set up your development environment for this class.

There are also lots of good practice problems you can find on the internet.