HSC Software Engineering study plan
HSC Software Engineering · Give each week a clear focus.
8 weeks · About 6 hours per week
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
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
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
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
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
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
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
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