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):

  1. Clean Code: A Handbook of Agile Software Craftsmanship , 1st Edition , Robert Martin , Prentice Hall , 2008 , ISBN No. 13: 978-0132350884
  2. 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):

  1. 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:
  1. an ability to design, as part of a team, a software system that solves a significant problem. [1,5]
  2. an ability to develop tests to enable debugging, and perform that debugging. [6,7]
  3. an ability to acquire domain knowledge about the project, and apply that knowledge to the project. [7]
  4. an ability to explain the design and development process for their project in a presentation. [3]
  5. 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).