|Software Design and Development|
|CLASS CODE:||CS 346||CREDITS: 3|
|DIVISION:||PHYSICAL SCIENCE & ENGINEERING|
|DEPARTMENT:||ELECTRICAL & COMPUTER ENGINEERING|
|GENERAL EDUCATION:||This course does not fulfill a General Education requirement.|
|DESCRIPTION:||Advanced object oriented design and software development.|
|TAUGHT:||Fall, Winter, Summer|
|CONTENT AND TOPICS:||Java syntax and semantics, derivation (inheritance) and composition, interface and implementation, design principles and practices, design patterns, encapsulation, reuse and modularity.|
|GOALS AND OBJECTIVES:||1. Recognize when the appropriate object oriented software "organizing principle" is composition, and when it is derivation (inheritance).
2. Demonstrate a correct understanding of the concepts of modularity, reuse, encapsulation, and interface versus implementation.
3. Know the ideas behind and be able to differentiate between tradeoffs of component-based software engineering, especially in regards to maximizing reuse.
4. Demonstrate knowledge of the principles and techniques of object-oriented design.
5. Demonstrate knowledge of the syntax and semantics of the Java programming language.
|EFFECTIVE DATE:||August 2002|