324/326

Visit G-ArchiTech and enjoy previous students’ Software Design and Development projects 🙂

  • If you are an instructor, you may find my Instructional Framework page interesting.
  • All text, course design, and development done by Eliott: no GenAI use – not even for brainstorming.

Spring 2026

  1. Professional and Scientific Conduct document
  2. Coding policy
  3. 324 Syllabus
  4. Deliverables and due dates on Gradescope.
  5. Draft Schedule here (however, look below for the most up-to-date info).
  6. Previous offerings can be found below.
  7. Catalog: CSC 324 – Software Design and Development, and CSC 326 – Software Development Leadership.

Deliverables, 2026 – Due dates on Gradescope

1. Programming Labs (Java)

2. Professional Background Journal (will be updated to include all five themes).

Professional Background Journal 

3. Career Readiness (will be updated to include all activities)

Career Readiness deliverable.

4. Individual Project (will be updated to include all deliverables)

Individual Project

5. Ethics Reflections (will be updated to include all deliverables)

Reflections 

6. Group project:

Projects: sent by email. Explore previous projects here.

Group Project – Deliverables

Detailed Schedule, 2026

Week 1: Wednesday, January 21, 2026

To-Do Items – Due before class

  1. Watch: The Essence of Software (Or Why Systems Often Fail by Design, and How to Fix Them) by Daniel Jackson.
  2. Read Part I: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”

In class

  1. About the Instructor.
  2. Course Overview, expectations, and deliverables, and a draft schedule
  3. Deliverables: Career Readiness 1
  4. Lab_1 (see “Labs” at the top of the page).

Friday, January 23, 2026 Note location! HSSC*S2314

To-Do Items – Due before class

  1. Take a look at the systems-thinking slides sent by email.
  2. Choose:
    1. Watch History of Software Engineering with Grady Booch, or
    2. Listen to the Podcast: Evolution of software architecture with Grady Booch
  3. Work on Lab 1 and career readiness 1.

In class – Note location! HSSC*S2314

  1. Intro to the individual project.
  2. Discussion: “Why Systems Often Fail by Design”? 
  3. Social gathering and systems-thinking activity.
  4. Deliverables:
    1. Professional Background Journal 1.

Week 2: Monday, Jan 26, 2026. 

To-Do Items

  1. Watch:  The Perfect Robot Vacuum For Every Budget – Best Robot Vacuum 2025
  2. Read Chapter 1: Fundamentals of Software Architecture: An Engineering Approach
  3. Read Chapter 5 Software Architecture – book: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring.

In class

  1. Intro to software architecture (slides will be sent by email)
  2. Design patterns, Model-View-Controller (MVC) 
  3. In-class activity: architecting two systems.
  4. Deliverable: Professional Background Journal 2.

Wednesday, January 28, 2026 

To-Do Items

  1. Watch: Ariane Launch failure, Sommerville
  2. Read: Ariane 5 launcher failure, Sommerville
  3. Watch: Longer video of ‘Ariane 5’ Rocket first launch

In class

  1. Intro to Software Engineering (slides sent by email)
  2. Activity: Ariane 5 launch accident.
  3. Deliverables:
    • Professional Background Journal 3.
    • Lab_1A wrap-up.

Friday, January 30, 2026.

To-Do Items

  1. Read: Debates on the nature of artificial general intelligence
  2. Read Part II: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”

In class

  • Intro to AI and RL, part I
  • Deliverable: Professional Background Journal 4
    • AI engineering, Capability Maturity Model, and AI Maturity Model
  • Lab 1_B

Week 3, Monday, February 2, 2026. 

To-Do Items

  1. Read: RL book, chapter 1.
  2. Read: Rationality – Wikipedia
  3. Explore: RL book, chapter 14.

In class

  • Wrap-up labs and background journal, Brainstorming: individual project.
  • CV lab
  • Career Readiness 2

Wednesday, February 4, 2026. 

To-Do Items

  1. Read Part III: The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.

In class

  • Intro to AI and RL, part II 
  • Deliverable: Lab 2 

Friday, February 6, 2026. 

To-Do Items

In class

Week 4, 2026

Monday, February 9, 2026 . 

To-Do Items

  1. Watch: Programming Distributed Systems with Mae Milano

In class

Wednesday, February 11, 2026 

To-Do Items

In class

Friday, February 13, 2026. 

To-Do Items

In class

Week 5, 2026

Monday, February 16, 2026. 

To-Do Items

In class

  • Deliverables: Career Readiness and prepare your Elevator pitch
  • Class slides: Active Listening, MOUs.

Wednesday, February 18, 2026 .  

To-Do Items

