Overview

Welcome to Software Design! Most class meetings will have preparation that you should do beforehand and learning objectives that you should be comfortable with before class and after class.

I know that this first one you might not be able to get done before class, so I’ve extended the time that you can submit it for credit to tonight at 10pm just for this prep.

All of these preparation pages will have checks of some kind that you need to submit and which will be evaluated for completeness. You need to submit a complete check to earn the engagement credit for that day.

One more note: make sure to bring your laptop if you have one to class every day. If you don’t have a laptop or don’t want to use it in class, you can use a lab machine, but you should plan on having the machine that you’ll be using for class work with you if possible.

Basic Learning Objectives

These are the learning objectives that each student is responsible for having proficiency at BEFORE the class meeting.

If you aren’t sure of any of them, you should definitely aim to reach out before the class meeting to clear things up.

Before class, you should be able to:

  • Explain how your grade in this course will be determined
  • List the learning goals of the course
  • Explain very basically what the concepts of software design are

Advanced Learning Objectives

After class, you should be able to:

  • List the assignments and structure of the class
  • Explain the goals of the course
  • Explain at a basic level some ways software can be badly designed
  • Explain the largest security and social issues with “vibe coding” and generative AI code

Readings

I will always include recommended resources (usually readings) where you can find all the necessary answers.

To achieve the basic learning objectives, you should read the following:

Checks

Submit answers to the following through Moodle:

  • What is the criteria for an A in the course?
  • Which of the course’s learning goals are you most excited about?
  • What are the basic concepts of software design?

  • Remember to also fill out the Background survey asap and join CampusWire