M1 — Introduction and What is Design

SENG 365 — Software Engineering

Neil Ernst

University of Victoria

2026-07-24

Welcome and Bookkeeping

Reading: Robillard, Introduction to Software Design with Java, 3rd ed. — Ch. 1, Introduction (pp. 1–12).

A Plethora of Bookkeeping

  • Contact info; who am I
  • Teams / GitHub
  • TAs
  • Key dates
  • Assignments and lab-test format
  • Assignments and plagiarism checking: 0 on the assignment if caught

Behaviour Expectations

Harassment and discrimination are not tolerated.

  • Lectures complement the course material with demonstrations, examples, discussions, and activities — they do not replace individual reading and practice.
  • Do the reading in advance. Class time is not used to read basic definitions; terms will otherwise seem to come out of nowhere.
  • Attendance is not monitored, but strongly recommended: lectures feature walk-throughs of design and implementation as decisions are made.
  • If you attend, avoid distracting use of devices.
  • Accommodations for individual circumstances (medical, personal) are available — raise them proactively, before marks are distributed.

What is Design

Software at UVic

110/115, 265 → 350, 330, … magic … industry.

Software Problems

Turn to your neighbour. Find one well-known software disaster.

Follow-up: how does that compare to non-software engineering projects?

What is Design?

In its basic form, software design concerns determining the abstraction structure of the intended software. However, the abstraction structures in software design tend to be deeper than those in other disciplines… the final design of a program is its source code, as even just minor variations in the code can radically alter its behavior. Because of this, the distinction between design and manufacture is blurred, making software design a highly interwoven process, with design and implementation in a continuous and close relationship.

— van der Hoek and Petre, 2014

Expert Designers

Take one principle from Software Design Decoded and report back on what it means to you at this point in your career:

  1. Experts prefer solutions that they know work. (p13)
  2. Experts move among levels of abstraction. (p47)
  3. Experts make tradeoffs. (p34)
  4. Experts use notations as lenses, rather than straitjackets. (p21)
  5. Experts design throughout the creation of the software. (p22)

This Week

Your turn. Please complete the self-assessment and EX1 this week.