Programming in C
CPT220
Overview
Level of study: What does Undergraduate Level 2 mean?
Undergraduate Level 2
EFTSL: What does EFTSL mean?
0.125
Delivery Method: What does delivery method mean?
Fully Online
Prerequisites: What are the prerequisites?
Duration:
13 weeks
Government loans available:
FEE-HELP FEE-HELP
Domestic student fee:
$980.00 (AUD)
International student fee:
$1,205.00 (AUD)
Description
This unit extends the study of programming principles developed in pre-requisite units, including: the use of defensive programming, debugging, testing, coding standards and practices. This material is presented using the C programming language as a vehicle for instruction. This unit may serve as a foundation for further studies in Computer Science and Software Engineering.
Prerequisites
Recommended prerequisites
You are recommended to have completed the following unit(s) or have equivalent knowledge before starting this unit:
- CPT121 — Programming 1
- CPT221 — Programming 2 (Java)
Or have significant programming experience before starting this unit.
Assessment
- Assignment 1 (15%)
- Assignment 2 (20%)
- Invigilated Exam (60%)
- Test (5%)
Learning Outcomes
Enabling Knowledge: Students will develop knowledge and experience with: the use of the standard C programming language, good programming style, standards and practices in programming; and the implementation of dynamic data structures in a modular fashion in standard C.
Problem Solving and Critical Analysis: Students will further develop their capacity to analyse and solve computing problems, develop suitable algorithmic solutions which are then coded in the C programming language.
At the completion of this unit students will be able to, with respect to the C language:
- implement small to medium programs of varying complexity, using the most commonly used features of the language, whilst also adhering to standard (ISO) language features
- employ good programming style, standards and practices, during program development
- organise separate source translation units properly, for larger programs, so that they reflect the use of Abstract Data Types wherever required
- use simple, possibly dynamically allocated, data structures in solutions
- adapt programming experience and language knowledge to other programming language contexts.
Topics
This unit addresses the following topics.
| Number | Topic |
|---|---|
| 1 | Getting started |
| 2 | Problem solving and functional abstraction |
| 3 | Data abstraction and managing C files |
| 4 | Pointer types and debugging techniques |
| 5 | Storage classes and the C pre-processor |
| 6 | File processing |
| 7 | More module abstraction and advanced concepts |
| 8 | Dynamic memory management |
| 9 | Dynamic data structures |
| 10 | Unions and function pointers |
| 11 | Generics and reusability |
Study Resources
This unit is delivered using the following methods and materials:
Instructional Methods
- Discussion Forum/Discussion Board
- Embedded Multimedia
- Online Quizzes/Tests
- Online assignment submission
- Podcasting/Lecture capture
- Standard Media
- Streaming Multimedia
- Web links
Online materials
- Audio/Video - Streaming
- FAQs
- Printable format materials
- Quizzes
- Resources and Links
Textbook information for this unit is currently being updated and will be available soon. Please check back regularly for updates. Alternatively, visit the Unibooks website and enter the unit details to search for available textbooks.
Relevant Courses
This unit is an approved elective in the following courses:
- Bachelor of Technology (Computing Studies), RMIT University
- Bachelor of Technology (Information Systems), Swinburne University of Tnlgy
This unit may be eligible for credit towards other courses:
- Many undergraduate courses on offer through OUA include 'open elective' where any OUA unit can be credited to the course. You need to check the Award Requirements on the course page for the number of allowed open electives and any level limitations.
- In other cases, the content of this unit might be relevant to a course on offer through OUA or elsewhere. In order to receive credit for this unit in the course you will need to supply the provider institution with a copy of the Unit Profile in the approved format, which you can download here. Note that the Unit Profile is set at the start of the year, and if textbooks change this may not match the Unibooks textbook list.