ECE 3574 - Applied Software Design (3C)
This course is an introduction to applied software design methods for use in the writing of efficient, reusable, and modulator C++ programs. These methods include the use of the following: classes, inheritance, and polymorphism; design patterns; high-level programming techniques using libraries, generics, and containers; widgets, models, and views; software frameworks for embedded systems; and advanced techniques ranging from multi-threading to reflective programming.
Why take this course?
Large-scale software systems are widely used in the design, analysis and testing of current computing systems. In addition, modern embedded systems run programs developed in high-level languages based on extensive software libraries. The ability to design and implement such software systems is an essential skill for computer engineers pursuing careers in industry and academia.