CSC 4700 Software Engineering SPRING 2011

Section 1


Dr. Thomas Way

Schedule is subject to change during the semester.  Please check the online version on the course website from time to time.
Topics, Assignments, Activities

M 1/10

Overview of the semester
Design exercise in class

Assignment 1 (20 points): Review the project web site for the Digital Agenda, including the pdf "Software Design Notes" (at bottom of Project Definition page) and prepare a typed list of at least 5 good suggestions regarding any aspect of the project. Email your list to Dr. Way before class on Wed. 1/12 and be prepared to discuss the project further in class.

Assignment 2 (20 points): Complete the extended questionnaire by Fri. 1/14 at midnight, and return to Dr. Way by email.

  W 1/12 Class cancelled due to schedule conflict
Continue working on Assignments 1 and 2
2 M 1/17 No class meeting Monday Jan. 17 (MLK Holiday)
  W 1/19 Discuss questionnaires & Digital Agenda design project

Digital Agenda: Design Review Ideas

Introduction to Software Engineering
Careers in Software Engineering
Lecture 1 slides (ppt)

Assignment (30 points): Read Brooks "No Silver Bullet." Dr. Brooks includes many "opinions" in his article. Identify one that you believe is insightful and one that you disagree with. Explain the reasons for your choices in 500 words or less. Due no later than 1/25 via email to Dr. Way.

3 M 1/24 Software Requirements Engineering
Hands-on activity - requirements specification
Lecture 2 slides (ppt)

Project brainstorming (ideas handout)
Project teams (sign-up sheet)

  W 1/26

Weather cancellation of class meeting

Assignment (30 points): Read the Agile Software Development handout and prepare a single, outstanding paragraph arguing in favor or against the use of this approach on a software project. Feel free to use other online references in forming your opinion. Due no later than 1/31 via email to Dr. Way.

4 M 1/31 No official class meeting, use time for team organization and planning
  W 2/02 Discuss Brooks article
Agile Software Development - brief discussion
Introduction to Refactoring

Team organization -  finalize teams
Project brainstorming - come up with project ideas

Lecture 3 slides (ppt)

Prototype or Tutorial Assignment (50 points): handout (see the handout for due dates and assignment deliverables) (note: there is an updated due date for part 2 of assignment)

5 M 2/07 Project or Tutorial Proposals, Part 1

In class: Quick, stand-up presentations where each team gives a brief overview of what they propose to do, and others have an opportunity to provide comments and suggestions.

Refactoring & Eclipse

Lecture 3 slides (ppt)
"Smells to Refactoring Cheat Sheet" (Joshua Kerievsky, Industrial Logic, original)
Refactoring Lab: in-class activity

  W 2/09 Team check-in, progress assessment
Prototyping & User Interface Design

PowerPoint Prototyping Toolkit (release 0.2)
10 Minute Mock Prototyping (see Jitter example)
User Interface Design for Programmers (Joel on Software) (slides: pdf, ppt)
6 M 2/14 Agile Software Development & SCRUM
Software Processes (ppt, pdf)
SCRUM in under 10 minutes (8:00) [produced by Axosoft]
Introduction to Agile and SCRUM: Part 1 (8:00), Part 2 (9:50), Part 3 (2:50)
SCRUM Basics (5:50)
The Downfall of Agile Hitler (4:00)

Project meeting time, discussion, Q&A with Dr. Way as needed

  W 2/16 Project/Tutorial Demos (approx 10 mins each)
7 M 2/21 Prototype Assignment, Phase 2 (100 points): handout (see the handout for due dates and assignment deliverables)

Design specifications: How much detail is enough?

  W 2/23 Phase 2 working session

Dedicated, informal class lab time for Q&A with Dr. Way, including assistance with finding the right tools, refining your project idea, getting tips of solving technical challenges, etc.

M 2/28
W 3/02

M 3/07

Strategies for Solving Software Problems (pdf, ppt)

