ECE 39595 - Advanced Programming with Objects
Course Details
Lecture Hours: 3 Credits: 3
Counts as:
- EE Elective
- CMPE Selective - Special Content
Experimental Course Offered:
Fall 2019
Requisites:
ECE 30862
Requisites by Topic:
Knowledge of object oriented programming
Catalog Description:
Introduction to writing better object oriented code. Topics will include better coding practices, refactoring, testing, Universal Modeling Language (UML) and design patterns.
Required Text(s):
- 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
Recommended Text(s):
- 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. [7]
- an ability to explain the design and development process for their project in a presentation. [3]
- an ability to develop a program with code that is economically sustainable and maintainable. [4]
Lecture Outline:
Lectures | Topic |
---|---|
1 | Introduction and caveats |
6 | Universal Modeling Languages |
2 | Discussion of the project |
9 | Design Patterns |
6 | Writing clean code |
6 | Refactoring |
3 | Testing and Development by test |
3 | Debugging |
3 | Software engineering concepts (waterfall, spiral, code complexity, etc.) |
3 | Project presentations |
3 | Exams |
Engineering Design Content:
- Establishment of Objectives and Criteria
- Analysis
- Construction
- Testing
- Evaluation
Engineering Design Consideration(s):
- Economic
- Social
Assessment Method:
Outcomes will be assessed through exams, homework and presentation(s).