In class

  • Today only: Attendance Optional
  • Today: Technical Debt, Cobol, Security, and Threat.
    • Work on the Professional Background Journal 5 (this is the last topic).
  • Lab: individual project, worktime

Friday, February 20, 2026. 

To-Do Items

In class

  • Guest Lecture

Week 6, 2026

Monday, February 23, 2026 . 

To-Do Items

In class

    • User-System Performance
    • Testing, Code Review, and Test-driven development.
    • Demo video 
    • Lab: individual project, work time

Wednesday, February 25, 2026 . 

To-Do Items

  1. Prepare and deliver Elevator Pitch, submit reflection on gradescope

In class

  • Individual Project: Software Architecture
  • Deliver your pitch
  • Lab: work time

Friday, February 27, 2026. 

To-Do Items

  1. Prepare and deliver Elevator Pitch, submit reflection on gradescope

In class

  • Deliver your pitch
  • Ethics Reflections 1
  • Lab: work time

Week 7, 2026

Monday, March 2, 2026. 

In class

  • Intro to the Group Projects
  • Ethics Reflections 1

Wednesday, March 4, 2026. 

To-Do Items

    • Prepare your presentation

In class

  • Intro to the Group Projects

Friday, March 6, 2026.  

To-Do Items

    • Prepare your presentation

In class

  • Individual Project: Presentations 
  • Individual Project: wrap up

Spring Break, 2026

Monday, March 23, 2026.  

To-Do Items

In class

  1. Launching the group projects (see slides emailed to you)
  2. Free-riding discussion.
  3. Demos 1 – 5 and milestones (see the group deliverable at the top)
  4. Agile and team charter, and schedule your weekly meetings!

Wednesday, March 25, 2026.   

To-Do Items

  1. Read: Pervasive ‘Dark Patterns’ Are Fooling People Into Signing Up for Services They Don’t Want
  2. Watch:  The Consequences of Your Code (acknowledgment: suggested by a previous 324 student)

In class

  • Student-led discussion: Ethics and professional conduct
  • The Consequences of Your Code
  • Ethics reflections deliverable

Friday, March 27, 2026. 

Watch out:  

In class

Week 11:

Monday, March 30, 2026.   

To-Do Items

  • Explore Git Branching
  • Individual log report
  • TeaM Chat
  • Prep for demo

In class

  • Demo 1
  • Retrospective and Sprint planning

Wednesday, April 1, 2026.   

In class

  • Role meeting: Legacy code, brownfield, and greenfield applications. Git, security, and best practices.
  • client day
  • work time

Friday, April 3, 2026.

In class

Week 12:

Monday, April 6, 2026. 

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 2
  • Retrospective and Sprint planning

Wednesday, April 8, 2026. 

In class

  • Role Meeting: Debugging and refactoring
  • Client day
  • lab: work time

Friday, April 10, 2026. 

In class

  • Activity: launching the group’s writing sample.
  • stand up meeting
  • lab: work time

Week 13:

Monday, April 13, 2026.

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 3
  • Retrospective and Sprint planning

Wednesday, April 15, 2026.

In class

  • lab: work time

Friday, April 17, 2026.

In class

  • Guest Lecture
  • Ethics Reflections deliverable

Week 14:

Monday, April 20, 2026.

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 4
  • Retrospective and Sprint planning

Wednesday, April 22, 2026.

In class

  • client day
  • lab: work time

Friday, April 24, 2026.

Week 15:

Monday, April 27, 2026.

In class

  • Software testing activity
  • Project consolidation

Wednesday, April 29, 2026.

In class

  • client day
  • Project consolidation: Software documentation and Product documentation

Friday, May 1, 2026. 

In class

  • Online presence
  • Project Consolidation

Week 16:

Monday, May 4, 2026. 

To-Do Items

  • Prep for Final Demo
  • Thank you notes and online presence
  • Software Documentation
  • Product Documentation
  • Writing sample
  • Final – Individual Contributions Log Report
  • Peer-evaluations

In class

  • Final Demo
  • A peer-evaluation survey will be sent your way

Wednesday, May 6, 2026. 

In class

  • Course Evals
  • Wrapping up the project

Friday, May 8, 2026.  

In class

  • Wrapping up the project
  • Final update: CVs

Week 17:

Exam week: no exam!

 

Fall, 2025

  1. Professional and Scientific Conduct
  2. Syllabus 
  3. Deliverables and due dates on Gradescope.
  4. Draft Schedule here (however, look below for the most up to date info).
  5. Previous offerings can be found below.
  6. Catalog: CSC 324 – Software Design and Development, and CSC 326 – Software Development Leadership.

Deliverables, 2025 – Due dates on Gradescope

