CS486 - Senior Design
Home
Class Info
Assignments Content  

Course Syllabus

CS 486 – Senior Capstone Design
Dept. of Electrical Engineering and Computer Science
Northern Arizona University
Spring 2013
(4 credit hours)

Time and location: Thurs. 2:20-5:00, Rm218 EGR. We will use this time slot for regular Design Review presentations and other whole-class activities. Most weeks individual teams will meet with their faculty mentor, times TBD faculty mentors in first week.

Course Website:  http://www.cse.nau.edu/~edo/Classes/CS486_WWW/

Course PreRequisite: CS386, CS396, CS315

Textbook (Required):   Not applicable

Course Description: Team implementation of sponsor-accepted proposal culminating in an oral presentation, product demonstration, and formal report. Topics include project management, software architecture and design, software implementation, testing, and documentation. Must be taken in the year in which you graduate.

Course Objectives: Development and successful completion of a sponsored software development project. Specific objectives include the development of effective project management, communication, and technical skills, experience with the implementation and testing phases of a realistic product design cycle, and an ordered transition from a classroom-oriented academic environment to a performance-oriented professional environment.

ABET Learning Outcomes: This course directly supports the following Program Learning Outcome of the CS program assessment and improvement plan:

  • 1.2 -- Ability to function effectively in both co-located and distributed software development teams. The last project in the applied portion of the course is team-based, with team of 2-5 students collaborating to produce and test a GUI application.
  • 1.3 -- Possess abilities to effectively communicate orally. For select projects, individuals/teams must give formal presentations of their design process, software architectures chosen, and analysis of resulting product.
  • 1.4 -- Possess abilities to effectively communicate in writing. For the team project, teams must produce extensive formal project planning and requirements analysis reports, as well as a comprehensive final report detailing usability testing and outcomes.
  • 1.5 -- Abilities in creativity, critical thinking and problem identification, formulation and solving. All software development projects in this course are based around the fleshed-out and realistic problem scenarios under which students have to develop sophisticated GUI-based software to meet end-users needs.
  • 2.5 -- Ability to use industry standard integrated development environments (IDEs), debugging support tools, and other modern software development tools. Students are initially required to develop GUIs manually, but then are introduced to GUI Builders in various IDE like Netbeans. In the latter projects, teams are required to use a version control system to manage code.
  • 3.1 -- Ability to relate a broad education and contemporary issues to software solutions and their impact in a societal and global context. Lecture module on “Ethics and Social Issues in User Interface Design” begins with a survey of issues raised by modern interfaces and the information access they provide.
  • 3.2 -- An appreciation and understanding of professional and ethical responsibility. Lecture module on “Ethics and Social Issues in User Interface Design” begins with a survey of issues raised by modern interfaces and the information access they provide.

Course Coordinator: Dr. Eck Doerry
Office and email: Engineering 259, Eck.Doerry@nau.edu

Faculty Mentors: Dr. Maggie Hamill, Dr. Dieter Otte, Dr. James Palmer, Dr. John Goergas, Steve Jacobs


Course Stucture and Evaluation Methods

This course is the second of the two-semester Capstone sequence for the BS in Computer Science program; it follows on the preparatory CS476 Requirements Engineering course in the Fall term. The structure of this course will be unlike most other courses that you've taken. A major objective of the Design Sequence is to wean you from the academic environment, where others schedule your time and efforts, and accustom you to a modern corporate teaming environment, where responsibility for getting things done rests on the team and the individuals in it. We will only occasionally meet as a class for Design Review presentations (mandatory). Instead, each team will be assigned a mentor from among the CS programs faculty; teams will meet with their faculty mentor individually on a weekly basis to review project progress and set goals. Faculty mentors will take an advisory role on your team as "project coordinator" --- think of them not as the project manager (that role is handled by team leader), but as the division director to whom you, as a project team, must report regularly. This arrangement allows faculty team mentors to gain some insight into team performance, dynamics, and effort invested by individuals.

Of course, CS 486 is still a for-credit class and must have a basis for grade. Team mentors will assign deliverables to hand in along the way evaluation, with timing and nature of the deliverables determined in some part by the nature of the specific project being tackled. A large portion of the evaluation will fall on the final outcomes of the course: the Capstone presentations and write-ups delivered at that time. Specifically, the following are the relevant elements of your final grade:

  • Written deliverables (all documents and Final Report) = 45 %
  • Presentations, Poster, Capstone = 25 %
  • Team Website =10%
  • Peer Evals = Applied as weighting factor; see below
  • Sponsor Evals = 10%
  • Participation, Meetings, and Faculty Mentor Eval = 10%
