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.
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.