1. Programming Labs (Java)

  • Lab 1_A (soon, but will be posted on Gradescope).
  • Lab 1_B (soon, but will be posted on Gradescope).
  • Lab 2 (will be posted on Gradescope).
  • Lab 3 _A (will be posted on Gradescope).
  • Lab 3 _B (will be posted on Gradescope).
  • Labs 4 – n (time assigned for you to work on the individual project).

2. Professional Background Journal (will be updated to include all five themes).

Professional Background Journal.

3. Career Readiness (will be updated to include all activities)

Career Readiness deliverable.

4. Individual Project (will be updated to include all deliverables)

Individual Project

5. Ethics Reflections

Reflections

6. Group project:

Projects:

  1. Project A: Simulating the Retinal Image of Visual Scenes on Nonhuman Eyes
  2. Project B: Magnus Effect and Football
  3. Project C: A Computational Model of Multiple Representations
  4. Project D: Networked Agents and Public Goods Games (PGGs)
  5. Project E: Cascading Failures and the Prisoner Dilemma Game (PDG)

Group Project – Deliverables

Course materials, 2025

Week 1: Friday, August 29

To-Do Items – Due before class

  1. Watch: The Essence of Software (Or Why Systems Often Fail by Design, and How to Fix Them) by Daniel Jackson.
  2. Read Part I: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”

In class

  1. About the Instructor.
  2. Course Overview, expectations, and deliverables, and a draft schedule
  3. Deliverable: Career Readiness 1

Week 2:

Monday, September 1: no class

Wednesday, September 3. 

To-Do Items – Due before class

  1. Read Part II (due by September 15): The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.
  2. Choose:
    1. Watch History of Software Engineering with Grady Booch, or
    2. Listen to the Podcast: Evolution of software architecture with Grady Booch

In class

  1. Intro to the individual project.
  2. Discussion: “Why Systems Often Fail by Design”? (Slides here)
  3. Deliverables:
    1. Professional Background Journal 1.
    2. Lab_1A (Gradescope)

Friday, September 5. 

To-Do Items

  1. Watch:  Best Robot Vacuums LATE 2024
  2. Read Chapter 1: Fundamentals of Software Architecture: An Engineering Approach
  3. Read Chapter 5 Software Architecture – book: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring.

In class

  1. Intro to software architecture (slides will be sent by email)
  2. Design patterns, Model-View-Controller (MVC) 
  3. In-class activity: architecting two systems.
  4. Deliverable: Professional Background Journal 2.

Week 3. 

Monday, September 8. 

To-Do Items

  1. Watch: Ariane Launch failure, Sommerville
  2. Read: Ariane 5 launcher failure, Sommerville
  3. Watch: Longer video of ‘Ariane 5’ Rocket first launch

In class

  1. Intro to Software Engineering (slides sent by email)
  2. Activity: Ariane 5 launch accident.
  3. Deliverables:
    • Professional Background Journal 3.
    • Lab_1A wrap-up.

Wednesday, September 10, 2025. 

To-Do Items

  1. Read: Debates on the nature of artificial general intelligence
  2. Watch: “I’ve spent all morning replicating simple games with Claude. We nearing the era of mobile apps created in real-time by LLMs”.
  3. Take a look at the MNIST database and the TensorFlow Datasets
  4. Define your individual project’s topic

In class

  • Intro to AI and RL, part I (activity here)
  • AI engineering, Capability Maturity Model, and AI Maturity Model
  • Deliverable: Professional Background Journal 4
  • Lab 1_B (see Gradescope)

Friday, September 12. 

To-Do Items

  1. Read: RL book, chapter 1.
  2. Read: Rationality – Wikipedia
  3. Explore: RL book, chapter 14.

In class

  • Wrap-up labs and background journal, Brainstorming: individual project.

Monday, September 15, 2025. 

To-Do Items

  1. Read Part III: The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.

In class

Wednesday, September 17. 

To-Do Items

In class

Friday, September 19. 

To-Do Items

  1. Watch: Programming Distributed Systems with Mae Milano

In class

  • Lab 3_B (Gradescope)

Week 5:

Monday, September 22. 

To-Do Items

In class

Wednesday, September 24, 2025. 

To-Do Items

In class

Friday, September 26. 

To-Do Items

In class

  • Active Listening, MOUs
  • Using GenAI to facilitate/prototype previous Client-Developer interaction

Week 6:

Monday, September 29, 2025. 

To-Do Items

In class

  • Deliverables: Career Readiness 2 and Elevator pitch

Wednesday, October 1. 

To-Do Items

In class

  • User-System Performance
  • Testing, Code Review, and Test-driven development.
  • Individual project: project scope and software architecture
  • Lab 5 (individual project, work time)

