1 x 2-hour lecture weekly
1 x 1-hour tutorial weekly
1 x 2-hour practical weekly
Enrolment not permitted
1 of COMP1201, COMP8702, ENGR1206, ENGR1721, ENGR8800 has been successfully completed
Assumed knowledge
Basic computer literacy, such as acquired in COMP1001, COMP1101 or COMP1301. Students without the assumed knowledge should check with the topic coordinator as to the background required, as there will be no additional assistance to compensate for missing background.
Course context
Summer Class Contact:

3 2-hour lectures weekly (for 5 weeks)

2 2-hour practicals weekly (for 5 weeks)
Self-evaluation Quiz, Lab exercises, Lab exam, Multiple Choice exam, assignments
Topic description
This topic does not assume any prior programming experience. The topic is intended as a first course in programming for students who intend to major in computer science and for students from other disciplines who require programming skills. It aims to introduce students to the basic tools and techniques of software development using an object-oriented language.

The topic will cover the following material: the concept of objects and the role they play in the design and execution of programs; features of a modern object-oriented programming language, including classes, variables, methods, parameters, inheritance, selection, and iteration; concepts and principles of design and development, testing, and maintenance
Educational aims
The topic aims to help develop:

  1. An understanding of the nature of programming using a modern high-level programming language
  2. The ability to read, comprehend and write simple programs
  3. An appreciation of the process by which software systems are developed, including their specification, design, implementation, testing and maintenance
Expected learning outcomes
At the completion of this topic, students are expected to be able to:

  1. Demonstrate that they can comprehend basic program control constructs of sequence, selection, and iteration
  2. Demonstrate that they can use programming development environments and tools within a defined context
  3. Demonstrate that they can read pseudo-code and translate it into a readable, working program
  4. Demonstrate that they know the basics of testing and debugging
  5. Demonstrate that they can apply programming principles to solve domain-specific problems