Advanced Programming

This course is an introduction to advanced technique and the latest developments in the technical aspect of software engineering. Students are introduced to software design patterns, service oriented architecture, multithreading, and software testing. The course will cover the rationale and benefits of object-oriented software development. Several example problems will be studied to investigate the development of good design patterns. Programming projects in the Java language will provide experience in the use of these patterns and concepts. In addition, existing frameworks will be discussed for their implementation of patterns and practices.