CSE 283 is a one semester software engineering course.
The course focuses on software design principles. It covers the design of computer programs, including top-down and object-oriented design, analysis, testing, user interface, documentation, data structures, and graphic I/O. Applications are drawn from science and engineering and are programmed in C++.
Course Outline
- Week 1: C Machine, Overview and Course Objectives; Course Overview and Student Expectations; A Virtual Machine/The C Machine; Higher Level Language and the C++ Superset
- Week 2: Functional Decomposition: Classical Design; Problem Statement Analysis; Modularity: Identifying Small Pieces; Testability
- Week 3: Reuse: Object-Oriented Design; Calling Functions to Repeat Operations; Difficulties in Parameter Passing; Global Versus Local Variables
- Week 4: Object-Oriented Design: Class and Object Models; What are Objects?; What are Classes?; Multiplicity, Aggregation, Cardinality, and Other Relationships
- Week 5: Object-Oriented Design: Dynamic and Functional Models; External and Internal Interaction with Regard to Objects; What Happens When? Dynamic Modeling Member Functions
- Week 6: Encapsulation Ð Classes; Class Syntax; Constructors; Access Rights
- Week 7: Overloading and Defaults; Use Forms Already Known, for the Convenience of the Programmer; Defaults Make Parameter Passing Easier and More Flexible; Operator Overloading
- Week 8: Arrays of Objects; Classes are User-defined Types; Constructor Problems; Multi-dimensioned Arrays
- Week 9: Pointers to Objects; Objects within Objects; Sharing Objects: Passing by Reference; Friends
- Week 10: Inheritance; Refining the Class; Inheritance Syntax; Protection and Multiple Inheritance
- Week 11: Dynamic Allocation and Recursion; New and Delete; Constructor Execution and Destructors; Recursion Example
- Week 12: Polymorphism; Reuse More Classes; Virtual Members; Abstract Classes
- Week 13: Templates and Manipulators; What is a Template?; Ultimate Reuse?; Linked List Example
- Week 14: Java and the Internet; The Java Virtual Machine; Appellate; Enhanced Home Page Design
- Week 15: Review and Final Exam