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
- Professional and Scientific Conduct document
- Coding policy
- 324 Syllabus
- Deliverables and due dates on Gradescope.
- Draft Schedule here (however, look below for the most up-to-date info).
- Previous offerings can be found below.
- Catalog: CSC 324 – Software Design and Development, and CSC 326 – Software Development Leadership.
Deliverables, 2026 – Due dates on Gradescope
1. Programming Labs (Java)
- Lab 1_A Game Box
- Lab_1_B
- Lab_2
- Lab 3 _A
- Lab_3 _B
- 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)
4. Individual Project (will be updated to include all deliverables)
5. Ethics Reflections (will be updated to include all deliverables)
6. Group project:
Projects: sent by email. Explore previous projects here.
Group Project – Deliverables
- Milestones and Demonstrations doc.
- Individual Contributions Log Report , and Spreadsheet version here
- Ongoing Project Status Report (soon).
- Online Presence here.
Detailed Schedule, 2026
Week 1: Wednesday, January 21, 2026
To-Do Items – Due before class
- Watch: The Essence of Software (Or Why Systems Often Fail by Design, and How to Fix Them) by Daniel Jackson.
- Read Part I: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”
In class
- About the Instructor.
- Course Overview, expectations, and deliverables, and a draft schedule
- Deliverables: Career Readiness 1
- Lab_1 (see “Labs” at the top of the page).
Friday, January 23, 2026 Note location! HSSC*S2314
To-Do Items – Due before class
- Take a look at the systems-thinking slides sent by email.
- Choose:
- Watch History of Software Engineering with Grady Booch, or
- Listen to the Podcast: Evolution of software architecture with Grady Booch
- Work on Lab 1 and career readiness 1.
In class – Note location! HSSC*S2314
- Intro to the individual project.
- Discussion: “Why Systems Often Fail by Design”?
- Social gathering and systems-thinking activity.
- Deliverables:
Week 2: Monday, Jan 26, 2026.
To-Do Items
- Watch: The Perfect Robot Vacuum For Every Budget – Best Robot Vacuum 2025
- Read Chapter 1: Fundamentals of Software Architecture: An Engineering Approach
- Read Chapter 5 Software Architecture – book: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring.
In class
- Intro to software architecture (slides will be sent by email)
- Design patterns, Model-View-Controller (MVC)
- In-class activity: architecting two systems.
- Deliverable: Professional Background Journal 2.
Wednesday, January 28, 2026
To-Do Items
- Watch: Ariane Launch failure, Sommerville
- Read: Ariane 5 launcher failure, Sommerville
- Watch: Longer video of ‘Ariane 5’ Rocket first launch
In class
- Intro to Software Engineering (slides sent by email)
- Activity: Ariane 5 launch accident.
- Deliverables:
- Professional Background Journal 3.
- Lab_1A wrap-up.
Friday, January 30, 2026.
To-Do Items
- Read: Debates on the nature of artificial general intelligence
- Read Part II: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”
In class
- Intro to AI and RL, part I
- Activity: Take a look at the MNIST database and the TensorFlow Datasets
- 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
- Read: RL book, chapter 1.
- Read: Rationality – Wikipedia
- 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
- 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
- Read: A Letter from Andrew Ng
- Read: Elevator Pitch Examples
In class
- AI and RL, final part and Agentic workflows
- Lab 3A
Week 4, 2026
Monday, February 9, 2026 .
To-Do Items
In class
- Lab 3_B
- Individual Project: Brainstorming and Practice – Elevator Pitch.
Wednesday, February 11, 2026
To-Do Items
- Read: Deconstructing the Veneer of Simplicity: Co-Designing
Introductory Generative AI Workshops with Local Entrepreneurs - Watch: What is a Project Scope? Effectively Planning a Project
In class
- Project scope, visit: How to create a project scope document, step by step
- Deliverable: Individual project, project scope
- Transition to Web design/development topics: User Stories
Friday, February 13, 2026.
To-Do Items
In class
- Web design/development topics
- Wireframe, screen mock-up
- Client-developer interaction, Active Listening
Week 5, 2026
Monday, February 16, 2026.
To-Do Items
- Watch: The Glamour of Graphics
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
- Read Chapter 1, book: Concise Guide to Software Testing
In class
- Guest Lecture
Week 6, 2026
Monday, February 23, 2026 .
To-Do Items
- Watch: Refactoring
- Read: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring 2nd ed. John F. Dooley, Chapters 14 -17
- Read: from Google Design
- Read: Why does typography matter?
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
- 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
- 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
- Launching the group projects (see slides emailed to you)
- Free-riding discussion.
- Demos 1 – 5 and milestones (see the group deliverable at the top)
- Agile and team charter, and schedule your weekly meetings!
Wednesday, March 25, 2026.
To-Do Items
- Read: Pervasive ‘Dark Patterns’ Are Fooling People Into Signing Up for Services They Don’t Want
- 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:
- Reach out to identified alumni (CLS resource here)
- Prepare: Demo 1
In class
- Stand-up meeting
- Work time
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
- stand up meeting
- work time
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.
- In class
- stand up meeting
- lab: work time
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
- Professional and Scientific Conduct
- Syllabus
- Deliverables and due dates on Gradescope.
- Draft Schedule here (however, look below for the most up to date info).
- Previous offerings can be found below.
- 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)
4. Individual Project (will be updated to include all deliverables)
5. Ethics Reflections
6. Group project:
Projects:
- Project A: Simulating the Retinal Image of Visual Scenes on Nonhuman Eyes
- Project B: Magnus Effect and Football
- Project C: A Computational Model of Multiple Representations
- Project D: Networked Agents and Public Goods Games (PGGs)
- Project E: Cascading Failures and the Prisoner Dilemma Game (PDG)
Group Project – Deliverables
- Milestones and Demonstrations doc.
- Individual Contributions Log Report , and Spreadsheet version here
- Ongoing Project Status Report
Course materials, 2025
Week 1: Friday, August 29
To-Do Items – Due before class
- Watch: The Essence of Software (Or Why Systems Often Fail by Design, and How to Fix Them) by Daniel Jackson.
- Read Part I: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”
In class
- About the Instructor.
- Course Overview, expectations, and deliverables, and a draft schedule
- Deliverable: Career Readiness 1
Week 2:
Monday, September 1: no class
Wednesday, September 3.
To-Do Items – Due before class
- Read Part II (due by September 15): The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.
- Choose:
- Watch History of Software Engineering with Grady Booch, or
- Listen to the Podcast: Evolution of software architecture with Grady Booch
In class
- Intro to the individual project.
- Discussion: “Why Systems Often Fail by Design”? (Slides here)
- Deliverables:
- Professional Background Journal 1.
- Lab_1A (Gradescope)
Friday, September 5.
To-Do Items
- Watch: Best Robot Vacuums LATE 2024
- Read Chapter 1: Fundamentals of Software Architecture: An Engineering Approach
- Read Chapter 5 Software Architecture – book: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring.
In class
- Intro to software architecture (slides will be sent by email)
- Design patterns, Model-View-Controller (MVC)
- In-class activity: architecting two systems.
- Deliverable: Professional Background Journal 2.
Week 3.
Monday, September 8.
To-Do Items
- Watch: Ariane Launch failure, Sommerville
- Read: Ariane 5 launcher failure, Sommerville
- Watch: Longer video of ‘Ariane 5’ Rocket first launch
In class
- Intro to Software Engineering (slides sent by email)
- Activity: Ariane 5 launch accident.
- Deliverables:
- Professional Background Journal 3.
- Lab_1A wrap-up.
Wednesday, September 10, 2025.
To-Do Items
- Read: Debates on the nature of artificial general intelligence
- Watch: “I’ve spent all morning replicating simple games with Claude. We nearing the era of mobile apps created in real-time by LLMs”.
- Take a look at the MNIST database and the TensorFlow Datasets
- 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
- Read: RL book, chapter 1.
- Read: Rationality – Wikipedia
- Explore: RL book, chapter 14.
In class
- Wrap-up labs and background journal, Brainstorming: individual project.
Monday, September 15, 2025.
To-Do Items
- 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
- Individual Project: Brainstorming and Practice – Elevator Pitch.
- Deliverable: Lab 2 (Gradescope)
Wednesday, September 17.
To-Do Items
- Read: A Letter from Andrew Ng
In class
- AI and RL, final part.
- Lab 3A (Gradescope)
Friday, September 19.
To-Do Items
In class
- Lab 3_B (Gradescope)
Week 5:
Monday, September 22.
To-Do Items
- Read: Deconstructing the Veneer of Simplicity: Co-Designing
Introductory Generative AI Workshops with Local Entrepreneurs - Watch: What is a Project Scope? Effectively Planning a Project
In class
- Agentic workflows
- Project scope, visit: How to create a project scope document, step by step
- Transition to Web design/development topics: User Stories
Wednesday, September 24, 2025.
To-Do Items
In class
- Web design/development topics
- Wireframe, screen mock-up
- Client-developer interaction, Active Listening
Friday, September 26.
To-Do Items
- Watch: The Glamour of Graphics
In class
- Active Listening, MOUs
- Using GenAI to facilitate/prototype previous Client-Developer interaction
Week 6:
Monday, September 29, 2025.
To-Do Items
- Work on your pitch
- Watch: Learning Software Engineering During the Era of AI
In class
- Deliverables: Career Readiness 2 and Elevator pitch
Wednesday, October 1.
To-Do Items
- Watch: Refactoring
- Read: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring 2nd ed. John F. Dooley, Chapters 14 -17
- Read: from Google Design
- Read: Why does typography matter?
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
- 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
- Work on the deliverables
In class
- CV lab
- Deliverable: Career Readiness 3
- Lab
Wednesday, October 8.
To-Do Items
- 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
- Launching the group projects:
- Free-riding discussion – read:
- Demos 1 – 5 and milestones (see the group deliverable at the top)
- Agile and team charter
- Version Control Systems.
- Schedule your weekly meetings!
Wednesday, October 29, 2025.
To-Do Items
- Read: Pervasive ‘Dark Patterns’ Are Fooling People Into Signing Up for Services They Don’t Want
- 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, October 31, 2025.
Watch out:
- Reach out to identified alumni (CLS resource here)
- Prepare: Demo 1
In class
- Stand-up meeting
- Work time
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
- stand up meeting
- work time
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
- stand up meeting
- lab: work time
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
- Professional and Scientific Conduct
- Syllabus here
- Coding Policy soon.
- Deliverables and due dates on Gradescope.
- Previous offerings are below, here, and here.
- In the news: College students partner with local organizations to survey community needs. Jandry Perez Garcia, February 13, 2022
- 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)
4. Individual Project (will be updated to include all deliverables)
5. Ethics Reflections
6. After Fall break – Deliverables will focus on the group project
Group Project – Resources and tips:
Group Project – Deliverables
- Demos 1 – 5 and milestones
- Thank you notes and online presence
- Software Documentation
- Product Documentation
- Raw writing sample (compile the LaTeX template provided in class and submit the pdf on Gradescope)
- Final Individual Contributions Log and peer evaluations
Course materials, 2024
Week 1: Friday, August 30
To-Do Items – Due before class
- Watch: The Essence of Software (Or Why Systems Often Fail by Design, and How to Fix Them) by Daniel Jackson.
- Read Part I: The Essence of Software: Why Concepts Matter for Great Design. Jackson, Daniel”
In class
- About the Instructor, Course Overview, and draft schedule
- Students’ introductions
- Deliverable: Career Readiness 1
Week 2:
Monday, September 2.
To-Do Items – Due before class
- Read Part II: The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.
- Watch: History of Software Engineering with Grady Booch
- Read: Become a Better Coder by Keeping a Programming Journal
- Read: Cognitive skills you need for the 21st Century by Stephen K. Reed
In class
- Course expectations, deliverables, overview
- Intro to the individual project.
- Discussion: “Why Systems Often Fail by Design”?
- CV lab
- Deliverables: Career Readiness 2 and Professional Background Journal 1.
Wednesday, September 4.
To-Do Items
- Read Chapter 1: Fundamentals of Software Architecture: An Engineering Approach
- Read Chapter 5 Software Architecture – book: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring.
- 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
- Watch: Ariane Launch failure, Sommerville
- Read: Ariane 5 launcher failure, Sommerville
- Watch: Longer video of ‘Ariane 5’ Rocket first launch
- 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
- Read Part III: The Essence of Software: Why Concepts Matter for Great Design, by Jackson, Daniel.
- Read: Debates on the nature of artificial general intelligence
- Watch: Introducing AI
- Watch: The story behind how Claude Artifacts came to be.
- Watch: “I’ve spent all morning replicating simple games with Claude. We nearing the era of mobile apps created in real-time by LLMs”.
- 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
- Read: RL book, chapter 1.
- Read: Rationality – Wikipedia
- Explore: RL book, chapter 14.
In class
- Intro to AI and RL, part II
- Deliverable: Lab 1
Friday, September 13.
To-Do Items
- Take a look at: MNIST database and the TensorFlow Datasets
- Read: Ainooson, J., Kunda, M., (2017). “A Computational Model for Reasoning About the Paper Folding Task Using Visual Mental Images.”
- 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
- Read: Marketable skills
- Watch: 31 Marketable Skills You Can Learn and Develop in 2024
- Prepare your pitch
In class
- Elevator pitch Part I presentations
- Individual project: work time
Wednesday, September 18.
To-Do Items
- Prepare your pitch
In class
- Elevator pitch Part II presentations
- Individual project: work time
Friday, September 20.
To-Do Items
- 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
- Watch: Programming Distributed Systems with Mae Milano
- Read: OpenAI Hiring for Multi-Agent Research Team to Accelerate AI to Level 3
- Read: OpenAI Releases its New AI Model, OpenAI o1 (Internally known as Project Strawberry/Q*), a Game-Changer in Reasoning and Competitive Programming!
In class
- Agentic workflows and design patterns for MAS
- Transition to Web design/development topics: User Stories
Friday, September 27.
To-Do Items
- Watch: What are wireframes?
- Watch: Active Listening Skills
- Read: from Google Design
- Read: why does typography matter?
- 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:
-
- Discrete smart surface
benchmark (figure 9) - A gentle introduction to the minimal
Naming Game and Consequence of reputation in an open-ended naming game - Representation of models for expert problem-solving in physics
- Cascading failures and the emergence of cooperation in
evolutionary-game based models of social and economical networks.
- Discrete smart surface
In class
- Intro to the group project
- Ethics Reflections
Friday, October 4.
To-Do Items
- Watch: The Glamour of Graphics
- Read: Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring 2nd ed. John F. Dooley, Chapters 14 -17
- Watch: Refactoring
In class
- MOUs and active listening
- User-System Performance
- Testing, Code Review, and Test-driven development.
Week 7:
Monday, October 7.
- Today – Note today’s change in class dynamics!
- Deliverable: Career Readiness 3 (posted and due today!)
- Reserve your materials
- Work time: individual project
Wednesday, October 9.
To-Do Items
- 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
- Note today’s change in the class location! We will meet at the Drake Community Library (930 Park St, Grinnell)
Today – class time
- Exhibit at the Drake Library: Patient No More: People with Disabilities Securing Civil Rights
- Deliverable: Ethics Reflections
Week 9:
- Fall break
Week 10:
Monday, October 28.
To-Do Items
In class
- Guest lecturer, CLS: Dr. Sarah Barks
- Launching the group projects:
- Free-riding discussion – read:
- Demos 1 – 5 and milestones
- Agile and team charter
Wednesday, October 30.
To-Do Items
In class
- Student-led discussion: Ethics and professional conduct
- The Consequences of Your Code
- Ethics reflections deliverable
Friday, November 1.
Watch out:
- Reach out to identified alumni (CLS resource here)
- Prepare: Demo 1
In class
- Stand-up meeting
- Work time
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
- stand up meeting
- work time
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
- stand up meeting
- lab: work time
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
- 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 Schedule here
- Syllabus here.
- Coding Policy here.
- Deliverables and due dates on Gradescope.
- Previous offerings are below, here, and here.
- Catalog: CSC 324 – Software Design and Development, and CSC 326 – Software Development Leadership.
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
- Group Project(slides) and GroupProject in doc format. Related documents:
- Scrum Roles
- OnlinePresence
- CV lab: bring your full Individual Contributions Log
- Software documentation (see Final Demo, wrap-up)
- Product documentation (see Final Demo, wrap-up)
- Thank you notes.
- Ethics Reflections
- Activity diary
- Lab
- Individual Project – Brainstorming and neat resources here, Presentation Guidelines.
Fall, 2022
- Course Schedule.
- Syllabus here.
- Coding Policy here.
- Deliverables and due dates on Gradescope.
- Previous offerings are below, here, and here.
- Catalog: CSC 324 – Software Design and Development, and CSC 326 – Software Development Leadership.
Class Materials
- August 26. Intro to the course and Quiz_1
- August 29. Course Expectations, Activity Diary #1, Programming Journal #1
- August 30 Intro to Software Architectures, Activity Diary #2, Programming Journal #2
- September 2. Lab #1 and Intro to the Individual Project
- September 5. Portfolio (Activity diary #3) and Lab #2.
- September 7. Intro to software engineering (Activity diary #4), and software failure (Programming Journal #3). Practice: Elevator pitch.
- September 9. Individual Project: Brainstorming and Practice: Elevator pitch. Lab #3.
- September 12. Social Justice tour.
- September 14. Elevator pitch, Activity diary #5 (Capability Maturity Model and AI Maturity Model), and Ethics Reflections #1.
- September 16. Elevator pitch, Lab #4. Wrap-up: labs #1-4, Activity diary #1 – 4, and Ethics Reflections #1.
- September 19. Wireframe and Screen Mockup; launching your Individual Project.
- September 21. Active Listening, developer-client communication and MOUs, side-projects and full-time jobs. Activity Diary #6.
- September 23. Lab #5 parts a) and b).
- September 25. Review: wireframes and mockups. Project Scope, Lab #6.
- September 28. App Demo Video, Lab #7.
- September 30. Lab #8.
- October 3. Data depiction, lab #9.
- October 5. Technical Debt, Cobol, Security, and Threat. Activity diary #7 and Lab #10.
- October 7. Lab #11.
- October 10. Intro to the group projects. Free-riding discussion, professional conduct policy, and Individual Contributions Log.
- October 26. Ethical Awareness and Student-Lead Discussion, Ethics Reflections #2.
- October 28. Ethical Awareness in software development, Ethics Reflections #3.
- October 31. Documentation, Legacy Code, Communication, best practices, and demo 1.
- November 2. Client day and Stand-up meeting.
- November 4. Role meeting.
- November 7. Demo 1, retrospective, and sprint planning.
- November 9. Testing. Client day and Stand-up meeting.
Deliverables
- Ethics Reflections – updated a few times in the semester
- Lab Report – updated weekly
- Activity Diary – updated weekly
- Individual Project guidelines and Tips to help you craft your project and ClassPresentations (Elevator Pitch, ScreenMockup and Wireframe, Class Presentations, app, and Demo Video.)
- Description: Group Project
- Group Project Deliverables and tips:
- Helper session
- Scrum Roles
- Ongoing Project Status Report
- Helper sessions
- OnlinePresence
- Demos
- CV lab: bring your full Individual Contributions Log
- Software documentation (see Demos, wrap-up)
- Product documentation (see Demos, wrap-up)
- 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
- Visualization Analysis and Design, Tamara Munzner Chapter 2. (August 30)
- Read the materials: Introduction to Software engineering and Sommerville’s chapter 1
- 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) .
- 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)
- Designing an Experiment that uses Eye-trackers and investigating the design of datasets (read Chapters 5 and 6). (September 13)
- Technical Debt, Cobol, Security, and Threat here.
- Software architectures, automatic entry doors, and robot vacuums here (September 20)
- Depictive visualizations, the visual display of quantitative information, and data for a cause (read chapter 9). (September 23)
- Design thinking, empathy mapping, gathering data from surveys. (read chapter 10). (September 27)
- Wireframing, screen mockups (read: Chapter 13). (October 8)
- Client-Developer interaction, MOUs, Active Listening (October 11)
- Weekly R Challenges and side projects (R ideas and optical illusions, data augmentation, Rstudio Table Contest, Annual Shiny Contest, and Using Shiny in Healthcare).
- Write your Project Status Report
- Picking a name for your project.
- Design Patterns.
- Wondering about HTML and CSS? I collected resources to help you get started.
- Git, more info here.
- Watch “R and security” and Read security and best practices.
- 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”.
- Watch 10 ways to have a better conversation and discuss “Documentation, Greenfield, and Brownfield applications & Communication Skills” in Software Engineering.
- How to make a demo video?
- Debugging, refactoring, and Testing.
- CV lab.
Deliverables
- 324/326 LabZero. (Designing your dataset. Read: the Small world experiment, bacon number).
- 324/326. Ethics Poster I (careers in CS and ethical considerations).
- 324/326 EthicsPoster II (the consequences of your code and mind mapping).
- 324. Portfolio I.
- 324. Portfolio II.
- 324. Dataset Discussion
- 324. LabJournal(updated weekly on Wednesdays)
- 324. DatArt in a Wood Piece, Instructions here
- 324/326. Round 1 Projects.
- 326. Leadership Milestones.
- 324/326 Round 2 Projects look at the Awesome Shiny Extensions, shinyjs, Leaflet, shiny Widgets, Changing the overall appearance of your app, R-graph gallery.
- 324/326. Round 2 Demos.
- 324/326 Online Presence, G-ArchiTech.
Inspiration:
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
- Course Schedule.
- 324: Readings; 326: Readings.
- Syllabi: 324 (accessible version), 326 (accessible version).
- Previous offerings here and below.
Deliverables:
Additional Resources:
- Ruby. Learn Ruby the Hard Way;
- Rails. Ruby on Rails Tutorial and David Heinemeier Hansson;
- Rails community. Rails conference and “30 Ruby on Rails Experts, Bloggers, and Influencers”;
- Tools. 2020 Ipsum. A lorem ipsum generator to commemorate the things from 2020 we’d probably like to forget.
- Inspiration. CodePen, 808303.studio, JazzKeys, feijoomontenegro, 3D tools and resources for designers
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
- Syllabi: 324 and 326;
- Schedule;
- Readings;
- Previous Offerings.
Deliverables
- 324_326_Deliverables – EthicsEssay;
- 324_Deliverables – portfolio;
- 324_Deliverables – Individual Project (NEW!)
- 324 and 326_GroupProject;
- 326 – Collection;
- 326_Deliverables_leadershipEssay
Community
-
TeaM Chat (at least 15 minutes per week).
-
Coffee Chat:
- Optical Illusions: do you have a favorite? 12/4;
- 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;
- What was the very first movie or tv show you ever watched or remembered? 11/13;
- “What inspires you?” 11/06;
- Machine Learning 10/30.
Additional Resources:
- Ruby. Learn Ruby the Hard Way;
- Rails. Ruby on Rails Tutorial and David Heinemeier Hansson;
- Rails community. Rails conference and “30 Ruby on Rails Experts, Bloggers, and Influencers”;
- Inspiration. CodePen, 20 Freshest Web Designs;
- UX. “47 Key Lessons for UI & UX Designers”
- Tools. Real-Time Website Privacy Inspector;
- Next steps. What can I do after finishing the Ruby on Rails Tutorial? A possibility: real-time apps using WebSockets.
Dr. Eliott’s 324/326 course logo:
