ECE 39595 - Advanced Programming with ObjectsLecture Hours: 3 Credits: 3
This is an experiential learning course.
CMPE Special Content Elective
Experimental Course Offered: Fall 2019
Requisites by Topic:
Knowledge of object oriented programming
Introduction to writing better object oriented code. Topics will include better coding practices, refactoring, testing, Universal Modeling Language (UML) and design patterns.
- Clean Code: A Handbook of Agile Software Craftsmanship, 1st Edition, Robert Martin, Prentice Hall, 2008, ISBN No. 13: 978-0132350884.
- Head First Design Patterns: A Brain-Friendly Guide, 1st Edition, Eric Freeman, Bert Bates, Kathy Sierra and Elisabeth Robson, O'Reilly Media, 2004, ISBN No. 13: 978-0596007126.
- Design Patterns: Elements of Reusable Object-Oriented Software, 1st Edition, Eric Gamma, Richard Helm, Ralph Johnson and John Vlissides, Addison-Wesley Publishing Co., 1994, ISBN No. 13:0978-0201633610.
Learning Outcomes:A student who successfully fulfills the course requirements will have demonstrated:
- an ability to design, as part of a team, a software system that solves a significant problem. [1,5]
- an ability to develop tests to enable debugging, and perform that debugging. [6,7]
- an ability to acquire domain knowledge about the project, and apply that knowledge to the project. 
- an ability to explain the design and development process for their project in a presentation. 
- an ability to develop a program with code that is economically sustainable and maintainable. 
|1||Introduction and caveats|
|6||Universal Modeling Languages|
|2||Discussion of the project|
|6||Writing clean code|
|3||Testing and Development by test|
|3||Software engineering concepts (waterfall, spiral, code complexity, etc.)|
Engineering Design Content:
Engineering Design Consideration(s):