HSC Software Engineering study materials
HSC Software Engineering study resources

HSC Software Engineering study plan

HSC Software Engineering · Give each week a clear focus.

8 weeks · About 6 hours per week

Week 1

Structured and object-oriented programming concepts & Software engineering fundamentals and the software development life cycle

  • Write and trace by hand a 60-line program using classes, inheritance and polymorphism, predicting output before running it

  • Implement encapsulation correctly by making fields private and exposing behaviour through methods, then justify each access modifier chosen

  • Map the phases of the software development life cycle onto a small program you have written, naming the artefact produced at each phase

  • Compare waterfall, iterative and agile approaches by listing two situations where each is the better choice

Your checkpoint

A 2-page annotated code walkthrough of one program you wrote, showing where each SDLC phase appears and labelling every OOP construct used

Week 2

Structured and object-oriented programming concepts & Data structures, algorithms and algorithm complexity

  • Implement a stack, a queue, a linked list and a binary search tree from scratch without library collections, each with insert, delete and traverse operations

  • Trace recursive algorithms by drawing the call stack for at least three functions including a tree traversal

  • Distinguish abstract data types from their implementations and explain the trade-off between array-backed and node-based structures

  • Write unit tests that cover empty, single-element and full structure cases for each data structure

Your checkpoint

A working code repository of four data structures with a test suite of at least 20 assertions that all pass, plus a one-page comparison table of their operation costs

Week 3

Data structures, algorithms and algorithm complexity & Software engineering fundamentals and the software development life cycle

  • Classify the time complexity of ten given code fragments by counting dominant operations and stating the Big-O result with reasoning

  • Implement bubble, insertion, merge and quicksort, then benchmark them on input sizes of 100, 1000 and 10000 and plot the results

  • Explain why average-case and worst-case complexity differ for quicksort and describe an input that triggers the worst case

  • Apply a testing strategy to your sorting code that includes boundary inputs, duplicates and already-sorted data

Your checkpoint

A short report containing the ten complexity classifications with justification, the benchmark table and a graph matching measured growth to predicted Big-O

Week 4

Software design, modelling and user-centred design & Software engineering fundamentals and the software development life cycle

  • Produce UML class and sequence diagrams for a system of at least six classes and check them against the code for consistency

  • Translate a written scenario into use cases with actors, preconditions and main success paths

  • Apply user-centred design by drafting three personas, then derive and prioritise five functional requirements from them

  • Evaluate two interface prototypes against Nielsen's usability heuristics and record the defects found

Your checkpoint

A design document of 4-6 pages containing UML diagrams, three personas, a prioritised requirements list and a heuristic evaluation table

Week 5

Programming for the web and secure software systems & Software design, modelling and user-centred design

  • Build a small multi-page web application with server-side form handling and validation on both client and server

  • Demonstrate and then fix three common web vulnerabilities in your own app: SQL injection, cross-site scripting and insecure direct object reference

  • Explain how prepared statements, output encoding, HTTPS and password hashing each mitigate a specific attack

  • Apply the principle of least privilege to a database account and document what the change prevents

Your checkpoint

A deployed web application with a written security log showing each vulnerability reproduced, the fix applied and a retest confirming the fix

Week 6

Programming for the web and secure software systems & Software project management, teamwork and the mechatronics/automation context

  • Implement authentication with hashed and salted passwords plus session handling, then test session expiry and logout behaviour

  • Create a version-controlled repository with a branching workflow, meaningful commit messages and a merged pull request

  • Estimate the effort for the remaining features using a work breakdown structure and record assumptions behind each estimate

  • Identify three risks in your project and assign each a likelihood, impact and mitigation action

Your checkpoint

A project repository with a commit history showing branching and merging, plus a risk register and effort estimate for the final two weeks

Week 7

Software project management, teamwork and the mechatronics/automation context & Ethical, legal and social issues in software engineering

  • Describe how a sensor, controller and actuator loop works in an automated system and write pseudocode for a control loop with error handling

  • Analyse two case studies of software failure and identify the engineering and process causes behind each

  • Apply the Australian Privacy Principles and copyright law to a scenario involving user data and third-party code, stating the obligations that arise

  • Argue both sides of one ethical dilemma in software engineering and reach a defensible position using a recognised ethical framework

Your checkpoint

A 1000-word written response covering the control loop pseudocode, the failure analysis and the legal and ethical scenario with reasoned conclusions

Week 8

Software engineering fundamentals and the software development life cycle & Structured and object-oriented programming concepts & Data structures, algorithms and algorithm complexity & Software design, modelling and user-centred design & Programming for the web and secure software systems & Software project management, teamwork and the mechatronics/automation context & Ethical, legal and social issues in software engineering

  • Complete two full-length practice papers under timed conditions and mark them against the syllabus weighting

  • Rewrite your weakest three explanations so each states the concept, gives an example and links to a consequence

  • Build a one-page summary sheet of formulas, complexity classes and legal principles from memory, then check it against your notes

  • Identify the two domain areas with the lowest practice scores and schedule targeted revision for each

Your checkpoint

A scored record of both practice papers with a written error analysis listing every lost mark, its cause and the corrective action

Milestones

Week 2: Can implement a stack, queue, linked list and binary search tree from scratch and state the Big-O cost of each core operation without notes

Week 4: Can produce consistent UML class and sequence diagrams for a six-class system and derive prioritised requirements from personas

Week 6: Can demonstrate a working, hardened web application with authentication, input validation and a clean version-control history

Week 8: Scores at least 75 percent on both timed practice papers with every error classified and a revision action attached