Visit G-ArchiTech and enjoy the students’ Software Design and Development projects.
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 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)
4. Individual Project (will be updated to include all deliverables)
5. Ethics Reflections soon
6. After Fall break – Deliverables will focus on the group project
Group Project – Resources and tips:
- Individual Contributions Log Report
- Scrum Roles
- 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
- 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
- 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
- Deliverable: lab 1
Friday, September 13.
To-Do Items
- 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
- 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 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
- Watch: What are wireframes?
- Watch: 10 ways to have a better conversation
- Read: from Google Design
- Read: why does typography matter?
- 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
- soon
In class
- Individual project and software architecture
- Lab – work time: individual project
Friday, October 4.
To-Do Items
- 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
- soon
In class
- Individual project: software testing
Friday, October 11.
To-Do Items
- 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
- soon
In class
- Individual Project: Presentations
- Individual Project: wrap up
Friday, October 18.
To-Do Items
- Note today’s change in the class location!
- Individual Project: wrap up
In class
- Exhibit: 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
- Launching the group projects
- Agile philosophies and team charter. Requirements
- Guest lecturer, CLS: Dr. Sarah Barks
Wednesday, October 30.
To-Do Items
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
- Stand-up meeting
- Work time
Week 11:
Monday, November 4.
To-Do Items
- Explore Git Branching
- Individual log
- TeaM Chat
- Prep for demo
In class
- Demo 1
- Retrospective and Sprint planning
Wednesday, November 6.
To-Do Items
- 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
- soon
In class
- stand up meeting
- lab: 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.
To-Do Items
- soon
In class
- Debugging and refactoring
- client day
- lab: work time
Friday, November 15.
To-Do Items
- soon
In class
- 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.
To-Do Items
- soon
In class
- client day
- lab: work time
Friday, November 22.
To-Do Items
- soon
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.
To-Do Items
In class
- Software testing activity
- Project consolidation: Writing sample
Wednesday, December 4.
To-Do Items
- soon
In class
- client day
- Project consolidation: Software documentation and Product documentation
Friday, December 6.
To-Do Items
- 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
- soon
In class
- Course Evals
- Wrapping up the project
Friday, December 13.
To-Do Items
- soon
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: