CSC-210 study plan
CSC-210 · Give each week a clear focus.
8 weeks · About 6 hours per week
Software Design Principles and Architecture & Programming Fundamentals and Data Structures
Map each SOLID principle to a concrete code smell it prevents, writing a one-paragraph example of a violation and its refactor for all five principles
Compare layered, hexagonal, and microservices architectures on coupling, deployment, and testability using a single worked scenario
Implement from scratch a singly linked list, a dynamic array, and a hash table with open addressing, including insert, delete, and lookup
Derive Big-O time and space complexity for every operation you implemented and justify each bound in writing
Your checkpoint
A 10-15 page design and data-structure notebook containing five SOLID refactor examples, an architecture comparison table, and three implemented data structures with complexity tables
Software Design Principles and Architecture & Programming Fundamentals and Data Structures
Diagram a system you know using component, deployment, and sequence views, and annotate each dependency direction
Apply the Dependency Inversion and Interface Segregation principles to break a cyclic module dependency you identify in that diagram
Implement binary search trees, balanced-tree rotations, and a priority queue, then benchmark them against your Week 1 structures
Trace and explain at least two concurrency hazards such as race conditions or deadlocks in pseudocode and propose fixes
Your checkpoint
An architecture diagram set plus a benchmark report comparing five data structures on insertion, lookup, and deletion at 1k, 10k, and 100k elements
Testing, Verification, and Quality Assurance & Software Development Life Cycle and Methodologies
Write a unit, integration, and end-to-end test for one feature and classify each by scope, speed, and failure signal
Compute statement and branch coverage for a small module and identify two untested paths that coverage metrics hide
Contrast Waterfall, Scrum, and Kanban on change handling, cadence, and estimation approach using one project scenario
Design a test plan for a sprint increment that states entry criteria, exit criteria, and defect triage rules
Your checkpoint
A test plan plus a test suite with a coverage report and a written analysis of at least two coverage blind spots
Testing, Verification, and Quality Assurance & Software Development Life Cycle and Methodologies
Apply boundary value analysis and equivalence partitioning to derive test cases for a validation rule with numeric and string inputs
Explain the test pyramid and justify where your team should invest automation effort for a given release cadence
Map the V-model test levels to artifacts produced in each SDLC phase and note which phase owns each defect class
Write a regression strategy that selects tests based on change impact rather than running everything
Your checkpoint
A test design document with derived boundary and equivalence cases, a test-pyramid justification, and a change-impact regression matrix
Requirements Engineering and Analysis & Software Configuration Management and DevOps
Elicit and write ten functional requirements and five non-functional requirements with measurable acceptance criteria
Rewrite three vague requirements into testable statements and flag each ambiguity you resolved
Set up a Git repository with a branching model, protected main branch, and a pull-request review checklist
Build a CI pipeline that runs build, tests, and static analysis on every push and blocks merges on failure
Your checkpoint
A requirements specification with traceability IDs linked to test cases, plus a working CI pipeline configuration committed to the repository
Software Configuration Management and DevOps & Software Project Management and Estimation
Implement semantic versioning and a changelog convention, then tag two releases with reproducible build artifacts
Trace one requirement ID from specification through commit, test, and deployment to demonstrate end-to-end traceability
Produce a three-point estimate for five backlog items and compare the total with a planning-poker consensus estimate
Build a burndown or cumulative flow chart from simulated sprint data and interpret two anomalies in it
Your checkpoint
A release and traceability package containing tagged releases, a changelog, a requirement-to-deployment trace, and an estimation comparison with chart interpretation
Software Project Management and Estimation & Software Security and Professional Ethics
Identify and rank five project risks by probability and impact, and assign a mitigation owner and trigger to each
Apply the OWASP Top Ten to a design you produced earlier and list the three highest-exposure weaknesses with concrete controls
Threat-model one feature using STRIDE and record at least six threats with mitigations
Explain how secure coding practices such as input validation, output encoding, and least privilege map to specific development tasks
Your checkpoint
A risk register with ranked risks and mitigations plus a STRIDE threat model covering one feature end to end
Software Security and Professional Ethics & Requirements Engineering and Analysis
Analyze two ethical dilemmas involving user data, disclosure, or schedule pressure using a recognized code of ethics and reach a defensible recommendation
Validate a requirements set for completeness, consistency, and verifiability, and log every defect you find
Take two timed practice exams under exam conditions and categorize every miss by domain
Build a targeted review list of your three weakest subdomains and close each gap with a written summary
Your checkpoint
A final review portfolio containing two ethical case analyses, a requirements validation log, and a scored practice-exam error analysis with a prioritized remediation list
Milestones
Week 2: You can draw a component and deployment view of any system from memory and justify each dependency direction using SOLID and coupling principles, and you can state the Big-O of five data structures without notes
Week 4: You can derive boundary and equivalence test cases from a written requirement and explain which SDLC phase owns each defect class, scoring at least 70 percent on a self-made 20-question quiz covering domains 1, 3, 4, and 5
Week 6: A commit can be traced from a requirement ID through a passing CI run to a tagged release without manual lookup, and your estimate for five items falls within 20 percent of the consensus estimate
Week 8: Both timed practice exams are complete, every missed question is categorized by domain, and no domain remains below 65 percent accuracy on your error analysis