Exploring term Fall 2023 Change
- ACAN: Arts of Canada
 - ADMN: Public Administration
 - AE: Art Education
 - AGEI: Ageing
 - AHVS: Art History and Visual Studies
 - ANTH: Anthropology
 - ART: Visual Arts
 - ARTS: Arts
 - ASL: American Sign Language
 - ASTR: Astronomy
 - ATWP: Academic and Technical Writing Program
 - BCMB: Biochemistry and Microbiology
 - BIOC: Biochemistry
 - BIOL: Biology
 - BME: Biomedical Engineering
 - CE: Community Engagement
 - CHEM: Chemistry
 - CIVE: Civil Engineering
 - COM: Commerce
 - CS: Canadian Studies
 - CSC: Computer Science
 - CW: Creative Writing (En'owkin Centre)
 - CYC: Child and Youth Care
 - DHUM: Digital Humanities
 - DSST: Disability Studies (DSS)
 - ECE: Electrical and Computer Engineering
 - ECON: Economics
 - ED-D: Educational Psychology and Leadership Studies
 - ED-P: Curriculum and Instruction Studies
 - EDCI: Curriculum and Instruction Studies
 - EDUC: Education
 - ENGR: Engineering
 - ENSH: English
 - ENT: Entrepreneurship
 - EOS: Earth and Ocean Sciences
 - EPHE: Exercise Science, Physical and Health Education
 - ER: Environmental Restoration
 - ES: Environmental Studies
 - EUS: European Studies
 - FA: Fine Arts
 - FRAN: French and Francophone Studies
 - GDS: Global Development Studies
 - GEOG: Geography
 - GMST: Germanic Studies
 - GNDR: Gender Studies
 - GREE: Greek
 - GRS: Greek and Roman Studies
 - HDCC: Human Dimensions of Climate Change
 - HINF: Health Information Science
 - HLTH: Health
 - HS: Health and Society
 - HSD: Human and Social Development
 - HSTR: History
 - HUMA: Humanities
 - IB: International Business
 - ICDG: Indigenous Community Development and Governance
 - IED: Indigenous Education
 - IGOV: Indigenous Governance
 - INGH: Indigenous Health Studies
 - INTS: International Health Studies
 - IS: Indigenous Studies
 - ISP: Intercultural Studies and Practice
 - ITAL: Italian
 - LAS: Latin American Studies
 - LATI: Latin
 - LAW: Law
 - LING: Linguistics
 - MATH: Mathematics
 - MDIA: Media Studies
 - MECH: Mechanical Engineering
 - MEDI: Medieval Studies
 - MEDS: Medical Science
 - MICR: Microbiology
 - MRNE: Marine Science
 - MUS: Music
 - NURS: Nursing
 - PAAS: Pacific and Asian Studies
 - PHIL: Philosophy
 - PHYS: Physics
 - POLI: Political Science
 - PORT: Portuguese
 - PSYC: Psychology
 - RCS: Religion, Culture and Society
 - SCIE: Science
 - SENG: Software Engineering
 - SJS: Social Justice Studies
 - SLST: Slavic Studies
 - SMGT: Service Management
 - SOCI: Sociology
 - SOCW: Social Work
 - SOSC: Social Science
 - SPAN: Spanish
 - STAT: Statistics
 - TCA: Transformative Climate Action
 - THEA: Theatre
 - TS: Technology and Society
 - VIRS: Visiting International Research Studies
 - VKUR: Valerie Kuehne Undergraduate Research Award
 - WRIT: Writing
 
- SENG265: Software Development Methods
 - SENG275: Software Testing
 - SENG310: Human Computer Interaction
 - SENG321: Requirements Engineering
 - SENG330: Object-Oriented Software Development
 - SENG350: Software Architecture and Design
 - SENG360: Security Engineering
 - SENG371: Software Evolution
 - SENG401: Social and Professional Issues
 - SENG411: Advanced Methods for Human Computer Interaction
 - SENG421: Global Software Engineering
 - SENG426: Software Quality Engineering
 - SENG435: Computer-Supported Cooperative Work
 - SENG440: Embedded Systems
 - SENG460: Practice of Information Security and Privacy
 - SENG468: Software System Scalability
 - SENG474: Data Mining
 - SENG475: Advanced Programming Techniques for Robust Efficient Computing
 - SENG480A: Topics in Software Engineering
 - SENG480B: Topics in Software Engineering
 - SENG480C: Topics in Software Engineering
 - SENG480D: Topics in Software Engineering
 - SENG490: Directed Studies
 - SENG498: Honours Thesis
 - SENG499: Design Project II
 
SENG475
Advanced Programming Techniques for Robust Efficient Computing
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.
Lecture: 3h
Lab: 0h
Tutorial: 1.5h
Credits: 1.5