cse5ces c prog engineers and scientist




Credit points: 15

Subject outline

This subject introduces procedural programming to engineering students via the C programming language. Topics include the C compiler and pre-processor, functions and programming structures, pointers and arrays, structures, input/output and the UNIX interface.

SchoolSchool Engineering&Mathematical Sciences

Credit points15

Subject Co-ordinatorRichard Skarbez

Available to Study Abroad StudentsYes

Subject year levelYear Level 5 - Masters

Exchange StudentsYes

Subject particulars

Subject rules

Prerequisites Admission in one of the following courses: SMIT, SMITCN, SMICT, SMCSC, SMBBS, SGBBS, SGCS, SGIT, SMELE or SMTNE.


Incompatible subjects CSE1CES and Students in the following courses are not permitted to enrol: SBCS, SBIT, SBCSGT, SVCSE, SZCSC, SBITP and SBBIY.

Equivalent subjectsN/A

Special conditionsN/A

Learning resources


Resource TypeTitleResource RequirementAuthor and YearPublisher
ReadingsC Programming A modern approachPrescribedK.N.KingW.W.Norton

Graduate capabilities & intended learning outcomes

01. Construct correct solutions to advanced programming problems using algorithms.

Students have 7 lectures describing basic C syntax and design with advanced lectures discussing higher level data structures and problem solving. Students are required to construct correct solutions to problems in the assignment, 10 laboratories and 1 exam.

02. Accurately transform algorithms into C-code to produce a working program consisting of complex C features such as function pointers and recursive procedures.

In laboratories, assignments and lectures students are required to transform algorithms to equivalent C code in the assignment, 10 laboratories and 1 exam. The CSE5CES students will be need to use more complex features of C than CSE1CES when doing labs and the exam. These features include function pointers and recursive procedures.

03. Analyse complex examples of C-code accurately to identify syntax and logical errors.

In lectures students are taught correct syntax and logical design along with debugging tools to identify errors in code. Students are required to identify mistakes in C code in the 10 laboratories and 1 exam.

04. Construct C code with no memory management errors.

5 lectures cover specific topics of memory allocation, file I/O and higher level data structures Students are required to write C code with correct memory management usage in 4 laboratories, the assignment and the exam.

05. Determine the output of a given C program.

Students are shown code samples in lectures where a walkthrough of the code with associated outputs is provided. Students are required to write down the output of given C programs in 1 exam.

06. Correctly implement basic multi-process programmes and basic multi-threaded programmes.

Covered in the laboratory sessions in weeks 11 and 12.

Subject options

Select to view your study options…

Start date between: and    Key dates

Melbourne, 2019, Semester 1, Day


Online enrolmentYes

Maximum enrolment sizeN/A

Enrolment information

Subject Instance Co-ordinatorRichard Skarbez

Class requirements

Laboratory ClassWeek: 10 - 22
One 3.0 hours laboratory class per week on weekdays during the day from week 10 to week 22 and delivered via face-to-face.

LectureWeek: 10 - 22
Two 1.0 hours lecture per week on weekdays during the day from week 10 to week 22 and delivered via face-to-face.

Unscheduled Online ClassWeek: 10 - 22
One 1.5 hours unscheduled online class per week on any day including weekend during the day from week 10 to week 22 and delivered via online.
"1.5 hours of online learning material and activities (Short videos between 5 to 15 minutes, each covering a different topic) to be completed before the face-to-face lecture for the week."


Assessment elementComments%ILO*
Laboratory work (10 x 2-hour labs, equivalent to approx 750 essay words)Face to face laboratory work, in Computer Lab, submission via LMS for assessment.1501, 02, 03, 04
One 2.5-hour exam (equivalent to 2750 essay words)5001, 02, 03, 04, 05
Three Assignments (equivalent to 1350 essay words)Small programming assignments (each equivalent to 400 words eassy), due in weeks 4, 8 and 12 respectively)3001, 02, 04, 06
Quizzes (equivalent to approx 300 essay words)Online quizzes (5 questions randomly chosen from a question bank). Completion of the online quiz is a pre-lab requirement, A lab work cannot be submitted without completion of the online quiz for the week.501, 02, 03, 04, 05