Programming in C - 2018

Unit summary

CPT220

  • Level of Study: Undergraduate Level 2
  • Study load: 0.125 EFTSL
  • Delivery method: Fully Online
  • Prerequisites: Yes
  • Duration: 13 weeks
  • Government loans available: FEE-HELP, HECS-HELP
  • Availability for 2017: SP2 , SP4
  • Availability for 2018: SP2 , SP4
  • Assessment: Assignment 1 (15%) , Assignment 2 (30%) - Learn more

Unit provided by

or
2018 Fees
AUD$
Domestic 1,169.00
HECS 1,169.00
International 1,419.00

This unit teaches practical, modern software development practices in the C programming language. This unit extends the study of programming principles developed in pre-requisite units, including use of defensive programming, debugging, testing, coding standards and practices and software design principles. This unit may serve as a foundation for further studies in Computer Science and Software Engineering.

Upon successful completion of this unit you should be able to:

  1. use standard C programming language appropriately
  2. discuss software design and development strategies and explore underpinning concepts as related to practical projects using advanced programming techniques
  3. organise separate C source files, with larger C programs in mind, so that they reflect the use of Abstract Data Types wherever required
  4. demonstrate how computer memory works in the context of the C programming language
  5. employ good programming style, standards and practices, during program development using the C language
  6. analyse and solve computing problems, develop suitable algorithmic solutions which are then coded in the C programming language
  7. implement dynamic data structures in a modular fashion in standard C
  8. implement small to medium programs of varying complexity, using the most commonly used features of the C language, whilst also adhering to standard (ISO) language features
  9. discuss and use appropriate strategies to develop bug free software including debugging skills, including identifying appropriate debugging tools
  10. adapt programming experience and language knowledge to / from other programming language contexts
  11. make choices in software development and justify those choices
  12. develop further skills for learning in a computer science context, including decision-making about guided design of some software components.
  • Assignment 1 (15%)
  • Assignment 2 (30%)
  • Exercises — Debugging Exercise (5%)
  • Invigilated Exam — Final Written Exam (50%)
For more information on invigilated exams see Exams and results

Recommended prerequisites

You are recommended to have completed the following unit(s) or have equivalent knowledge before starting this unit:

Or have significant programming experience before starting this unit.

  • Broadband access — Stable broadband connection required to access online learning materials and live chat sessions / recordings. (note: mobile broadband users may have difficulties participating in live chat sessions)
  • Other special requirement — Unrestricted broadband access to enable working in the C programming environment on RMIT core teaching servers an advantage.

This unit addresses the following topics.

NumberTopic
1Getting started - Data Types & Pointers, C Pitfalls
2Problem solving and functional abstraction
3Data abstraction using C - Structured Data Types, Data Abstraction, Further C Pitfalls
4Pointer types and debugging techniques in C
5File processing - text and binary files
6Managing C programs - storage classes, multi-file programs, C pre-processor, development tools
7Module abstraction and portability in C
8Dynamic memory management
9Dynamic data structures
10Program readability and usability - enumerated types, unions, command-line args, Basic File I/O
11Generics and reusability

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

This unit is an approved elective in the following courses:

This unit may be eligible for credit towards other courses:

  1. 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.
  2. 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 Co-Op textbook list.

Textbooks are subject to change within the academic year. Students are advised to purchase their books no earlier than one to two months before the start of a unit.

Click on the titles of the listed books below to find out more:

Required textbooks

There are no required textbooks for this unit.

Enquire online

Need to ask a question that's best put down in words?
Make an online enquiry.

Enquire now

Ready to enrol?

Start studying this unit now.

or

Got a question?

Get an answer from one of our friendly Student Advisors.