IMPORTANT NOTE: The following schedule is very much still under construction.

Skip directly to Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7 | Week 8 | Week 9 | Week 10

DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M1
Introductions, Syllabus
T1
SR Sem
Discussion of project possibilities:
HFOSS recommendations
OvioHuba
Conversion of RAMP to a Javascript framework
List of project considerations developed in class:
OS / Development Environment
Frameworks
Dependencies
Language(s)
Active (but not over-active!)
Maturity
Complexity
W1
Read Before Class:
This brief introduction and comparison of traditional and agile methodologies
2 sections ("The software crisis" and "'No Silver Bullet'") in the Wikipedia article on the History of Software Engineering
About 3 methodologies (Waterfall, Spiral, and Agile) in the Wikipedia article on Software Development Methodologies
The Wikipedia article on the Waterfall Model
The first link (Waterfall Methodology) from the page on "5 Useful Posts on Agile and Non-Agile Software Development Methodologies"
The "Lightweight methodologies" section in the Wikipedia article on the history of software engineering
Choosing OSS projects
Update Google doc in our shared folder

Continue to research potential projects, either individually or in groups. (If individually, be sure to share what you find with your group.)
F1
Discussion of basic software engineering concepts:

Your reaction to the ideas of "the software crisis" and the mythical man-month and teams vs. individual development. The relative merits of the need to "develop a coherent architecture up front" vs prototyping or other, more agile development methods.

The methodologies covered in the readings were developed in the context of proprietary software (which most software still is). How do you think they relate (or not) to open source development?

Has software development you've done (in class or outside of class) fit a software lifecycle-based or more agile methodology?

Weekly 488/490 Growth Journal Entry is due by noon on Monday. (nice example template using Markdown)
Follow-up if you're interested:
Wikipedia article on Fred Brooks's The Mythical Man-Month
Read the book, The Mythical Man-Month.
Read the second link (Spiral Methodology) from the page on "5 Useful Posts on Agile and Non-Agile Software Development Methodologies"
Wikipedia article on Extreme Programming
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M2
Due Before Class:
Agile software development, through the section on "Code vs. documentation" (you may skip the "Adaptive vs. predictive" section)
The Agile Manifesto
Brief introductions to, and comparison of, Kanban and Scrum
Overview and History sections of Wikipedia page on Extreme Programming (XP)
Very brief intro to the similarities and the distinction between Free Software and Open Source Software
See preparation for W2
W2
What is Free Software? (Free Software Foundation)
What is Open Source?
Why Open Source Misses the Point (Free Software Foundation)
Quick comparison of traditional and agile methods

Projects: Talk about downloading and getting started with various open source projects
F2 For anyone who might be interested in learning Python, here's a recommended tutorial
Quick report-back
Quality control & professional conduct
Issue tracking & communication
Weekly 488/490 Growth Journal Entry is due by Saturday night.
Groups as of 9/21
Oppia
Binny, David, Gus, Liam V, Lionel, Michael O, Scott, Serita, Sharif, YZ, Zoe
OperationCode
Alex, Andrew, Daniel, Hans, Kevin, Tanush, Tim
Mifos
Michael M., Noah, Skylar
OpenMRS
Caleb, Liam F., Nick
Humanitarian OpenStreetMap
Hazel, Lincoln, Sam, Torey
Open Data Kit
at the moment, no one is signed up for this
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M3
Project Work Day
W3
Project Work Day
F3
Quick reporting
TBD
Weekly 488/490 Growth Journal Entry is due by Saturday night.
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M4
History of Version Control -- Michael
W4
Git (2 tracks) -- Sharif
F4
IDE Tips & Tricks -- Tim
Quick reporting
Weekly 488/490 Growth Journal Entry is due by Saturday night.
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M5
Quick Introduction to Databases
Follow-up reading:
Relational databases (recommended: read the beginning, through the section on Keys; read more about primary and foreign keys and indexes about half-way down the page)
Read this example of normalizing databases
NoSQL
W5
Databases in the Real World, with guest Dan Kibby
F5
Fall Break
Weekly 488/490 Growth Journal Entry is due by Saturday night.
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M6
Comparison of IDE's -- Scott
W6
TBD
F6
Proprietary, Open Source, and FOSS Licenses -- Andrew
Quick reporting
Weekly 488/490 Growth Journal Entry is due by Saturday night.
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M7
Group Work Day
W7
Talk about how presentations link together
F7
Group summaries, including "external" contributions
Weekly 488/490 Growth Journal Entry is due by Saturday night.
Please include an overall reflection on what you've learned so far from working a completely different type of project.
(By the way, here's a very nice example template for a Growth Journal Entry using Markdown.)
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M8
Structure Charts -- Alyce
Aquarium Structure Chart
Example Structure Chart
Finite State Machines / Finite State Diagrams -- Tim
Structure Charts video from COMP 230
Wikipedia page on Structure charts (1st par & Overview only)
Excerpt from The Practical Guide to Software Systems Design
W8
E-R Diagrams revisited -- Kevin
Rumbaugh's OOD & UML -- Serita
For class on Friday, create and/or update:
a one-page reflection from one of 3 prompts
a current copy of your résumé
F8
Bring to class:
a one-page reflection from one of 3 prompts
a current copy of your résumé
You might be interested in the original justification we wrote on why this course should be a senior seminar.
Analyze, discuss, and revise reflections on this course, future goals, and your résumé
Weekly 488/490 Growth Journal Entry is due by Saturday night.
Please include a revised version of the reflection you brought to class, or a "meta-reflection" (reflection on Friday's reflective exercise).
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M9
ACM Code of Ethics -- Hans
Quick reporting
W9
UI/UX -- David & Lionel
F9
Requirements Gathering -- Andrew & Nick
Groups plan for summaries next week
Weekly 488/490 Growth Journal Entry is due by Saturday night.
Please include a reflection on the Collaboration Guidelines hanging in the classroom and the ACM Code of Ethics.
DAY BEFORE CLASS (Readings, etc.) IN-CLASS TOPICS FOLLOW-UP WORK
M10
Group Work Day
Course Evaluations
Supplement to Course Evaluation (OpenDocument format)
Team Evaluations (HOT Team Eval Form, Mifos Team Eval Form, OpCode Team Eval Form, OpenMRS Team Eval Form, Oppia Team Eval Form -- all forms are in OpenDocument format)
W10
Due Before Class:
Supplement to Course Evaluation
Team Evaluations
Group summaries, including "external" contributions
F10
Group summaries, including "external" contributions
Course evaluations & supplemental course evals
Final 488/490 Growth Journal Entry (described here) is is due by Tuesday night.
Exam Week
No Exam: Final 488/490 Growth Journal Entry is due by Tuesday night.