SENG 475

Advanced Programming Techniques for Robust and Efficient Computing

Units: 1.5

Hours: 3-1.5

Advanced programming techniques for robust high-efficiency computing are explored in the context of a single programming language, such as C++ or Swift. Topics covered may include: concurrency, multithreading, transactional memory, parallelism, and vectorization; cache-efficient coding; compile-time versus run-time computation; compile-time versus run-time polymorphism; generic programming techniques; resource/memory management; copy and move semantics; exception-safe coding; techniques for writing correct, efficient, and optimizer-friendly code. Application areas considered may include: signal/geometry processing, computer graphics, and numerical analysis.

Prerequisites:

Undergraduate course in Software Engineering offered by the Software Engineering in the Faculty of Engineering.

Schedules:
Summer Fall Spring

Note that not all courses are offered in every term. If a course is not offered, the schedule page will alert you that "No classes were found that meet your search criteria."