A first course in software development as an engineering discipline, using a modern programming language, Language syntax. Algorithm design. Tracing and visualizing program execution. Testing and debugging. Program style, documentation, reliability. Lab projects are drawn from a variety of application domains, for example, digital image manipulation; computer games; and robotics. Precludes additional credit for ECOR 1606 and SYSC 1101.Lectures two hours a week, tutorial one hour a week, laboratory three hours a week.