SENG 475

Advanced Programming Techniques for Robust Efficient Computing

Units: 1.5

Hours: 3-1.5-0

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, parallelism, and vectorization; cache-efficient coding; compile-time versus run-time computation; 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 2018 Fall 2018 Spring 2019

Summer timetable available: February 15. Fall and Spring timetables available: May 15.

Before these dates the class schedule will show "No classes were found that meet your search criteria". If this message is shown after these dates, the course is not scheduled for the selected term.