Syllabus
Computer Science 499

Senior Project
Fall Semester 2019


Instructor: Dr. Richard L. Coleman, former Senior Software Engineer, SAIC Inc. Now retired.
E-mail: rcoleman@cs.uah.edu
CS 499 Web Page: http://www.cs.uah.edu/~rcoleman
Office: N345, Technology Hall
Office Hours: By appointment

Course Catalog Description:

A combination of lectures on proven software engineering approaches, and team working sessions. Each student will participate in a sizable, complex software development project based on a team approach. Each team will be required to provide oral and written documentation of their work. Prerequisite: CS 317.

Textbook: (Recommended, but not required)
  • Software Engineering A Practitioner's Approach, 6th ed., Roger S. Pressman, McGraw Hill, Inc., 2005.
    (The instructor has 5 copies that can be checked out for 2 weeks at a time.)

Course Objectives:

      When you have completed this course you should have:
  • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
  • An ability to apply design and development principles in the construction of software systems of varying complexity.
  • Practical experience in the software engineering process by participation on a team in the development of a major software system.
  • Developed an understanding of the professional, ethical, legal, and social issues related to computing and the responsibilities of computing professionals with respect to these issues.
  • An ability to communicate effectively with a range of audiences; customers, supervisor, team mates, etc.
  • Learn to recognize and analyze the impact of computing on individuals, organizations, and society.

Team Software Development Project:
  • The class will be divided up into teams of three or four people.
  • Each team will be given a project assignment.
  • Following the Agile Scrum approach to software development teams will work just as if this were an actual project for a major software development company.

Final Grade:

           Final grades are based on both individual and team efforts. If a team reports that a member is not doing their share of the work
           that member's grade may suffer. If the team "fires" a member because of lack of participation that member will receive an F for the
           course.

           Factors figured in the final grade are:
  • Participation in team presentations in class.
  • Participation in team software process out of class.
  • Weekly team meeting reports.
  • Individual sprint reports.
  • Quality of software documents prepared by the team.
  • Individual work completed in each sprint.
  • Final, in-class, presentation of the team project.

Note on WX grade:
The administration of UAH has established a grade of WX or faculty initiated student withdrawal. Basically, this allows the instructor to withdraw a student from class without any request from the student. It's primary purpose is to allow a faculty member to remove a student from class who is not attending class or putting forth any effort to complete the class work. This grade will not be used to avoid a grade of F for the course.

UAlert Emergency Notification System:
UAHuntsville has implemented the UAlert emergency notification system. UAlert allows you to receive time-sensitive emergency messages in the form of e-mail, voice mail, and text messages.

Everyone who has a UAHuntsville e-mail address will receive emergency alerts to their campus e-mail address. In order to also receive text and voice message alerts, you are asked to provide up-to-date phone contact information. Participation in UAlert text and voice messaging is optional, but enrollment is strongly encouraged. You can’t be reached through UAlert unless you participate. The information you supply is considered confidential and will not be shared or used for purposes other than emergency notification.

To review your UAlert account, add or update phone and alternate e-mail addresses, and set the priority for your contact methods, please visit the UAlert web site: http://ualert.uah.edu.




Topical Outline and Reading Assignments
This Schedule is Subject to Change

Course Outline not available. Check back later.

  Date* Topic Assignment Due**
1 Thursday,
August 21
Team Organization
      Lecture: Course Introduction and Requirements
      Activity: Meet your development team.
   
2 Tuesday,
August 27
Contract Awarding
      Lecture: Agile Software Development
      Activity: Assignment of semester project.
Start of Sprint 1

Chapters 1-4
 

Sprint 1

3 Thursday,
August 29
Software Development Plan
      Lecture: Project Management and the S.D.P.
      Activity: Work on Software Development Plan.
Chapters 21-27
 
4 Tuesday,
September 3
Software Development Plan
      Lecture: Software Development Tools
      Activity: Work on Software Development Plan.
   
5 Thursday,
September 5
No class - Instructor will be out of town
   
6 Tuesday,
September 10
Making oral presentations
      Lecture: Some advice from Toastmasters
      Activity: Work on Software Development Plan
        and class presentation.
   
7 Thursday,
September 12
Team Presentations - First Group
      Activity: Presentation of Software Development
        Plan to Supervisor.
