| CSC 4700 | Software Engineering | SPRING 2008 |
|
Section 1 |
SCHEDULE |
Dr. Thomas Way |
|
Schedule is subject to change during the semester. Please check
the online version on the course website from time to time. |
| # |
Date |
Topics, Assignments,
Activities |
|---|---|---|
| 1 |
M 1/14 |
No class meeting Monday Jan. 14 Assignment: Read about Google Gadgets for 1/16 |
| W 1/16 | About the semester Introduction to Software Engineering Careers in Software Engineering |
|
| F 1/18 | Careers in SE (cont'd) In-class: Design and develop (at least start) a Google Gadget Assignment: 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 by 1/23 in class. |
|
| 2 | M 1/21 | No class meeting Monday Jan. 21 (MLK Holiday) |
| W 1/23 | Discuss Brooks article Form teams Discuss team projects Assignment: As a team, produce a single sheet containing 3 software product ideas with a brief description of each, that you will use to pitch (sell) your ideas in class on 1/25. Hand in the sheet in class on 1/25 or via email, and include names of the team members. |
|
| F 1/25 | Finish forming teams Brainstorming product ideas Assignment: Read the Agile Software Development handout and prepare a single 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. Email this document to me by the start of class on Jan. 28, and be prepared to argue your case. |
|
| 3 | M 1/28 | Agile Software Development discussion Software Processes, part 1 Assignment: As a team, produce a web site for your project containing your team name, names of members, and a description of your proposed project. Email the URL of your web site to me by the start of class on Jan. 30. |
| W 1/30 | Software Processes, part 2 (Lecture 2 cont'd) Intro to Project Planning, Management and Prototyping Assignment: As a team, create a project proposal for your project of 2-3 pages, including a description of the project, one or more diagrams of the user interface, a timeline for development of no more than 3 months and a budget of no more than $100,000. Post this on your project web site by the start of class on Feb. 4. |
|
| F 2/01 |
Team Meetings Team project time |
|
| 4 | M 2/04 | Review of project proposals Software Processes, part 3 (Lecture 2 cont'd) Assignment: Prepare three written questions on a sheet of paper and turn in to me at the beginning of class. The questions should be serious, and can be about software engineering in general, careers, agile software development, etc. |
| W 2/06 | Invited Speakers: Sebastian Niezgoda & Mike
DeBlase, Accenture Assignment: Prepare a revised project proposal based on feedback from in-class evaluation and notes from Dr. Way, and post on your project web site by the start of class on Feb. 13. Career Fair: Find a summer job and a future career at the Career Fair in the Villanova Room of the Connolly Center, Feb. 6 from 3-7pm. |
|
| F 2/08 |
Team Meetings Team project time |
|
| 5 | M 2/11 |
Team Meetings Team project time |
| W 2/13 | Software Processes, part 3 (Lecture 2 cont'd) -
we will finish this lecture material, finally Assignment: Deadline extended for revised project proposal to Feb. 15. Revised proposal should be posted to your project web site by the start of class on Friday, Feb. 15. |
|
| F 2/15 | Review of revised project proposals Assignment: Prepare three questions for the Monday guest speakers, who work for a small software engineering company. |
|
| 6 | M 2/18 | Software Specifications Pre-preparation for Midterm Exam In class: We will discuss software specifications and then briefly review the study guide and strategize for the midterm exam. |
| W 2/20 |
Managing Details in a Specification 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 hand it in at the start of class on Monday Feb. 25. In addition to summarizing the article, provide your opinion on Stallman's conclusion, and be sure to justify your opinion. For fun, check out the Wikipedia entry for Richard Stallman, and look at his personal site. |
|
| F 2/22 |
SNOW DAY - Class cancelled, University closed | |
| 7 | M 2/25 | Open Source vs. Free Software Reactions to Stallman (assignment due at start of class) Report from Game Developers Conference 2008
(Stephen Walter attended). |
| W 2/27 | MIDTERM EXAM - Wednesday, Feb. 27 | |
| F 2/29 | Specifications: going from proposal to full
specification
Assignment: Work with your project development team to produce a first draft of a complete software specification. You can follow the formal IEEE template, or customize one of the examples to your specific product's needs. First draft should be completed and posted to your team web site by Wednesday, March 26, 2008. You can email intermediate drafts to me for feedback, which will result in a much stronger specification and probably a much better grade. |
|
| 3/03 3/05 3/07 |
SEMESTER BREAK - NO CLASS |
|
| 8 |
M 3/10 |
User Interface Design Assignment: Locate a link to a good online article about Agile development and email the link to me by Wed. March 12 along with a one or two sentence description of the article. These will be posted on our course web site. |
| W 3/12 | Brainstorming, Design and Midterm Exam Return Midterm exams will be returned In Class: We will discuss the design problems from the midterm, exchange ideas, and see where the design process leads us. Assignment: Continue to work with your team on your first draft of the software specification. |
|
| F 3/14 |
Team Meetings Team project time |
|
| 9 | M 3/17 |
Refactoring and IDEs In Class: Introduction to the topic. Note that class may end a few minutes early on this day. Dr. Way will demonstrate some basic refactoring techniques in class. Assignment: Continue to work with your team on your first draft of the software specification. Due date has been refactored to Friday, March 28. |
| W 3/19 |
Refactoring and IDEs (cont'd) In class: We will install and use Eclipse (if possible on the lab machines), or at the very least Dr. Way will conduct a tutorial and demonstrate a number of the cool features that can make your life really easy as a software engineer and programmer. Assignment: Continue to work with your team on your first draft of the software specification. Due date has been refactored to Friday, March 28. I highly recommend sending a draft to me before or during the Easter weekend for comment so you can adjust if needed prior to the March 28 deadline. Bonus: Mr. McCoey will don a straitjacket. Will he escape? No. |
|
| F 3/21 | EASTER BREAK - NO CLASS | |
| 10 | M 3/24 | EASTER BREAK - NO CLASS |
| W 3/26 |
Team Meetings Team project time |
|
| F 3/28 |
Refactoring (cont'd) In class: Lecture material about Refactoring. Due today: The complete draft of your team's software specification must be posted to your project web site by the start of class today, Friday, March 28, 2008. |
|
| 11 | M 3/31 |
Review of team project specifications In class: Review of team project specifications. Dr. Way will review all specifications over the 3/28-3/30 weekend, and we will review the specifications during class today (3/31). |
| W 4/02 | Review of team project specifications (cont'd) In class: Continued review of team project specifications. |
|
| F 4/04 | Test-Driven Development Assignment: Your assignment, due by class on Monday, is to review at least one web site on "Test Driven Development" and then comment on (1) your opinion about whether it is a good process to use, (2) when it would be good to use and when it would be bad to use, (3) how it compares with Agile Development, and (4) what is an example of software that supports it. Write up your answers and email it to me by the start of class on Monday. Some suggested links: |
|
| 12 | M 4/07 | Test-Driven Development and Test Plans In class: Explore online resources for test-driven development and test plans. Also, completed evaluations of each team's first draft software specification will be returned. Assignment: For next class, due Wednesday April 9, 2008 via email, write up and send to me a one page test plan for one of the other team's products. |
| W 4/09 | Project Management & UML In class: We will discuss the topics of project management, the use of UML as a design approach, and explore project management (OpenWorkbench) and UML design software (ArgoUML) Assignment: Final version of the software specification is due Monday, April 28, 2008 anytime before class, posted to your team's project web site. The official assignment requirements will be posted soon. |
|
| F 4/11 | Software Engineering at a Small Company In class: Guest lecturer and Villanova grad, Kevin Garrity, who works for a small software company will join us to discuss his experiences. CSC 4700 students will be expected to ask questions. |
|
| 13 | M 4/14 |
Team Meetings Team project time |
| W 4/16 | Version Control In class: Download and install source control software (jCVS). We will then access and modify source code in a massive, multi-user, free-for-all, and then try to figure out what happened. Handy CVS reference card here. Assignment: Final version of the software specification is due Monday, April 28, 2008 anytime before class, posted to your team's project web site. Assignment handout is here. |
|
| F 4/18 |
Team Meetings Team project time |
|
| 14 | M 4/21 | Guerrilla Code Development In class: We will discuss and try out rapid code development techniques that are common in research and industry. |
| W 4/23 | Eclipse and automated unit testing In class: Demo of the process of how to use Eclipse and JUnit, two very popular tools in industry and research, to develop automated unit tests of an existing application, a very common task for a software engineer. Discussion: We will briefly discuss the final software specification and presentation assignment. |
|
| F 4/25 | Configuration Management & Installers In class: We will explore the topic of configuration management and try out installer software. Oh, and Prof. Way will attempt to escape from a straitjacket. Assignment: Continue working with your team to complete your final software specification. On your own: Locate and try out one or more free installers. |
|
| 15 | M 4/28 | Project Presentations Due today: The final version of your team's software specification and project web site is due by the start of class today, Monday, April 28, 2008. Presentation schedule: |
| T 4/29 | Deemed a Friday class day No official class meeting Project preparation day for second set of presenters |
|
| W 4/30 | Project Presentations
Presentation schedule: THIS IS THE LAST CLASS MEETING |
|
| F 5/02 | READING DAY | |
| 16 |
W 5/07 |
FINAL EXAM
(Villanova
schedule) NOTE: due to project based and writing intensive nature of this course, the final exam requirement is fulfilled by the major final written software specification project and in-class presentation, so there will be NO final exam given on this date. |
Last updated: 05/02/2008