ACM-SW study materials
ACM-SW study resources

ACM-SW study plan

ACM-SW · Give each week a clear focus.

8 weeks · About 7 hours per week

Week 1

Software Design & Software Requirements

  • Distinguish architectural styles (layered, client-server, pipe-and-filter, MVC) and match each to a stated quality attribute

  • Derive functional requirements and use cases from a written stakeholder scenario

  • Write non-functional requirements as measurable quality-attribute scenarios (stimulus, response, measure)

  • Sketch a component-and-connector view plus a module decomposition for one small system

Your checkpoint

A 2-page design brief for a sample system: 5 use cases, 4 quality-attribute scenarios with numeric targets, and two labeled design views

Week 2

Software Design & Software Requirements

  • Apply design principles (abstraction, information hiding, separation of concerns, coupling/cohesion) to critique a given module structure

  • Select and justify a design pattern for a stated problem, naming its trade-offs

  • Trace each requirement to at least one design element and flag untraceable ones

  • Identify requirement conflicts and write a resolution with rationale

Your checkpoint

A traceability matrix mapping 10 requirements to design elements plus a one-page pattern-selection rationale

Week 3

Software Construction & Software Testing

  • Implement a small module from a written interface spec using defensive coding and clear naming

  • Write unit tests that achieve branch coverage on that module and justify chosen test inputs

  • Refactor a duplicated code block using extract-method and verify behavior is preserved via tests

  • Configure a static-analysis or lint pass and interpret its findings

Your checkpoint

A working module with a test suite, a coverage report showing branch coverage, and a short refactoring before/after note

Week 4

Software Testing & Software Maintenance and Evolution

  • Design black-box test cases using equivalence partitioning and boundary-value analysis for a stated input domain

  • Write integration tests for a multi-component flow and distinguish them from unit tests

  • Perform a code review against a checklist and classify defects by severity

  • Plan a regression suite for a described change and justify what is included or excluded

Your checkpoint

A test plan document: test-case table, integration test list, defect log from a review, and regression scope decision

Week 5

Software Maintenance and Evolution & Software Configuration and Project Management

  • Classify maintenance types (corrective, adaptive, perfective, preventive) for a set of change requests

  • Execute a refactoring or bug-fix change while keeping the regression suite green

  • Set up version control branching and tag a release for the sample project

  • Write a change request and impact analysis for one modification

Your checkpoint

A tagged release in a repo with a change log, impact-analysis note, and evidence the regression suite passes after the change

Week 6

Software Configuration and Project Management & Software Engineering Process and Quality

  • Build a work breakdown structure and estimate effort for a small project using at least two techniques

  • Identify project risks with likelihood/impact and specify a mitigation for each

  • Map a described process to a lifecycle model and justify the choice

  • Define process and product metrics that would detect a stated quality problem

Your checkpoint

A project plan: WBS, dual-method estimate with reconciliation, risk register, lifecycle justification, and a metrics definition table

Week 7

Software Engineering Process and Quality & Software Engineering Professional Practice and Ethics

  • Apply a software quality model to evaluate a described product against stated characteristics

  • Explain how process maturity or continuous improvement applies to a given team scenario

  • Resolve an ethics scenario using a professional code of ethics, naming the conflicting obligations

  • Distinguish professional responsibility, conflict of interest, and public-safety duties in a case

Your checkpoint

A written case analysis: quality evaluation of one product plus two ethics scenarios resolved with cited principles and stated trade-offs

Week 8

Software Requirements & Software Design & Software Construction & Software Testing & Software Maintenance and Evolution & Software Configuration and Project Management & Software Engineering Process and Quality & Software Engineering Professional Practice and Ethics

  • Complete a timed full-length practice set and score each domain separately

  • Re-study the two weakest domains using targeted drills until error rate drops

  • Rehearse explaining a design trade-off, a test strategy, and an ethics decision aloud

  • Consolidate a one-page formula and terminology sheet for rapid recall

Your checkpoint

A scored practice exam with a per-domain error analysis, a remediation log for the two weakest domains, and a one-page summary sheet

Milestones

Week 2: Can produce a traceability matrix and defend a design pattern choice without notes; design-domain practice accuracy at or above 70%

Week 4: Module passes its own test suite with branch coverage documented; can derive boundary-value tests for a new input domain in under 15 minutes

Week 6: Project plan includes WBS, two reconciled estimates, and a risk register; can justify a lifecycle choice in writing

Week 8: Full practice exam completed within time; every domain scored, and the two weakest domains show measurable improvement on a retake