Friday, October 3. 

To-Do Items

  1. Read Chapter 1, book: Concise Guide to Software Testing

In class

  • Technical Debt, Cobol, Security, and Threat
  • Deliverable: professional background journal 5
  • Demo video and Individual project: worktime

Week 7:

Monday, October 6. 

To-Do Items

  1. Work on the deliverables

In class

  • CV lab
  • Deliverable: Career Readiness 3
  • Lab

Wednesday, October 8. 

To-Do Items

  1. Prepare your individual project to receive feedback in class!

In class

  • Individual project: code review, student-student feedback, software testing activity
  • Lab

Friday, October 10. 

In class

  • Guest Lecture
  • Deliverable: Ethics Reflections 2

Week 8:

Monday, October 13. 

To-Do Items

    • Prepare your presentation

In class

  • Intro to the Group Projects

Wednesday, October 15. 

To-Do Items

    • Prepare your presentation

In class

  • Individual Project: Presentations 
  • Individual Project: wrap up

Friday, October 17, 2025.  

To-Do Items

    • Individual Project: wrap up

In class

  • Individual Project: wrap up

Fall Break, 2025

Monday, October  27, 2025.  

To-Do Items

In class

  1. Launching the group projects:
  2. Free-riding discussion – read:
    1. Professional and Scientific Conduct
    2. Individual Contributions Log Report
    3. Ongoing Project Status Report
  3. Demos 1 – 5 and milestones (see the group deliverable at the top)
  4. Agile and team charter
  5. Version Control Systems.
  6. Schedule your weekly meetings!

Wednesday, October 29, 2025. 

To-Do Items

  1. Read: Pervasive ‘Dark Patterns’ Are Fooling People Into Signing Up for Services They Don’t Want
  2. Watch:  The Consequences of Your Code (acknowledgment: suggested by a previous 324 student)

In class

Friday, October 31, 2025. 

Watch out:  

In class

Week 11:

Monday, November 3, 2025. 

To-Do Items

  • Explore Git Branching
  • Individual log report
  • TeaM Chat
  • Prep for demo

In class

  • Demo 1
  • Retrospective and Sprint planning

Wednesday, November 5, 2025. 

In class

  • Role meeting: Legacy code, brownfield, and greenfield applications. Git, security, and best practices.
  • client day
  • work time

Friday, November 7, 2025. 

In class

Week 12:

Monday, November 10, 2025. 

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 2
  • Retrospective and Sprint planning

Wednesday, November 12, 2025. 

In class

  • Role Meeting: Debugging and refactoring
  • Client day
  • lab: work time

Friday, November 14, 2025. 

In class

  • Activity: launching the group’s writing sample.
  • stand up meeting
  • lab: work time

Week 13:

Monday, November 17, 2025

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 3
  • Retrospective and Sprint planning

Wednesday, November 19, 2025.

In class

  • client day
  • lab: work time

Friday, November 21, 2025. 

In class

Week 14:

Monday, November 24, 2025. 

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 4
  • Retrospective and Sprint planning

Wednesday, November 26, 2025. 

In class

  • client day
  • lab: work time

Friday, November 28, 2025. 

  • Thanksgiving break

Week 15:

Monday, December 1, 2025. 

In class

  • Software testing activity
  • Project consolidation

Wednesday, December 3, 2025. 

In class

  • client day
  • Project consolidation: Software documentation and Product documentation

Friday, December 5, 2025. 

In class

  • Online presence
  • Project Consolidation

Week 16:

Monday, December 8, 2025. 

To-Do Items

  • Prep for Final Demo
  • Thank you notes and online presence
  • Software Documentation
  • Product Documentation
  • Writing sample
  • Final – Individual Contributions Log Report
  • Peer-evaluations

In class

  • Final Demo
  • A peer-evaluation survey will be sent your way

Wednesday, December 10, 2025. 

In class

  • Course Evals
  • Wrapping up the project

Friday, December 12, 2025. 

In class

  • Wrapping up the project
  • Final update: CVs

Week 17:

Exam week: no exam!

 

 


Fall, 2024

  1. Professional and Scientific Conduct
  2. Syllabus here
  3. Coding Policy soon.
  4. Deliverables and due dates on Gradescope.
  5. Previous offerings are below, here, and here.
  6. In the news: College students partner with local organizations to survey community needs. Jandry Perez Garcia, February 13, 2022
  7. Catalog: CSC 324 – Software Design and Development, and CSC 326 – Software Development Leadership.

Deliverables, 2024 – Due dates on Gradescope

1. Programming Labs (Java)

  • Lab 1 
  • Lab 2 (see Gradescope)
  • Labs 3 – n (time assigned for you to work on the individual project)

