Home / Courses / Software Development — Beginners (1st)

Professional Software Development · 1st Edition

Software Development — For Beginners

A from-scratch grounding in real software development: from understanding how code runs, through the fundamentals of C#, to building genuinely interactive web applications with Blazor.

Edition
1st · Beginners
Dates
23 Apr – 16 Jul 2025
Format
Weekly · 12 sessions
Partner
Townley Grammar School

Overview

The launch of our second flagship programme: not "coding club", but professional software development for complete beginners. Students built a clear mental model of how software works, learned the fundamentals of C# in Visual Studio, and finished by building dynamic web pages with HTML, CSS and Blazor — the real toolset of a working developer.

Session by session

  1. 1

    What software is: hardware, ISAs & compilers

    Defined software and hardware (CPU, RAM, transistors), introduced instruction set architectures as the hardware–software interface, and showed how tedious raw machine code is. Covered abstraction, compilers and interpreters, with a "hello world" C# warm-up and a spreadsheet used as an "interpreter".

  2. 2

    From spreadsheets to C# in Visual Studio

    Introduced variables and control structures and the idea of an IDE, then built a real C# console program that stores values, adds them and prints results — adding user input with Console.ReadLine and stressing the user's perspective.

  3. 3

    Conditionals & code blocks

    Introduced braces and if/else conditionals and the role of indentation, clarified assignment (=) versus equality (==) and the modulus operator, with an exercise testing whether numbers are even/odd or in range, shown in colour.

  4. 4

    Loops plus conditionals

    Introduced the while loop alongside operators like % and i++, with exercises listing numbers in a range and a number's divisors, culminating in a name-and-birth-year "house-sorting" game combining the ideas.

  5. 5

    DRY code with functions

    Introduced functions as reusable blocks following the Don't-Repeat-Yourself principle, refactoring earlier programs to remove duplication, building input-reading helpers and validating input with int.TryParse.

  6. 6

    Classes & organising larger codebases

    Set a Roman-numeral challenge and recapped the fundamentals, then introduced classes as a way to bundle data and behaviour for reuse — illustrated with a Dog class and a Bark method.

  7. 7

    Building web pages with HTML & CSS

    Introduced HTML as a tag-based language, the document structure, attributes and inline CSS styling, and how a page combines HTML, CSS and JavaScript — using browser Dev Tools to inspect and modify live pages. (This topic ran across two weeks — sessions 7 and 8.)

  8. 9

    Dynamic web pages with Blazor

    Contrasted static HTML with interactive pages and introduced Blazor for generating HTML with C#. Students created a Blazor WebAssembly app in Visual Studio, ran it, and explored the Razor-based Home and Counter pages.

  9. 10

    Blazor: Razor syntax & events

    Broke down a Blazor page, explaining how @ switches from HTML to C# and how @onclick wires events to C# functions, through "spot the error" and "what does it do" exercises.

  10. 11

    Blazor: data binding & input

    Focused on data binding with @bind-value on inputs and reading mouse events with @onmousemove, combining live mouse-coordinate display with a number input that drives font size.

  11. 12

    Blazor: mixing C# and HTML with Razor

    Focused on embedding C# in Razor — @if/else conditional rendering and switching modes between markup and code — with exercises computing and displaying results inline and combining numeric inputs.

Skills developed

← Back to all courses