Graduate Courses

CSCE 553 - Principles of Software Methodology

Since Fall 2026, taking into consideration of the advent of Agentic AI, the focus of this course has shifted to Internet Scale Software Engineering.

Internet-scale engineering begins when workload, data volume, failure probability, geographic distribution, security exposure, or cost makes a simple design insufficient. In CSCE 553, you will learn how to recognize that point and evolve a working system using evidence.

You will build one system throughout the term. It begins as an API backed by PostgreSQL and grows only when measurements justify the next change. By the end, the system includes distributed data, asynchronous processing, search, telemetry, resilience, security controls, and an analytical data path.

This is a hands-on, graduate-level course. Expect weekly experiments, technical reading and discussion, team infrastructure work, evidence-based reports, and an oral architecture defense.

Undergraduate Courses

CMPS 453 - Introduction to Software Methodology

The world has changed. AI tools like ChatGPT, Claude, and Cursor have fundamentally altered what it means to build software. Code that once took days now takes hours. Features that required deep expertise can now be generated with the right prompt.

But here's what hasn't changed: Understanding what people actually need is still hard. Finding users who will pay for your solution is still hard. Building something people care about is still hard.

This course will teach you to:

  • Understand people — Who are your users? What do they struggle with? What would make their lives better?
  • Move fast — Use AI-augmented development to build working software in days, not months.
  • Ship products — Not just code, but products that real people can use, with real value.
  • Iterate from feedback — Learn from users, not just from your assumptions.

By the end of this course, you will have launched a product.
Not a class project. A real product, with real users, that solves a real problem.