CST 338: Software Design

Provides students with the fundamental concepts to develop large-scale software, focusing on the object-oriented programming techniques. Coverage includes the introduction to Java programming language, object-oriented programming, software life cycle and development processes, requirements analysis, and graphical user interface development.


Video presentation on how to approach the abstraction of Card, Deck, and Hand classes for use in a card game.

Barcode Reader: Simulates reading and writing data matrices to encode and decode characters using binary representations. [demo]
Build: A Card Game with an AI player. GUI is created with Java Swing. [demo]
Video demo of a short Android game about common barriers women encounter when pursuing a career in software engineering.