2. Professional Background Journal (updated to include all themes).

Professional Background Journal.

3. Career Readiness (will be updated to include all activities)

Career Readiness deliverable.

4. Individual Project (will be updated to include all deliverables)

Individual Project

5. Ethics Reflections

Reflections

6. After Fall break – Deliverables will focus on the group project

Group Project – Resources and tips:

  1. Projects:
    1. Morning: Project A, Project B, Project C, Project D, Project E
    2. Afternoon: Project A, Project B, Project C, Project D, Project G
  2. Individual Contributions Log Report
  3. Ongoing Project Status Report

Group Project – Deliverables

Course materials, 2024

Week 1: Friday, August 30

To-Do Items – Due before class

  1. Watch: The Essence of Software (Or Why Systems Often Fail by Design, and How to Fix Them) by Daniel Jackson.
  2. Read Part I: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”

In class

  1. About the Instructor, Course Overview, and draft schedule
  2. Students’ introductions
  3. Deliverable: Career Readiness 1

Week 2:

Monday, September 2. 

To-Do Items – Due before class

  1. Read Part II: The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.
  2. Watch: History of Software Engineering with Grady Booch
  3. Read: Become a Better Coder by Keeping a Programming Journal
  4. Read: Cognitive skills you need for the 21st Century by Stephen K. Reed

In class

  1. Course expectations, deliverables, overview
  2. Intro to the individual project.
  3. Discussion: “Why Systems Often Fail by Design”?
  4. CV lab
  5. Deliverables: Career Readiness 2 and Professional Background Journal 1.

Wednesday, September 4. 

To-Do Items

  1. Read Chapter 1: Fundamentals of Software Architecture: An Engineering Approach
  2. Read Chapter 5 Software Architecture – book: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring.
  3. Watch: Best Robot Vacuums 2023

In class

  • Intro to software architecture (slides sent by email)
  • Design patterns
  • In-class activity: architecting two systems.
  • Deliverable: Professional Background Journal 2

Friday, September 6. 

To-Do Items

  1. Watch: Ariane Launch failure, Sommerville
  2. Read: Ariane 5 launcher failure, Sommerville
  3. Watch: Longer video of ‘Ariane 5’ Rocket first launch
  4. Read Chapter 1, book: Concise Guide to Software Testing

In class

  • Intro to Software Engineering (slides sent by email)
  • Activity: Ariane 5 launch accident.
  • Deliverable: Professional Background Journal 3

Week 3:

Reminder: Dr. Sarah Barks will hold a stand-alone workshop about grad school in science (September 10, 7 pm) for any student thinking about graduate school, either in this application cycle or the future.

Monday, September 9. 

To-Do Items

  1. Read Part III: The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.
  2. Read: Debates on the nature of artificial general intelligence
  3. Watch: Introducing AI
  4. Watch: The story behind how Claude Artifacts came to be.
  5. Watch: “I’ve spent all morning replicating simple games with Claude. We nearing the era of mobile apps created in real-time by LLMs”.
  6. Read: Anthropic opens Claude Artifacts generally for all users, mobile, VentureBeat

In class

  • Intro to AI and RL, part I
  • AI engineering, Capability Maturity Model, and AI Maturity Model
  • Deliverable: Professional Background Journal 4

Wednesday, September 11. 

To-Do Items

  1. Read: RL book, chapter 1.
  2. Read: Rationality – Wikipedia
  3. Explore: RL book, chapter 14.

In class

  • Intro to AI and RL, part II
  • Deliverable: Lab 1

Friday, September 13. 

To-Do Items

  1. Take a look at: MNIST database and the TensorFlow Datasets
  2. Read: Ainooson, J., Kunda, M., (2017). “A Computational Model for Reasoning About the Paper Folding Task Using Visual Mental Images.” 
  3. Define your individual project’s topic

In class

  • Intro to AI and RL, final part.
  • Individual project brainstorming and elevator pitch practice.

Week 4:

Monday, September 16. 

To-Do Items

In class

  • Elevator pitch Part I presentations
  • Individual project: work time

Wednesday, September 18. 

To-Do Items

  1. Prepare your pitch

In class

  • Elevator pitch Part II presentations
  • Individual project: work time

Friday, September 20. 

To-Do Items

  1. Revisit/review your programming journal

In class

  • Deliverable: Lab 2

Week 5:

Monday, September 23. 

To-Do Items

In class

  • Project scope
  • Individual project, deliverable: project scope and software architecture

Wednesday, September 25. 

To-Do Items

In class

  • Agentic workflows and design patterns for MAS
  • Transition to Web design/development topics: User Stories