Teams will be randomly selected and as many as possible will present tonight. The remaining teams will present at the next class meeting.
  SW Dev Plan
SDP PPT slides
8 Tuesday,
September 17
Team Presentations - Second Group
      Activity: Presentation of Software Development Plan to Supervisor.
End of Sprint 1
Start of Sprint 2
If your project is web based
read Chapters 16-20
Sprint 1 Reports

Sprint 2

9 Thursday,
September 19
Requirements and the Backlog
      Lecture: Defining requirements in the Backlog.
      Activity: Work on Backlog and meet with supervisor as needed.
   
10 Tuesday,
September 24
Backlog
Activity: Work on the Backlog. List all epics.
   
11 Thursday,
September 26
Backlog
Activity: Report to supervisor on status of the Backlog,
      list user stories for first epics to be implemented,
      prepare for team presentations.
 
DDD1 Sprint 1 Reports
12 Tuesday,
October 1
Team Presentations - First Group
      Presentation of first version of the Backlog.
Teams who presented on the second night last time will present first this time.
 
First Draft: Project Backlog
PowerPoint slides if used.
13 Thursday,
October 3
Team Presentations - Second Group
      Presentation of first version of the Backlog.
End of Sprint 2
Start of Sprint 3
Sprint 2 Reports

Sprint 3

14 Tuesday,
October 8
Design
      Lecture: Object Oriented Design
      Activity: Work on Architectural Design:
      determine modules, units, classes, etc. of
      product. Update Backlog as needed.
Chapters 5-15
 
15 Thursday,
October 10
No class - Fall Break
   
16 Tuesday,
October 15
Lecture: Agile Testing
      Activity: Work on Architectural Design.
      Update Backlog as needed.
  DDD1 Sprint 2 Reports
17 Thursday,
October 17
Activity: Work on Architectural Design: Prepare for presentation.
      Update Backlog as needed.
   
18 Tuesday,
October 22
Team Presentations - First Group
      Presentation of Architectural Design and updates to the Backlog.
Teams will be randomly selected and as many as possible will present tonight. The remaining teams will present at the next class meeting.
   
19 Thursday,
October 24
Team Presentations - Second Group
      Presentation of Architectural Design and updates to the Backlog.
End of Sprint 3
Start of Sprint 4

Chapters 5-15
Sprint 3 Reports Architectural Design
Backlog - Version 2
PowerPoint slides if used.

Sprint 4

20 Tuesday,
October 29
The User Interface
      Lecture: Principles of GUI Layout
      Activity: Work on GUI Design.
 
 
21 Thursday,
October 31
The User Interface
      Activity: Work on GUI layout.
 
 
22 Tuesday,
November 5
The User Interface
      Activity: Report to supervisor on GUI layout.
 
DDD1 Sprint 3 Reports
23 Thursday,
November 7
Team Presentations - First Group
      Activity: Presentation of Preliminary GUI design.
Teams who presented on the second night last time will present first this time.
   
24 Tuesday,
November 12
Team Presentations - Second Group
      Activity: Presentation of Preliminary GUI design.
End of Sprint 4
Start of Sprint 5
Sprint 4 Reports
PowerPoint slides if used in presentation.

Sprint 5

25 Thursday,
November 14
The Beta Release
      Activity: Status report to supervisor.
   
26 Tuesday,
November 19
The Beta Release
      Activity: Status report to supervisor on beta version.
   
27 Thursday,
November 21
Prepare for Delivery
      Activity: Status report to supervisor on final delivery.
  DDD1 Sprint 4 Reports
28 Tuesday,
November 26
Team Presentations-Product Delivery - First Group
      Presentation of completed project to customer.
Teams will be randomly selected and as many as possible will present tonight. The remaining teams will present at the next class meeting.
 
 
-- Thursday,
November 28
No class - Thanksgiving Holiday
 
 
29 Tuesday,
December 3(last day of class)
Team Presentations-Product Delivery - Second Group
      Presentation of completed project to customer.
End of Sprint 5
All source files, executables,
web pages, pages, etc. appropriate
for installation of final product.
PowerPoint Slides if used.

Sprint 5 Reports
-- Thursday,
December 5
6:30-9:00 p.m.
Final Exam
      Celebration of a job well done.      
ATTENDANCE IS REQUIRED
 
DDD1 Sprint 5 Reports
Must be turned in by 6:30 p.m.