ACM-SW study materials
ACM-SW study resources

ACM-SW study guide

ACM-SW · Work through your exam, one topic at a time.

The ACM Software Engineering Certification (ACM-SW) is a multiple-choice credential intended for practitioners who want independent evidence that they can apply software engineering fundamentals across the full delivery lifecycle, not just write code in one language. It suits working developers moving toward senior or lead roles, testers and analysts broadening into engineering, and graduates who want a structured target for their study. The ACM-SW study guide has 8 sections and about 2,497 words.

01

Software Requirements

Requirements engineering spans elicitation (interviews, workshops, observation, prototyping), analysis and negotiation , specification , and validation . Distinguish functional requirements (what the system does) from non-functional requirements (quality attributes: performance, security, usability, availability) and from constraints (fixed technology, regulations, budgets).

332 words, about 2 min
02

Software Design

Design turns requirements into a structure: architecture (modules, layers, components, interfaces) and detailed design (classes, algorithms, data structures). Know the classic architectural styles : layered, client-server, pipe-and-filter, event-driven/publish-subscribe, microservices, and MVC.

306 words, about 2 min
03

Software Construction

Construction is coding, unit-level verification, and integration. Candidates should understand coding standards , naming and readability , defensive programming , error handling vs exceptions , resource management , and concurrency basics (race conditions, deadlock, atomicity).

304 words, about 2 min
04

Software Testing

Testing spans levels (unit, integration, system, acceptance), types (functional, performance, security, usability, regression), and techniques . Black-box techniques include equivalence partitioning , boundary value analysis , decision tables , and state transition testing .

286 words, about 1 min
05

Software Maintenance and Evolution

Maintenance is the majority of lifecycle cost. Know the four ISO-style categories : corrective (fixing defects), adaptive (responding to environment change), perfective (improving performance or maintainability), preventive (forestalling future problems, e.g., refactoring).

292 words, about 1 min
06

Software Configuration and Project Management

Configuration management (SCM) identifies, controls, and audits work products: version control , baselines , change control , and configuration audits . A baseline is an approved, immutable reference point; changes after it go through change control.

324 words, about 2 min
07

Software Engineering Process and Quality

Process models include waterfall (sequential, document-driven), incremental , iterative , spiral (risk-driven), V-model (verification/validation paired with each phase), and agile (Scrum, XP, Kanban). Know Scrum roles (Product Owner, Scrum Master, Developers), artifacts (product backlog, sprint backlog, increment), and events (sprint planning, daily scrum, review, retrospective).

313 words, about 2 min
08

Software Engineering Professional Practice and Ethics

Professional practice covers codes of ethics (e.g., ACM/IEEE Software Engineering Code), professional responsibility , competence , confidentiality , conflict of interest , and intellectual property . Know the eight principles commonly cited: public, client and employer, product, judgment, management, profession, colleagues, and self.

340 words, about 2 min