Friday, September 27. 

To-Do Items

  1. Watch: What are wireframes?
  2. Watch: Active Listening Skills
  3. Read: from Google Design
  4. Read: why does typography matter?
  5. Watch: 3 Hidden Typography Tips

In class

  • Web design/development topics
  • Wireframe, screen mock-up
  • Client-developer interaction, Active Listening

Week 6:

Monday, September 30. 

To-Do Items

In class

  • Technical Debt, Cobol, Security, and Threat
  • Deliverable: professional background journal 
  • Demo video and Individual project: worktime

Wednesday, October 2. 

To-Do Items

  • Take a look at the papers below:
    1. Discrete smart surface
      benchmark (figure 9)
    2. A gentle introduction to the minimal
      Naming Game and Consequence of reputation in an open-ended naming game
    3. Representation of models for expert problem-solving in physics
    4. Cascading failures and the emergence of cooperation in
      evolutionary-game based models of social and economical networks.

In class

  • Intro to the group project
  • Ethics Reflections

Friday, October 4. 

To-Do Items

In class

  • MOUs and active listening
  • User-System Performance
  • Testing, Code Review, and Test-driven development.

Week 7:

Monday, October 7

  1. Today – Note today’s change in class dynamics!
  2. Deliverable: Career Readiness 3 (posted and due today!)
    1. Reserve your materials
  3. Work time: individual project

Wednesday, October 9. 

To-Do Items

  1. Prepare your individual project to receive feedback in class!

In class

  • Individual project: software testing activity
  • Individual project: student-student feedback

Friday, October 11. 

In class

  • Guest Lecture: Settings Goals

Week 8:

Monday, October 14

In class

  • “Software Development and Usage: Navigating Regulatory and Legal Challenges”, Guest Lecturer: Jonathan Colby (Chief Information Officer).
  • Deliverable: Ethics Reflections #1

Wednesday, October 16. 

To-Do Items

    • Prepare your presentation

In class

  • Individual Project: Presentations
  • Individual Project: wrap up

Friday, October 18. 

To-Do Items

  1. Note today’s change in the class location! We will meet at the Drake Community Library (930 Park St, Grinnell)

Today – class time

Week 9:

  • Fall break

Week 10:

Monday, October  28. 

To-Do Items

In class

Wednesday, October 30. 

To-Do Items

  1. Read: Pervasive ‘Dark Patterns’ Are Fooling People Into Signing Up for Services They Don’t Want

In class

Friday, November 1. 

Watch out:  

In class

Week 11:

Monday, November 4. 

To-Do Items

  • Explore Git Branching
  • Individual log report
  • TeaM Chat
  • Prep for demo

In class

  • Demo 1
  • Retrospective and Sprint planning

Wednesday, November 6. 

In class

  • Role meeting: Legacy code, brownfield, and greenfield applications. Git, security, and best practices.
  • client day
  • work time

Friday, November 8. 

In class

Week 12:

Monday, November 11. 

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 2
  • Retrospective and Sprint planning

Wednesday, November 13. 

In class

  • Role Meeting: Debugging and refactoring
  • Client day
  • lab: work time

Friday, November 15. 

In class

  • Activity: launching the group’s writing sample.
  • stand up meeting
  • lab: work time

Week 13:

Monday, November 18

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 3
  • Retrospective and Sprint planning

Wednesday, November 20.

In class

  • client day
  • lab: work time

Friday, November 22. 

In class

Week 14:

Monday, November 25

To-Do Items

  • Individual log
  • TeaM Chat
  • Prep for demo

In class

  • Demo 4
  • Retrospective and Sprint planning

Wednesday, November 27. 

To-Do Items

  1. CLS: CV

In class

  • client day
  • lab: work time

Friday, November 29. 

  • Thanksgiving break

Week 15:

Monday, December 2. 

In class

  • Software testing activity
  • Project consolidation

Wednesday, December 4

In class

  • client day
  • Project consolidation: Software documentation and Product documentation

Friday, December 6

In class

  • Online presence
  • Project Consolidation

Week 16:

Monday, December 9. 

To-Do Items

  • Prep for Final Demo
  • Thank you notes and online presence
  • Software Documentation
  • Product Documentation
  • Writing sample
  • Final – Individual Contributions Log Report
  • Peer-evaluations

In class

  • Final Demo
  • A peer-evaluation survey will be sent your way

Wednesday, December 11

In class

  • Course Evals
  • Wrapping up the project

Friday, December 13

In class

  • Wrapping up the project
  • Final update: CVs

Week 17:

Exam week: no exam!

 


Spring, 2023

