COMP 2016 Programming Techniques (Advanced)

This is an archived copy of the 2022-2023 catalog. To access the most recent version of the catalog, please visit https://hbook.westernsydney.edu.au.

Credit Points 10

Legacy Code 300903

Coordinator Paul Davies Opens in new window

Description This subject builds on a basic understanding of procedural programming developed in previous subjects. Students continue to develop their programming skills and methodologies required for professional programming and for further study in later computing subjects. Topics covered include multi-dimensional arrays, file I/O, searching and sorting, and an introduction to object-oriented programming involving classes and inheritance. Students in this advanced subject will also investigate and apply advanced concepts such as function overloading and recursion.

School Computer, Data & Math Sciences

Discipline Programming

Student Contribution Band HECS Band 2 10cp

Check your HECS Band contribution amount via the Fees page.

Level Undergraduate Level 2 subject

Pre-requisite(s) COMP 1005

Incompatible Subjects COMP 2015 - Programming Techniques

Restrictions Students must be enrolled in 3688 Bachelor of Information Systems Advanced or 3684 Bachelor of Information and Communication Technology (Advanced)

Assumed Knowledge

Software development methodologies; Software analysis and design modelling tools and techniques; Programming languages; Implementing databases management systems; Software construction and testing; System documentation; Project Management.

Learning Outcomes

On successful completion of this subject, students should be able to:
  1. With a chosen programming language in mind, analyse a given problem and: a). Develop an algorithm that applies structured programming techniques such as sequence, selection, iteration and modularisation that solve the given problem; b). Choose suitable data types to store relevant data for the given problem; c). Implement the solution algorithm using the chosen programming language, data types and control structures; d). Test and debug the program code to produce a working computer program.
  2. Write and implement programs that use data structures such as arrays to solve problems in programming involving multiple data items.
  3. Demonstrate how different searching and sorting methods operate and be able to implement them in working computer programs
  4. Store, retrieve and manipulate data programmatically from secondary storage
  5. Use object-oriented methodology to analyse relatively simple problems and develop object-oriented computer program solutions
  6. Write programs which utilise advanced object-oriented features such as function overloading
  7. Apply recursive algorithms to suitable types of problems.
  8. Solve programming problems by developing algorithms and fully tested/debugged program code that implement suitable structured programming techniques including appropriate choice of control and data structures.
  9. Use object-oriented methodology to analyse relatively simple problems and write object-oriented computer program solutions.
  10. Write programs which utilise more advanced object-oriented features such as function overloading, interfaces, aggregation, inheritance and polymorphism.

Subject Content

1. Revision and extension of procedural programming structures including: a. Data types b. I/O statements c. Calculations d. Problem solving techniques e. decision making constructs f. repetition structures g. writing and using functions h. one-dimensional arrays
2. Multi-dimensional arrays
3. Character strings and textual data
4. Sorting and searching algorithms: Sequential Search, Binary Search, Selection Sort, Bubble Sort
5. Object-Oriented Programming including: a. Introduction to classes and objects b. Class construction c. Constructors and destructors d. Inheritance e. Polymorphism
6. Data files
7. Function overloading
8. Recursion
5. Object-Oriented Programming including: a. Introduction to classes and objects b. Class construction c. Constructors and destructors d. Inheritance e. Polymorphism f. Aggregation g. Interfaces

Assessment

The following table summarises the standard assessment tasks for this subject. Please note this is a guide only. Assessment tasks are regularly updated, where there is a difference your Learning Guide takes precedence.

Type Length Percent Threshold Individual/Group Task
Professional Task Two Practical Deliverables. 1 to 5 programming tasks per practical deliverable. 30 N Individual
Applied Project 700 – 1200 lines of code 40 N Individual
Professional Task 90 minutes 30 Y Individual

Prescribed Texts

  • Gaddis. T. (2016). Starting out with Java: From control structures through objects (6th Ed.). Boston, MA : Pearson

Teaching Periods

Spring (2022)

Campbelltown

Day

Subject Contact Paul Davies Opens in new window

View timetable Opens in new window

Penrith (Kingswood)

Day

Subject Contact Paul Davies Opens in new window

View timetable Opens in new window

Parramatta - Victoria Rd

Day

Subject Contact Paul Davies Opens in new window

View timetable Opens in new window

Spring (2023)

Campbelltown

On-site

Subject Contact Paul Davies Opens in new window

View timetable Opens in new window

Penrith (Kingswood)

On-site

Subject Contact Paul Davies Opens in new window

View timetable Opens in new window

Parramatta - Victoria Rd

On-site

Subject Contact Paul Davies Opens in new window

View timetable Opens in new window