Software Design and Analysis for Engineers ENSC 251 (4)
Fundamentals for designing and implementing modular programs using a modern object-oriented programming language with a focus on understanding the performance implications of design choices on non-traditional computing platforms. Lecture topics include: classes; objects; debugging, testing & verification; design analysis & abstraction; error handling; fundamental data structures such as lists, trees, and graphs; and big-0 complexity analysis.computing platforms. Lecture topics include: classes; objects; debugging, testing & verification ; design analysis & abstraction ; error handling; fundamental data structures such as lists, trees, and graphs; and big-0 complexity analysis. Prerequisite: CMPT 128 or CMPT 135 or (CMPT 125 and CMPT 127).