CS 346 Application Development

Welcome to CS 346! In this course you will form project teams that will work together to design, develop and test a robust full-stack application.


This is the course website for the upcoming Fall 2023 version of the course. This material is being revised and will likely change before the course starts in September. If you have questions in the meantime, please contact the instructor.

Course Description

From the course calendar:

CS 346 LAB,LEC,TST 0.50

Application Development

Introduction to full-stack application design and development. Students will work in project teams to design and build complete, working applications and services using standard tools. Topics include best-practices in design, development, testing, and deployment.

Prereq: CS 246; Computer Science students only


Modern software is complex, and is often too difficult for a single person to design and build on their own. By working together, we can pool everyone’s talents to tackle much larger, more complex projects. It also provides great opportunities to collaborate, expand our skills and learn from one another.

Team development is how most software is build, and knowing how to effectively work in a team is a key skill for any software developer. In this course, we emphasize using best practices in a team environment to produce a robust full-stack application. Our goal is a project that you and your team are proud to show your friends, family and potential employers.

tldr; don’t be this person.

XKCD Code Quality XKCD Code Quality
Content from xkcd.com and licensed under the Creative Commons Attribution-NonCommercial 2.5 license.