324/326

Visit G-ArchiTech and enjoy the students’ Software Design and Development projects.

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 soon
  • Lab 2 soon
  • 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 soon

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

Group Project – Resources and tips:

  1. Individual Contributions Log Report
  2. Scrum Roles
  3. Ongoing Project Status Report

Group Project – Deliverables

  • Demos 1 – 5 and milestones
  • Thank you notes and online presence
  • Software Documentation
  • Product Documentation
  • Raw writing sample
  • Final Individual Contributions Log and peer evaluations

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
  • 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
  • Deliverable: lab 1

Friday, September 13. 

To-Do Items

  1. Read: Ainooson, J., Kunda, M., (2017). “A Computational Model for Reasoning About the Paper Folding Task Using Visual Mental Images.” 
  2. Define your individual project’s topic

In class

  • Intro to AI and RL
  • 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 notes

In class

  • Deliverable: lab 2

Week 5:

Monday, September 23. 

To-Do Items

In class

  • Individual project: project scope
  • Individual project: work time

Wednesday, September 25. 

To-Do Items

In class

  • Agentic workflow, design patterns, and design patterns for MAS
  • User Stories
  • Individual project: work time

Friday, September 27. 

To-Do Items

  1. Watch: What are wireframes?
  2. Watch: 10 ways to have a better conversation
  3. Read: from Google Design
  4. Read: why does typography matter?
  5. Watch: 3 Hidden Typography Tips

In class

  • Web design/development topics
  • Client-developer interaction, MOUs, Active Listening
  • Wireframe, screen mock-up
  • Deliverable: professional background journal 5

Week 6:

Monday, September 30. 

To-Do Items

In class

  • Demo video
  • Technical Debt, Cobol, Security, and Threat
  • Deliverable: professional background journal 6
  • In-class discussion

Wednesday, October 2. 

To-Do Items

  1. soon

In class

  • Individual project and software architecture
  • Lab – work time: individual project

Friday, October 4. 

To-Do Items

  1. soon

In class

  • Individual project: software testing.
  • Intro to the group project

Week 7:

Monday, October 7

To-Do Items

In class

  • Lab – work time: individual project
  • Deliverable: Career readiness 3

Wednesday, October 9. 

To-Do Items

  1. soon

In class

  • Individual project: software testing

Friday, October 11. 

To-Do Items

  1. soon

In class

  • Guest Lecture: Settings goals

Week 8:

Monday, October 14

To-Do Items

In class

  • Intro to the group project

Wednesday, October 16. 

To-Do Items

  1. soon

In class

  • Individual Project: Presentations
  • Individual Project: wrap up

Friday, October 18. 

To-Do Items

  1. Note today’s change in the class location!
  2. Individual Project: wrap up

In class

Week 9:

  • Fall break

Week 10:

Monday, October  28. 

To-Do Items

In class

  • Launching the group projects
  • Agile philosophies and team charter. Requirements
  • Guest lecturer, CLS: Dr. Sarah Barks

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

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

Friday, November 1. 

Watch out:  

  • Reach out to two alumni
  • Student-led discussion
  • Prepare: Demo 1
  • Ethics reflections

In class

Week 11:

Monday, November 4. 

To-Do Items

In class

  • Demo 1
  • Retrospective and Sprint planning

Wednesday, November 6. 

To-Do Items

  1. soon

In class

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

Friday, November 8. 

To-Do Items

  1. soon

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. 

To-Do Items

  1. soon

In class

  • Debugging and refactoring
  • client day
  • lab: work time

Friday, November 15. 

To-Do Items

  1. soon

In class

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. 

To-Do Items

  1. soon

In class

  • client day
  • lab: work time

Friday, November 22. 

To-Do Items

  1. soon

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. 

To-Do Items

In class

  • Software testing activity
  • Project consolidation: Writing sample

Wednesday, December 4

To-Do Items

  1. soon

In class

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

Friday, December 6

To-Do Items

  1. soon

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-evaluations survey will be sent your way

Wednesday, December 11

To-Do Items

  1. soon

In class

  • Course Evals
  • Wrapping up the project

Friday, December 13

To-Do Items

  1. soon

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: