Skip to main content
  1. /classes/
  2. Classes, Fall 2026/
  3. CS 4140 Fall 2026: Course Site/

cs4140 Notes: 08-31 Welcome

·307 words·2 mins·
  • This is CS 4140, Software Engineering
  • I am Nat Tuck
  • Do your Inkfish attendance.

What’s This Class

“Software Engineering” is a silly idea.

Engineering is the discipline of solving specific instances of problems that people have already figured out how to solve in general.

When a civil engineer designs a bridge, the steps are:

  • Pulls out the “how to build a bridge” textbook.
  • Figures out which kind of bridge makes sense for the situation - span, bed size, carrying capacity, etc.
  • Calculates a correct bridge.
  • Gets someone else to double check the work.
  • Hand off the design to the construction team.

Software development looks nothing like that.

  • If someone already wrote a program to solve a well-defined problem, you typically can just use that program rather than writing a new one.
  • Unfortunately, problems tend not to be well-defined. The customer isn’t a developer, so they don’t know how to solve their problem with software. And the developer doesn’t know the customer’s problem domain, so they don’t know either. So a lot of software development is discussion between the customer and developer to figure out what the problem is and how software can help.

So we’ll be exploring:

  • How to write a large software project.
  • How to start when you haven’t figured out exactly what you want.
  • How to work together with a team.
  • Procedures and tools to help manage all of this.

This semester we’ll be trying one crazy new thing:

  • This is also GD 4000. The applications we’re building are going to be games.

Course Site and Syllabus

Demo

Show game demo.

Tasks due Friday

  • We’ll frequently have multiple tasks to complete each week.
  • Sign up for Inkfish
  • Request and get access to this class.
  • Complete the first homework.
Nat Tuck
Author
Nat Tuck