Speed Design Challenge (in-class) (20 points): We need working example code of a minimally functional web-browser to use in our software product for the help information and for the user to possibly follow links to outside websites for additional information. Find working source code, download it, compile it, run it and show it to the instructor. You may work alone or with a partner.

  W 3/09 Team working time, no formal class meeting

Use this dedicated, commonly available meeting time to collaborate on Phase 2 of the Prototype assignment (see 2/21 above for assignment handout).

9 M 3/14 Team working time, no formal class meeting

Continued collaboration.

  W 3/16 More on Refactoring: Porting Code (pdf, ppt)

Code Porting Challenge (in-class): Port a simple version of an existing C utility (wc.c) to Java, and demonstrate the results to the instructor. You may work alone or with a partner. [worth 20 points]

Team Member Evaluations (pdf)
Possible Team Collaboration Time

10 M 3/21 Design Patterns (ppt)
Design Patterns overview - Wikpedia article
Anti-Patterns overview - Wikipedia article
Examples of Design Patterns - article
Design Patterns quick reference card (pdf)
  W 3/23 Project Presentations (10-15 minutes each)


11 M 3/28 Software Specifications
Design Specifications - How much detail is enough?
Functional Specification Tutorial (15 pages)
IEEE Software Requirements Specification Template

Prototype Assignment, Phase 3 (100 points)handout (see the handout for due dates and assignment deliverables)

Team working time

  W 3/30 Project team working time
12 M 4/04 Open Source vs. Free Software (pdf, ppt)
The Open Source Definition
The Free Software Definition

Origin of Open Source vs. Free Software (3:56 YouTube)
Richard Stallman, What is Free Software? (2:18 YouTube)
Eric Raymond, Communism and Free Software (3:21 YouTube)
Free & Open Source Alternatives (3:20 YouTube)

Assignment: Read the article "Why Open Source misses the point of Free Software" by Richard Stallman, prepare a one page, typed review of the article, and email it to me by the start of class on Wednesday, April 6. In addition to summarizing the article, provide your opinion on Stallman's conclusion, and be sure to justify your opinion. For fun (and background information), check out the Wikipedia entry for Richard Stallman, look at his personal site, and check out the Wikipedia page for Eric Raymond and personal site. [worth 20 points]

If there is time remaining, teams can work on projects.

  W 4/06 Test-Driven Development Challenge (in-class): After viewing these slides, follow the steps in the lab assignment to learn to use JUnit and Eclipse to design test cases. [worth 20 points]

If there is time remaining, teams can work on projects

13 M 4/11 Project Management (pdf, ppt)
Code Inspection, Code Review (pdf, ppt)

Handouts (paper and/or electronic)

  W 4/13 Project team working time

Prof. Way is available for individual and team consulting during this time

14 M 4/18 Project team working time

Prof. Way is available for individual and team consulting during this time

  W 4/20 Project Presentations
  • 1:30 - CATS (the evaluation survey, not the Broadway show)
  • 1:40 - Super Best Friends - Angry Birds Clone (Mueller, Oza, Dokas)
  • 1:50 - Team Edward - Zombees Strategy Game (Suwardiman, Dammann)
  • 2:00 - Team Best Case - Digital Agenda (Bradley, Fanelle, Dannemiller)
  • 2:10 - TAK - GPS-based Personal Item Tracker (Young, Patel, Lehmer)
  • 2:20 - NovaTenants (Singleton, [Horst, Francis])
  • 2:30 - Team Drop All Tables - Agnes, the Experimental Chat-bot (Grebe)
  W 4/27 "Monday" - Project Presentation spill-over day
  • 1:30 - Colorsoft - Magic Crayon (Liang, McDermott)
  • 1:40 - Dr. Way's concluding thoughts
  • 1:50 - Straitjacket escape
T 5/03
FINAL EXAM (Villanova schedule)
Tues. May 3, 2011, 8:00am - 10:30am

Note: As a final, culmination examination of your learning this semester, your individual contributions to the final project (written specification, post-mortem, team member feedback, prototype implementation, overall participation and contribution) will be used to assess your cumulative learning. This is in lieu of a written final examination.

Last updated: 10/12/2011