Skip to content
Coding · 1st Year

Active learning ideas

The Software Development Life Cycle

The Software Development Life Cycle (SDLC) is the process used by professional programmers to build high-quality software. It involves several stages: planning, designing, coding, testing, and evaluating. This topic teaches students that coding is only one part of a much larger project.

NCCA Curriculum SpecificationsNCCA Coding Strand 3: 3.5NCCA Coding Strand 3: 3.6
40–60 minPairs → Whole Class3 activities

Activity 01

Simulation Game60 min · Whole Class

Simulation Game: The App Factory

Divide the class into 'departments' (Design, Coding, Testing). A 'client' (the teacher) gives a simple request. The project must pass through each department, with students experiencing how a lack of planning in 'Design' makes 'Coding' impossible.

What are the phases of software development?
ApplyAnalyzeEvaluateCreateSocial AwarenessDecision-Making
Generate Complete Lesson

Activity 02

Inquiry Circle40 min · Small Groups

Inquiry Circle: User Persona Design

Groups are given a 'user' (e.g., a grandmother who wants to video call her grandkids). They must design the interface of a simple app for her, focusing on her specific needs before they even think about the code.

Why is planning crucial before coding?
AnalyzeEvaluateCreateSelf-ManagementSelf-Awareness
Generate Complete Lesson

Activity 03

Gallery Walk45 min · Small Groups

Gallery Walk: Prototype Parade

Students create paper prototypes of a simple game or app. They display them, and 'users' (other students) try to 'click' the paper buttons. The 'developers' take notes on where the users get confused.

How do user needs shape software design?
UnderstandApplyAnalyzeCreateRelationship SkillsSocial Awareness
Generate Complete Lesson

A few notes on teaching this unit


Watch Out for These Misconceptions

  • Coding is the most important and longest part of making software.

    In reality, planning and testing often take much more time. Using a 'time-tracking' activity during a project helps students see that 'thinking' and 'fixing' are just as vital as 'typing'.

  • You only test the software once it is completely finished.

    Testing should happen at every stage. A 'bug-hunt' activity on early prototypes helps students realize that finding errors early saves a lot of work later on.


Methods used in this brief