Credit points: 15

Subject outline

This subject introduces you to the ideals and practices of secure programming. Students begin by learning a procedural language, including the concepts of pre-processor, compiler, functions, control structures (branching and looping), pointers and arrays, structures, and file I/O. Students then learn to identify and analyse common coding practices that lead to security vulnerabilities, such as buffer overflows, SQL injection and Cross Site Scripting (XSS) attacks. Finally, students return to coding, learning to use secure coding techniques and strategies to avoid security vulnerabilities. This subject does not require prior knowledge of computer programming.

SchoolEngineering and Mathematical Sciences

Credit points15

Subject Co-ordinatorKayes Kayes

Available to Study Abroad/Exchange StudentsYes

Subject year levelYear Level 5 - Masters

Available as ElectiveYes

Learning ActivitiesN/A

Capstone subjectNo

Subject particulars

Subject rules



Incompatible subjectsN/A

Equivalent subjectsN/A

Quota Management StrategyN/A

Quota-conditions or rulesN/A

Special conditionsN/A

Minimum credit point requirementN/A

Assumed knowledgeN/A

Learning resources

Secure Coding in C and C++

Resource TypeBook

Resource RequirementRecommended

AuthorSeacord, R.





Chapter/article titleN/A



Other descriptionN/A

Source locationN/A

Career Ready


Work-based learningNo

Self sourced or Uni sourcedN/A

Entire subject or partial subjectN/A

Total hours/days requiredN/A

Location of WBL activity (region)N/A

WBL addtional requirementsN/A

Graduate capabilities & intended learning outcomes

Graduate Capabilities

Intended Learning Outcomes

01. Construct solutions to programming problems using algorithms and flowcharts
02. Transform algorithms and flowcharts into source codes to produce working programs
03. Analyse syntax and logical errors in source codes
04. Manage source codes against security vulnerabilities
05. Evaluate security vulnerabilities in different procedural languages, including web applications
06. Create source codes to avoid security vulnerabilities

Subject options

Select to view your study options…

Start date between: and    Key dates

Melbourne (Bundoora), 2021, Semester 1, Day


Online enrolmentYes

Maximum enrolment sizeN/A

Subject Instance Co-ordinatorKayes Kayes

Class requirements

Laboratory ClassWeek: 11 - 43
One 2.00 hours laboratory class per week on weekdays during the day from week 11 to week 43 and delivered via face-to-face.

LectureWeek: 11 - 43
One 2.00 hours lecture per week on weekdays during the day from week 11 to week 43 and delivered via face-to-face.


Assessment elementCommentsCategoryContributionHurdle% ILO*

Weekly tasks (source code, written document and quiz) - 1500 words equivalent

N/AQuizzesIndividualNo40 SILO4, SILO5, SILO6

Written Assignment - Write a client report on secure coding practices (equivalent to 1000 words) Will include the need to be integrated into the software engineering environment to prevent security problems

N/AAssignmentIndividualNo20 SILO5, SILO6

2 hour Exam (2000 words equivalent) Given a complex C program, identify vulnerabilities and suggest strategies for mitigating these vulnerabilities

N/ACentral examIndividualNo40 SILO1, SILO2, SILO3, SILO4, SILO5, SILO6