Skip to content

IT643 — Software Design and Testing

Instructor: Ankush Chander  |  Institute: DA University


Framing Question

If an AI can write, debug, and refactor code on demand — what is left for a software engineer to do?

This course argues that the scarce skill is shifting from producing code to choosing what to build and judging whether the machine got it right.


What You Will Learn

Module 1: Requirements Discovery

Module 2: Taming Complexity

Module 3: Testing

Module 4: Design beyond a class


Labs

Lab What you do Marks Due date
1: Make it multiplayer Add a second player to another group's snake game, then measure what the change cost 40 Wednesday, 12:00 PM
2_3: Detect code smell Detect code smells in the snake game codebase 40 Monday(24/Aug/2026), 11:59 PM
4: The tests you cannot write Try to test five rules of your own snake game, then build the seam that makes one of them possible 40 Saturday(26/Sep/2026), 11:59 PM

Project

Project evaluation — ceiling, deliverables, and how it is scored. Viva immediately after the end-sem exam.


How This Site Works

  • Lecture pages — Full Markdown notes with interactive questions (??? hint blocks to click open).
  • Labs — Assignment briefs with deliverables and marking criteria.
  • Slides — Clickable presentation decks for select lectures (powered by reveal.js / mkdocs-slides).
  • Lecture Index — Complete topic map at lectures/README.md.

Prerequisites

  • Familiarity with at least one programming language
  • Basic understanding of how software systems work
  • No prior formal software engineering training required

"The AI did it" is not a defense — your name is on the change. Practice specification and verification as distinct skills.