Because this is a team project course, there will be peer evaluations turned in at regular intervals. The effect of these evaluations is to characterize the distribution of effort on project presentations and deliverables throughout the term. The outcome of the compiled evaluations is used as a weighting factor, applied to the overall team score on presentations and deliverables to arrive at individual grades. In this way, it is quite possible for teammates to get very different grade outcomes, depending on the effort they invested and displayed to their teammates. Thus, just as in the real world, it is critical that you impress your teammates with your reliability and quality!

† = may be evaluated at multiple points during the term; the final version will count most heavily.

Grading Scale: 90-100% = A, 80-89% = B, 70-79% = C, 60-69% = D, under 60% = F

Simply completing what is required is enough to earn a "C". To get an "A" or a "B" you must show exceptional (i.e. above average or outstanding, respectively) initiative and creativity. For more information, my document on What does a grade mean?


Course Policies

Attendance:
Attendance is required at all meetings, particularly the team meetings with your faculty mentor. For other intra-team meetings, your specific guidelines specified in your Team Standards document should be followed and enforced. Team members consistently in violation of attendance or other team standards should be formally reprimanded in writing, with copies to me.
Late work:
Late work will be severely penalized. All collected deliverables are due at mentor's office at the due time assigned by the faculty mentor. The penalty policy for late work is as follows: deliverables submitted within 4 hours of the due deadline will receive a maximum of 90% credit; deliverables submitted within 24 hours of the due deadline will receive a maximum of 75% credit; anything later than that will not receive credit. In short, late delivery is a major liability in a professional environment. Get used to planning time carefully, starting early, and leaving time to iron out unforeseen contingencies so that you can meet the deliverable deadlines reliably.
Academic Dishonesty:
As there are no homeworks or exams per se in this course, I don't expect "cheating" to be a problem. However, you should be aware of the serious consequences for plagiarism, which includes passing off code found on the web or elsewhere as your own. As senior programmers, we are all aware of the benefit of using existing code or classes where possible. This is acceptable so long as (a) this code does not comprise the core functionality of your project and (b) you properly attribute the code to its original author. Again, plagiarism doesn't refer to using someone else's work per se, but rather to the implication that it is your original work. Please see your mentor if you have any questions on this or would like my opinion on a particular case.

University Policies

You should familiarize yourself with the following university policies, which are available at the Engineering Sciences Front Desk:

  • NAU Policy Statements. This course is subject to University policies on Safe Environment, Students With Disabilities, Academic Integrity, etc.
  • NAU Classroom Management Statement
  • Building Evacuation Policy
  • NAU Class Policy Statement
  • Engineering Sciences Code of Ethics
  • Institutional Review Board (use of human subjects)
  • Engineering Sciences Code of Ethics

 

  • Written deliverables (all documents and Final Report) = 40%
  • Presentations = 15%
  • Team Website and Notebook =15%
  • Peer Evals = 20%
  • Sponsor Evals = 5%
  • Participation and Instructor Eval = 5%

† = may be evaluated at multiple points during the term; the final version will count most heavily.

Grading Scale: 90-100% = A, 80-89% = B, 70-79% = C, 60-69% = D, under 60% = F

Simply completing what is required is enough to earn a "C". To get an "A" or a "B" you must show exceptional (i.e. above average or outstanding, respectively) initiative and creativity. For more information, my document on What does a grade mean?


Course Policies

Attendance:
Attendance is required at all meetings, particularly the team meetings with me as your project coordinator. For other intra-team meeting, your specific guidelines specified in your Team Standards document should be followed and enforced. Team members consistently in violation of attendance or other team standards should be formally reprimanded in writing, with copies to me.
Late work:
Late work will be severely penalized. All collected deliverables are due in my office at the due time listed on the class website. Exceptions must be cleared with me in advance. The penalty policy for late work is as follows: deliverables submitted within 4 hours of the due deadline will receive a maximum of 90% credit; deliverables submitted within 24 hours of the due deadline will receive a maximum of 75% credit; anything later than that will not receive credit.
Academic Dishonesty:
As there are no homeworks or exams per se in this course, I don't expect "cheating" to be a problem. However, you should be aware of the serious consequences for plagiarism, which includes passing off code found on the web or elsewhere as your own. As senior programmers, we are all aware of the benefit of using existing code or classes where possible. This is acceptable so long as (a) this code does not comprise the core functionality of your project and (b) you properly attribute the code to its original author. Again, plagiarism doesn't refer to using someone else's work per se, but rather to the implication that it is your original work. Please come see me if you have any questions on this or would like my opinion on a particular case.

University Policies

You should familiarize yourself with the following university policies (available from me in a separate handout):

  • Safe Working and Learning Environment (1998-2000 Student Handbook, Appendix M)
  • Students with Disabilities
  • Academic Dishonesty (1998-2000 Student Handbook, Appendix G)
  • Accommodation of Religious Observance and Practice (1998-2000 Student Handbook, p. 43)
  • Classroom Management Statement
  • Building Evacuation Policy