This is a software project course.  Students will learn fundamental programming concepts.  They will choose project(s) from the engineering disciplines.  Through the project(s), students will acquire the skills to define problems and specifications, to perform modelling and simulation, to develop system prototypes, to carry out verification, validation, and performance analysis. (Not for students who have taken CSCI1030 or 1110 or 1120 or 1130 or 1510 or 1520 or 1530 or 1540 or ESTR1002 or 1100 or 1102.)