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 can be obtained in COMP1001 Fundamentals of Computing or equivalent. 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.
Self-evaluation Quiz, Lab exercises, Lab exam, Multiple Choice exam, assignments
Topic description

The topic is intended as a first topic 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:

  • An understanding of the nature of programming using a modern high-level programming language
  • The ability to read, comprehend and write simple programs
  • An appreciation of the process by which software systems are developed, including their specification, design, implementation, testing and maintenance
Expected learning outcomes
On completion of this topic you will be 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