Course materials

  • Jan 23 Hello world
  • Jan 25 Essence of software and design terminology, and Activity diary #1
  • Jan 27 Intro to Software Architectures, Activity Diary #2, Programming Journal #2
  • Jan 30. Lab #1 and Intro to the Individual Project
  • Feb 1. Portfolio (Activity diary #3) and Lab #2.
  • Feb 3. Individual Project: Brainstorming and Practice: Elevator pitch. Lab #3.
  • Feb 6. Intro to software engineering (Activity diary #4), and software failure (Programming Journal #3). Practice: Elevator pitch.
  • Feb 8. Elevator pitch, Lab #4. 
  • Feb 10. Elevator pitch, Activity diary #5 (Capability Maturity Model and AI Maturity Model). Wrap-up: labs #1-4, Activity diary #1 – 4.
  • Feb 13. Wireframe and Screen Mockup; launching your Individual Project (check the individual project for new deliverables).
  • Feb 15. Developer-client communication,  active listening, MOUs, side-projects, and full-time jobs. Activity Diary #6.
  • Feb 17. Lab 5: intro to Shiny.
  • Feb 20. Project scope and lab 6.
  • Feb 22. Demo video and lab 7.
  • Feb 24. Data depiction and lab 8. 
  • Feb. 27. Guest Lecture: Software Development & Use in Light of Regulatory & Legal Considerations, Jonathan Colby, Deputy Chief Information Office at Grinnell College.
  • March 1. Technical Debt, Cobol, Security, and Threat. Ethics Reflections #1, Activity diary #7.
  • March 3. Background info to reflect on your app’s design process; User-System Performance. Lab #10.
  • March 6. Ethical awareness and student-led discussion. Ethics reflections #2.
  • March 8. Intro to the group projects. Free-riding discussion, professional conduct policy, and Individual Contributions Log.
  • March 10. Individual Project – student presentation.
  • March 13. User Feedback – Individual Project.
  • March 15. Social Justice tour – Go to the CLS (JCC building, 1103 Park Street). Ethics Reflections #3.
  • March 17. Work from home on your individual Project. Happy break!
  • April 3. Setting the tone: Humanity-Centered Design. Launching the group projects and agile philosophies.
  • April 5. Humanity-centered Design and Ethical Awareness in software development, Ethics Reflections #4
  • April 7. Role meeting and stand-up meeting.
  • April 10. Demo 1, retrospective, and sprint planning.
  • April 12. Best practices, client day, and stand-up meeting.
  • April 14. Role meeting and stand-up meeting.
  • April 17. Demo 2, retrospective, and sprint planning.
  • April 19. Client meeting and stand-up meeting.
  • April 21. Documentation, legacy code, and stand-up meeting.
  • April 24. Demo 3, retrospective, and sprint planning.
  • April 28. Code Review and Test-driven development; and stand-up meeting.
  • May 1. Demo 4, retrospective, and sprint planning.
  • May 3. Client meeting and stand-up meeting.
  • May 5. Role meeting and stand-up meeting.
  • May 8. Final Demo.
  • May 10. CV lab and Course Evals.
  • May 12. Wrap up deliverables, and happy summer!!!!

Deliverables

Fall, 2022

Class Materials

Deliverables

  1. Ethics Reflections – updated a few times in the semester
  2. Lab Report – updated weekly
  3. Activity Diary – updated weekly
  4. Individual Project guidelines and Tips to help you craft your project  and ClassPresentations (Elevator Pitch, ScreenMockup and Wireframe, Class Presentations, app, and Demo Video.)
  5. Description: Group Project
  6. Group Project Deliverables and tips:
    1. Helper session
    2. Scrum Roles
    3. Ongoing Project Status Report
    4. Helper sessions
    5. OnlinePresence
    6. Demos
    7. CV lab: bring your full Individual Contributions Log
    8. Software documentation (see Demos, wrap-up)
    9. Product documentation (see Demos, wrap-up)
    10. Thank you notes.

Previous Courses

Fall, 2021

I am happy to help you. Please, DO feel encouraged to reach out to me.

Course Information

  • Course Schedule here (subject to change).
  • Syllabi: 324 (accessible version here); 326 (accessible version here).
  • Previous offerings here and below.

In-class Activities and Resources

  1. Visualization Analysis and Design, Tamara Munzner Chapter 2. (August 30)
  2. Read the materials: Introduction to Software engineering and Sommerville’s chapter 1
  3. Designing and depicting processes: Mutual gaze with a robot and neural activity, case studies with data visualizations, and journey maps (read: Chapters 3 and 4). (September 6) .
  4. Why a poster? Tips on: Choosing fonts for your data visualizations, the glamour of graphics, typography, free and web-safe fonts, contrast checker, and LaTeX. (September 10)
  5. Designing an Experiment that uses Eye-trackers and investigating the design of datasets (read Chapters 5 and 6). (September 13)
  6. Technical Debt, Cobol, Security, and Threat here.
  7. Software architectures, automatic entry doors, and robot vacuums here (September 20)
  8. Depictive visualizations, the visual display of quantitative information, and data for a cause (read chapter 9). (September 23)
  9. Design thinking, empathy mapping, gathering data from surveys. (read chapter 10). (September 27)
  10. Wireframing, screen mockups (read: Chapter 13). (October 8)
  11. Client-Developer interaction, MOUs, Active Listening  (October 11)
  12. Weekly R Challenges and side projects (R ideas and optical illusions, data augmentation, Rstudio Table Contest, Annual Shiny Contest, and Using Shiny in Healthcare).
  13. Write your Project Status Report
  14. Picking a name for your project.
  15. Design Patterns.
  16. Wondering about HTML and CSS? I collected resources to help you get started.
  17. Git, more info here.
  18. Watch “R and security” and Read security and best practices.
  19. Software Architectures (An Introduction to Software Architecture: Object-Oriented Organization, MVC, pipes, and filters…), Dooley chapter 5, and take a look at “Building for rapid scale: A deep dive into the New York Times’ messaging platform”.
  20. Watch 10 ways to have a better conversation and discuss “Documentation, Greenfield, and Brownfield applications & Communication Skills” in Software Engineering.
  21. How to make a demo video?
  22. Debugging, refactoring, and Testing.
  23. CV lab.

Deliverables

  1. 324/326  LabZero. (Designing your dataset. Read: the Small world experiment, bacon number).
  2. 324/326. Ethics Poster I (careers in CS and ethical considerations).
  3. 324/326 EthicsPoster II (the consequences of your code and mind mapping).
  4. 324. Portfolio I.
  5. 324. Portfolio II.
  6. 324. Dataset Discussion
  7. 324. LabJournal(updated weekly on Wednesdays)
  8. 324. DatArt in a Wood Piece, Instructions here
  9. 324/326. Round 1  Projects.
  10. 326. Leadership Milestones.
  11. 324/326 Round 2 Projects look at the Awesome Shiny Extensions, shinyjs, Leaflet, shiny WidgetsChanging the overall appearance of your app, R-graph gallery.
  12. 324/326. Round 2 Demos.
  13. 324/326 Online Presence, G-ArchiTech.

Inspiration:

  1. A list of R conferences and meetings
  2. Evidence-based software engineering: book

  3. Akiyoshi’s illusion pages

  4. The R Graph Gallery

  5. Shiny UI & UX With Short Live Coding Tutorial

International Students, kindly note:

If you are in F-1 visa status, you will need to secure Curricular Practical Training (CPT) authorization through the Office of International Student Affairs before you can pursue a project with a non-college work site or non-profit organization. You do not need CPT authorization if your project is designing software for a Grinnell College office or department.  If you are uncertain, please contact your instructor or the OISA.  Additionally, depending upon the project to which you are assigned, you may also need to consent to a background check as a volunteer working at that site.


Spring 2, 2021

Course Information

Deliverables:

Additional Resources:

I am happy to help you. Please, DO feel encouraged to reach out to me.

International Students, kindly note:

If you are inside the USA  in F-1 visa status, you may need to secure Curricular Practical Training (CPT) authorization through the Office of International Student Affairs before you can pursue a project with a non-college work site or non-profit organization. You do not need CPT authorization if your project is designing software for a Grinnell College office or department, or if you are enrolled online from outside of the U.S.A.  If you are uncertain, please contact the Office of International Student Affairs.  

_________________________________________________

Fall 2, 2020:

Guest Lectures

  • 12/11: 3D bioprinting and career milestones. Guest Lecturer: Taciana Pereira.
  • 12/09: Work, research, and apps. Guest Lecturers: Kenneth Li, and Yiyuan Yang.
  • 11/25: Career goals and aspirations. Guest Lecturer: Jonathan Santos, CFA.
  • 11/11: Tips on how to work with legacy code. Guest Lecturer: Wesley Beary.

Course Information

Deliverables

Community 

  • TeaM Chat (at least 15 minutes per week).
  • Coffee Chat:
  1. Optical Illusions: do you have a favorite? 12/4;
  2. Did you change food habits during the pandemic? What comfort food or snack works well during these “different” times? Hungry to hear from you! 11/20;
  3. What was the very first movie or tv show you ever watched or remembered? 11/13;
  4. “What inspires you?” 11/06;
  5. Machine Learning 10/30.

Additional Resources:

Dr. Eliott’s 324/326 course logo: