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.