An introduction to computer programming suitable for beginners with some prior experience. Builds on and extends basic Java and object oriented programming. Introduces broader programming concepts and other languages.
COMP162 marks the next step in your journey to becoming a computer scientist. Following on from COMP161, this paper will expand your knowledge of the Java programming language to more advanced concepts that are fundamental to theoretical and applied computing. COMP162 is a prerequisite for all 200-level Computer Science papers from 2022 onwards. We offer COMP162 in second semester and summer school.
Paper title | Foundations of Computer Science |
---|---|
Paper code | COMP162 |
Subject | Computer and Information Science |
EFTS | 0.1500 |
Points | 18 points |
Teaching period(s) | Summer School
(On campus)
Semester 2 (On campus) |
Domestic Tuition Fees (NZD) | $1,141.35 |
International Tuition Fees | Tuition Fees for international students are elsewhere on this website. |
- Prerequisite
- COMP 161 or (COMP 151 passed with a grade of at least B). See also Eligibility section below.
- Restriction
- COMP 160
- Schedule C
- Arts and Music, Commerce, Science
- Notes
- (i) Students entering from COMP151 will be provided with materials and exercises to transfer from Python to the Java programming language. (ii) Students with other programming experience (e.g., appropriate NCEA Level 3 standards) may sit an Advanced Placement Test for direct entry to COMP162. Enquiries about this option should be directed to adviser@cs.otago.ac.nz in advance of the start of semester.
- Eligibility
Prior programming experience is required, for example via the normal requisites of COMP161, COMP151 (B or better), or previous computing experience (e.g., appropriate NCEA level 3 standards) subject to sitting an Advanced Placement Test.
- Contact
- More information link
- Teaching staff
Course Co-ordinator : Veronica Liesaputra
Lecturers for Summer School: Veronica Liesaputra, Patricia Haden
Lecturers for Semester 2: Veronica Liesaputra
Laboratories: Karen Gray- Paper Structure
Lecture and Lab Topics:
- Introduction and review of Java basics 1
- Introduction and review of Java basics 2
- Hierarchies 1, inheritance
- Hierarchies 2, visibility, overriding
- Libraries, interfaces, abstract classes
- Algorithms
- Recursion
- Array algorithms
- Linked lists 1
- Linked lists 2
- Algorithm analysis
- Collections & Generics
- Stacks
- Queues
- Insertion & Selection sort
- Quick sort
- Object oriented programming 1
- Object oriented programming 2
- Comparative Languages 1
- Comparative Languages 2
- Comparative Languages 3
- Comparative Languages 4
- C and memory management 1
- C and memory management 2
- Compilers
- Ethical issues and current topics in programming
Assessment:
- A sequence of practical mastery tests worth 40%. Each mastery test must be passed in order to be eligible to sit the next one.
- A final exam worth 60%.
- Teaching Arrangements
- Two lectures per week (one hour each).
- Two labs per week (two hours each).
- Textbooks
To be advised.
- Course outline
- Graduate Attributes Emphasised
- Lifelong learning, Critical thinking, Information literacy, Self-motivation.
View more information about Otago's graduate attributes. - Learning Outcomes
This paper will enable students to:
- Understand intermediate concepts relating to computer programming
- Demonstrate the ability to design and develop intermediate computer programs
- Develop knowledge and skills relating to problem solving, program design, object oriented programming, data structures and algorithms