Developing Technical Software
Hawthorn
Overview
This unit consolidates the technical C programming skills previously acquired in the prerequisite unit Foundations of Technical Programming. Those skills are extended to the development of more complex, modular applications. User-defined abstract data types and dynamic data structures are introduced and extensively used in developing those C applications. The safer procedural programming features provided by C++ and the concepts of classes and objects in C++ are then introduced in the context of simple C++ programs.
Requisites
Teaching periods
Location
Start and end dates
Last self-enrolment date
Census date
Last withdraw without fail date
Results released date
Learning outcomes
Students who successfully complete this unit will be able to:
- Define user data types using C structures and functions that appropriately use function parameters passed by value or by reference
- Manage application memory using pointers and use dynamic data structures in C including generic linked-lists, stacks and queues
- Evaluate and compare the efficiency of different algorithms (big O) using sorting functions such as bubble sort, insertion sort, and selection sort
- Develop modular programs involving multiple C source files and function libraries
- Effectively use features of C++ that improves on C for procedural programs
- Develop simple C++ programs using classes and objects
Teaching methods
Hawthorn
| Type | Hours per week | Number of weeks | Total (number of hours) |
|---|---|---|---|
| Face to Face Contact (Phasing out) Lecture | 2.00 | 12 weeks | 24 |
| Face to Face Contact (Phasing out) Laboratory | 2.00 | 12 weeks | 24 |
| Face to Face Contact (Phasing out) Laboratory | 2.00 | 12 weeks | 24 |
| Unspecified Learning Activities (Phasing out) Independent Learning | 6.50 | 12 weeks | 78 |
| TOTAL | 150 |
Assessment
| Type | Task | Weighting | ULO's |
|---|---|---|---|
| Assessment | Individual | 20 - 30% | 1,2,3,4,5,6 |
| Assignment 1 | Individual | 20 - 25% | 1,2 |
| Assignment 2 | Individual | 20 - 25% | 1,2,3,4,5,6 |
| Online Tests | Individual | 20 - 40% | 1,2,3,4,5,6 |
Content
- Pointers, arrays and dynamic memory allocation
- Structured programming with functions, passing parameters by value and by reference
- Modular software decomposition in multiple-file programs, abstract data types, function libraries
- Sequential and random file I/O
- Dynamic data structures: the linked list, stack and queue
- Searching algorithms and algorithm efficiency (big 0)
- Features of C++ that improves on C as a procedural language
- Classes and objects in C++
Study resources
Reading materials
A list of reading materials and/or required textbooks will be available in the Unit Outline on Canvas.