CITS3007 Secure Coding

Credit
6 points
Offering

If this unit does not have an online alternative, then students who are presently unable to enter Western Australia and whose studies would be delayed by an inability to complete this unit, should contact the unit coordinator (details given on this page) to ascertain, on an individual case-by-case basis, if alternate arrangements can be made to support their study in this unit.

AvailabilityLocationModeFirst year of offer
Not available in 2021UWA (Perth)Face to face
Details for undergraduate courses
  • Level 3 core unit in the International Cybersecurity; Artificial Intelligence; Cybersecurity major sequences
  • Level 3 option in the Computer Science major sequence
Content
This unit covers different types of security vulnerabilities of computer systems and how to prevent and mitigate the effects of them. Topics include: (1) memory and Arithmetic Errors; (2) validated input and inter-process communication; (3) race conditions and file operations; (4) cryptographic practises; and (5) development practices.
Outcomes
Students are able to (1) demonstrate an understanding of the basic execution model of computer programs and how programs represent and access their resources; (2) explain a range of common software vulnerabilities, the threats that they pose to correct execution, and steps to mitigate them; (3) validate a program's input data and external connections; (4) apply industry standard secure programming practices; and (5) develop a systems approach to the evaluation of a software system to identify security vulnerabilities.
Assessment
Indicative assessments in this unit are as follows: (1) mid-semester test; (2) practical programming project; and (3) final examination. Further information is available in the unit outline.

Supplementary assessment is not available in this unit except in the case of a bachelor's pass degree student who has obtained a mark of 45 to 49 overall and is currently enrolled in this unit, and it is the only remaining unit that the student must pass in order to complete their course.
Unit Coordinator(s)
Arran Stewart
Unit rules
Prerequisites:
12 points of programming-based units
Advisable prior study:
CITS2002 Systems Programming
Contact hours
lectures: 2 hours per week; laboratories: 2 hours per week.
  • The availability of units in Semester 1, 2, etc. was correct at the time of publication but may be subject to change.
  • All students are responsible for identifying when they need assistance to improve their academic learning, research, English language and numeracy skills; seeking out the services and resources available to help them; and applying what they learn. Students are encouraged to register for free online support through GETSmart; to help themselves to the extensive range of resources on UWA's STUDYSmarter website; and to participate in WRITESmart and (ma+hs)Smart drop-ins and workshops.
  • Unit readings, including any essential textbooks, are listed in the unit outline for each unit, one week prior the commencement of study. The unit outline will be available via the LMS and the UWA Handbook one week prior the commencement of study. Reading lists and essential textbooks are subject to change each semester. Information on essential textbooks will also be made available on the Essential Textbooks. This website is updated regularly in the lead up to semester so content may change. It is recommended that students purchase essential textbooks for convenience due to the frequency with which they will be required during the unit. A limited number of textbooks will be made available from the Library in print and will also be made available online wherever possible. Essential textbooks can be purchased from the commercial vendors to secure the best deal. The Student Guild can provide assistance on where to purchase books if required. Books can be purchased second hand at the Guild Secondhand bookshop (second floor, Guild Village), which is located on campus.