Here are some other helpful sites:
I would especially like to see projects that projects that have real customers identified or perhaps that target computing contests such as the IBM Linux challenge.
Here are the final class project submissions from previous semesters: Fall 2004 , Fall 2003 and Fall 2001 .
In addition to the group project, there will be individual homework assignments. Some will be programming assignments and others will be written assignments.
Due to the sequential nature of the work in this course, many assignments will need to be completed even if they are not completed on time and for credit.
It is also an academic integrity violation for you to give your work to others. This includes sharing materials privately as well as making assignments available in Github or other public repositories.
Date | Lecture Topic | References | Other Notes | Week 1 |
---|---|---|---|---|
Mon 8/29 |
Welcome, Class Organization and Objectives, Class Introductions, How is programming in industry different than programming for a class project? | Pfleeger 1 | Think of software you would like and that you think your peers should be capable of producing. Be the customer! (Submit an html file with ideas for posting off class web page) Write a description of your previous programming experience suitable for posting to the class. Some questions to get you started |
|
Weds 8/31 |
What is software (developers, companies, users)? | |||
Weds 8/31 |
LAB: Makefiles | Week 2 | ||
Mon 9/5 |
How do we model the software development process? Why is modeling a good idea? | Pfleeger 2; Pressman 1, 2 SEI links |
Programming Resume and Project Ideas due; Homework 1 out | |
Weds 9/7 |
Discuss project ideas | Check out your classmates' project ideas and resumes . | ||
Weds 9/7 |
Personal Software Process and Team Software Process: How can we plan for/estimate large programming projects unless we first learn to plan for/estimate small ones?
Competing in the Software Age by Watts Humphrey |
Pressman 2, Introduction to the Personal Software Process" by Watts Humphrey | CS450_PersonalTracking.xls | Week 3 |
Mon 9/12 |
Overview of software project documentation in relationship to software process model; Discuss Pressman case studies; Mythical Man Month advertisement; |
HW 1 due, HW2 out Mythical Man Month 1-3 reading assigned | ||
Weds 9/14 |
Code Quality: What are the attributes of high quality code? How to increase the quality of code you write? | Pfleeger 7, McConnell 4-5, 8-11, 13-17, 18-19; "Writing Solid Code" by Steve Maguire Commenting Strategies |
||
Weds 9/14 |
LAB: Solid Code Examples, Intro to gdb | McConnell 26; GNU Manuals Online including gdb | Week 4 | |
Mon 9/19 |
Discussion Mythical Man Month 1-3: Historical Perspective, Programs vs Programming Products vs Programming Systems vs Programming Systems Products; Joys and Woes of the Craft; Estimating; The Mythical Man Month ( Related Links ) |
Mythical Man Month 1-3 | ||
Weds 9/21 |
LAB: Using Debuggers Continued: gdb, ddd | |||
Weds 9/21 |
9 AM Visit from Greg Lacey (IBM) | |||
Thurs 9/22 |
Career Fair: 1-4:30 p.m. and 6:30-9 p.m. in both the ERC and on the Cheel Campus Center's Main Street. | |||
Fri 9/23 |
By 5 pm, send mail with list of team members, the customer you are working with and brief (1-2 paragraph) description of the project you are doing. | Week 5 | ||
Mon 9/26 |
Finish up Mythical Man Month discussion; User Requirements | HW 2 due;Mythical Man Month 1 page reactions due in hardcopy | ||
Weds 9/28 |
Project Planning and Estimation, Project Schedules, Dynamic Project Schedules, Project Monitoring and Risk Assessment | Pfleeger 3; Pressman 4-9, McConnell 1-3,21-23 |
HW3 out | |
Wed 9/28 |
Lab: Planning Tools | Imendio Planner
dotProject |
Week 6 | |
Mon 10/3 |
NO CLASS: FALL RECESS | |||
Weds 10/5 |
LAB: Getting up to speed in a software project; Download, configure and build open source software | Discuss HW4; Reminder HW 3 deadline of 9AM Monday is a hard deadline | Week 7 | |
Mon 10/10 |
What is Design? What are Design Documents? Object Oriented Analysis | Pfleeger 5-6, McConnell 6-7, Pressman 13-14 | HW 3 due 9 AM; HW4 out | |
Weds 10/12 |
UML, Design Patterns, Design to Code Tools; Extreme Programming Advertisement | Pressman 18 "Design Patterns" Gamma/Helm/Johnson/Vlissides |
||
Weds 10/12 |
LAB: Design Tools | Dia dia2code |
Project Plan Documents Due |
|
Friday 10/14 |
Project Plan Documents Due - in hardcopy to the department office *and* in soft copy to your new project directories |
Week 8 | ||
Mon 10/17 |
Extreme Programming especially The Rules and Practices of Extreme Programming ; Compare to Mythical Man Month Chapter 3 | HW 4 due HW5 out |
||
Weds 10/19 |
NO CLASS; PROJECT PLAN MEETINGS EARLIER IN THE WEEK | Week 9 | ||
Mon 10/24 |
Software Testing, White Box Testing, Black Box Testing | Pfleeger 8-9, Pressman 17-18, McConnell 25 | HW 5 due HW6 out |
|
Wed 10/26 |
LAB:Shell Scripts, Intro to Automated Testing Script | Week 10 | ||
Mon 10/31 |
Software Maintenance, Refactoring, Performance Tuning | Pfleeger 11, McConnell 28, 29, 30 "Refactoring", Fowler |
HW 6 due HW7 out |
|
Weds 11/2 |
LAB: gcov, gprof, Purify | Week 11 | ||
Mon 11/7 |
User Interface Design; Advertisement for Cathedral and the Bazaar | Pfleeger 4; "The Design of Everyday Things" For cross platfrom GUI development try wxWindows |
Design Documents Due (9 AM) | |
Weds 11/9 |
PROJECT REVIEW MEETINGS (20 minute slots) | Week 12 | ||
Mon 11/14 |
LAB: Bake-off prep | HW 7 due, Debate any test cases due | ||
Wed 11/16 |
LAB: Bake-off | Final contest submission due 8 AM | Week 13 | |
Mon 11/21 |
Movie |
HW 8 out | ||
Wed 11/23 |
NO CLASS THANKSGIVING BREAK | Week 14 | ||
Mon 11/28 |
Cathedral and the Bazaar, Code Review winners code |
Other recommeded reads: A Brief History of Hackerdom The Art of Unix Programming |
||
Mon 11/30 |
Cathedral and the Bazaar continued, Summarize Process Data | McConnell 31-33 | Demo setup requests due Homework 8, Part 1 before class | Week 15 |
Mon 12/5 |
PROJECT PRESENTATIONS (15-20 minute slots; videotaped) | |||
Wed 12/7 |
PROJECT PRESENTATIONS (15-20 minute slots; videotaped) | Homework 8 remainder due by 5 pm | Week 16 | |
Mon 12/12 |
FINALS WEEK | |||
Wed 12/14 |
FINALS WEEK | Project html pages and tar/zip files due 5 PM. | ||