Welcome to CS 276

Lecture W1T1: Press Start

Lucas P. Cordova, Ph.D.

Willamette University

August 25, 2026

Welcome

Today’s agenda

LECTURE 1-1 // PRESS START

In this session:

  1. Introductions, yours and mine (including a short co-op activity).
  2. What this course is and where it goes.
  3. How your grade is built: no exams, one shipped game.
  4. Key dates for your calendar, and your first quest.

Then on Thursday we open the engine and start building.

Meet your professor

Lucas P. Cordova, Ph.D.

What I work on:

  • Software engineering and testing education, including tools my lab builds like Testing Tutor and Pedalogical.
  • AI in computer science education, and how developers evaluate the code tools generate.
  • Teaching across the CS and Data Science programs here at Willamette.

Why I love this course

Games are the most demanding software most of you will ever write:

  • They are real-time systems: 60 frames per second, every second, no excuses.
  • They are event-driven architectures where everything talks to everything, and staying modular is a daily fight.
  • They are the software people love. Nobody playtests your compiler for fun.

Every architecture idea in this course, abstraction, events, state machines, components, data-driven design, earns its keep on screen, where you can see it work.

Player 2 Has Joined

Co-op: interview your neighbor

Interview your neighbor, then introduce them to the class.

Pair up with someone you did not arrive with. You have 3 minutes per partner to learn:

  1. Their name (as they want to be called) and year or major.
  2. One thing about them that has nothing to do with computers or games.
  3. Their answer to the game question on the next slide.

The interview question

Ask your partner:

“What game have you put the most hours into, and what keeps pulling you back?”

Any game counts: video game, board game, sport, phone puzzle. Listen for the loop:

  • The action they repeat, over and over.
  • The reward the game hands back.
  • The reason the reward makes them do it again.

That action-reward cycle is the core loop, and it is the beating heart of every game your teams will build this semester.

3 minutes per partner.

Introduce your partner

Format for your 30 seconds:

  1. “This is [name], a [year / major].”
  2. One non-game fact.
  3. “Their game is [game], and its loop is [action, reward, repeat].”

Remember these answers. When we form teams, “what loops do we love” is a better starting point than “what engine features look cool.”

30 seconds per introduction.

What This Course Is

CS 276 in one paragraph

This course explores interactive game systems through rapid prototyping and iterative design using Godot and GDScript. You will extend what CS 152 taught you, abstraction, data structures, event-driven programming, modular organization, inside a real engine: scene composition, signals, state machines, components, and data-driven design. Then, in a team of two, you will design, build, playtest, and publicly ship an original game.

This is not a course about playing games. It is a course about the software architecture that makes them run, and the discipline that gets them finished.

The semester arc

Act I makes you dangerous in Godot, one system per lab. Act II is a studio: your team ships a game through milestone gates, with playtests and stakeholder reviews driving every sprint.

What we build with

  • Godot: free, open source, lightweight, and genuinely used to ship commercial games.
  • GDScript: Python-flavored, engine-native. If you survived CS 152, you will be writing it comfortably within two weeks.
  • git + GitHub: every lab and the whole project live in version control. Your commit history is graded evidence.
  • No textbook to buy. Readings come from Game Programming Patterns (free online), the official Godot docs, and curated free resources in Canvas.

Logistics

  • Meetings: Tuesday and Thursday, 9:40 - 11:10 AM, Ford 202.
  • Canvas: assignments, submissions, weekly lesson pages, announcements. Canvas is authoritative for due dates.
  • Course site: courses.lpcordova.phd/cs276 hosts all lecture slides.
  • Laptop: bring one that can run the Godot editor, every class. Talk to me this week if that is a barrier.
  • Prerequisite: CS 152, or come talk to me. No game development experience expected.

How Your Grade Is Built

Grade components

Component Weight
Individual labs (6) 25%
Team project milestones 30%
Final release, showcase, postmortem 15%
Stakeholder reviews (feedback you give) 10%
Playtesting and participation 10%
Sprint reports and peer evaluations 10%
Total 100%

There are no exams. Your grade is earned by building, shipping, and critiquing games. A C- or better is required for university credit.

Act I: the labs

Six individual labs, one system each, weeks 1 through 8:

Lab System Artifact
0 Tooling + GDScript Your first scene
1 Game loop, input, collision Paddle game
2 Scenes, instancing, signals Brick breaker
3 State machines Platformer
4 Components + data Component kit
5 UI + game feel Menus and juice

Labs are individual: no shared code, and every one produces something playable.

Act II: the game project

  • Teams of two. You and a partner design, build, and ship an original game.
  • Scope guardrail: think classic-arcade footprint, a Breakout, an Asteroids, a small platformer. 2D strongly recommended. Small and finished beats big and broken.
  • Milestone gates: proposal (Oct 8), prototype (Oct 15), alpha (Nov 5), beta (Nov 19), then the showcase and a public itch.io release.
  • Process is graded: sprint reports, playtest evidence, integration discipline, and your git history count as much as the build.

The stakeholder model

Every project has two peer stakeholders: students from other teams, assigned at proposal time, who serve as that project’s clients and critical friends all semester.

  • At each of three review gates (prototype, alpha, beta), your stakeholders play your build and deliver structured written feedback.
  • Your team must respond in its next sprint report: adopt, adapt, or decline with rationale.
  • Every student serves as a stakeholder for exactly one other project, and you are graded on the feedback you give: its specificity, insight, and usefulness.

Critique is a collaborative skill. Here, it is a first-class graded one.

Playtests, sprints, and peer evals

  • Playtesting and participation (10%): playtest days and critiques happen in class and cannot be made up. Attendance is taken periodically.
  • Sprint reports (10%, with peer evals): every two weeks your team reports what shipped, what slipped, what playtests and stakeholders taught you, and what is next.
  • Peer evaluations accompany each report and adjust individual grades on team work. A semester of invisible work cannot be rescued by a strong final week.

Policies that matter most

  • Late work: labs lose 10% per day, nothing past one week. Milestones lose 10% per day, nothing past 5 days. Reviews, playtests, and the showcase have fixed slots.
  • Academic honesty: lab code is individual. Team code is shared inside the team, visible in version control.
  • Assets and licensing: every asset you did not make needs a license you actually have, and credit in your game. Shipping unlicensed assets is an honesty violation here, and a lawsuit out there.
  • Generative AI: fine for exploring and prototyping, but you must be able to explain, reproduce, and defend everything you submit, and disclose AI assistance, in code and in credits.

Key dates for your calendar

Date What
Fri Sep 4 Last day to Add/Drop (5pm)
Thu Oct 8 Project proposal due; stakeholders assigned
Thu Oct 15 Prototype due; Stakeholder Review 1
Tue Nov 3 Advising Day, no class
Thu Nov 5 Alpha due; Stakeholder Review 2
Thu Nov 19 Beta due; Stakeholder Review 3; content lock
Thu Nov 26 Fall Break, no class
Thu Dec 3 SHOWCASE: presentations + arcade session
Fri Dec 11 Final release + postmortem due (no final exam)

Getting help

  • Student hours: MW 10:15 - 11:15 AM and T/Th 11:15 AM - 12:15 PM in Ford 210, right after our class; or book at lpcordova.phd/meet. In person, phone, or Google Meet.
  • Accessible Education Services: Smullin 155, 503-370-6737, accessible-info@willamette.edu. Talk to me early if anything about the course design is a barrier.
  • Rough day? The syllabus has a Handle with Care policy: tell me you need it, no explanation required.
  • The syllabus lists the full policies and student resources. Read it this week.

Before Thursday

Lab 0: Press Start is assigned today, due Tuesday, September 1, 9:59 PM via Canvas:

  1. Install Godot and git; set up your lab repository on GitHub.
  2. Complete Learn GDScript From Zero (free, in your browser).
  3. Build and push your first scene: a Bearcat on the loose, with a caption and a couple lines of motion.

Also before Thursday: read the syllabus in Canvas, and skim the Godot introduction. Thursday we open the engine: nodes, scenes, and the scene tree.

References

Sources

  1. CS 276 Syllabus, Fall 2026: Canvas.
  2. Godot Engine documentation: docs.godotengine.org.
  3. Nystrom, R. Game Programming Patterns: gameprogrammingpatterns.com.