This course explores the relationship between computer program code and the software systems that are
generated from them. Students experience developing simple software in the context of laboratory-based
practicals and individual assignment tasks. They explore and use a variety of data types including arrays and
structures, and elementary flow control including function calls, alternation and iteration. They examine I/O in
which software interacts with simple text files and users via console and GUI components.