CS 499 Spring 2018 Syllabus

Senior Design Project

 

Instructor                   

 Paul Piwowarski (www.cs.uky.edu/~paulp).

                                    Office: 304 Marksbury

                                    Office hours:  by appointment, email me, or arrange before/after class

 

Course information   

 Course homepage http://www.cs.uky.edu/~paulp/CS499/index.html

 Course:            CS 499 Senior Design Project

Section:            001

Meets:              MWF 12:00-12:50

Location:          257 FPAT


Section:            002

Meets:              MWF 1:00-1:50

Location:          257 FPAT


Course Description: This is a project course. Students will work in small groups to design and implement systems of current interest to computer scientists. The course will also provide a high-level overview of the software engineering discipline: software requirements, software design, software construction, software management, and software quality. This course provides full GCCR credit for the Computer Science major and for Computer Engineering students who opt to take this capstone course.

Prerequisites: CS 315 and engineering standing. Students are assumed to be Computer Science majors in their senior year. A knowledge of program development techniques in an object-oriented language and a knowledge of data structures and algorithms at the CS-315 level is assumed.


 Learning Outcomes: Students will gain experience in the design and implementation process using material from throughout their undergraduate career. They will gain experience working in groups. Specifically, students will improve their abilities, knowledge, understanding and skills to:

1. Design, implement and evaluate a computer-based system, process, component, or program to meet desired needs

2. Professional, ethical, legal, security, and social issues and responsibilities

3. Use the standard project development steps (specification, design, etc.) in implementing a project

4. Implement a large project

5. Communicate effectively with a range of audiences

6. Develop and present a talk on the status of a project

7. Develop a written report on a large project

8. Function effectively on teams to accomplish a common goal

TCE Questions


37 – This course improved my ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs

38 – This course has improved my ability to understand professional, ethical, legal, security, and social issues and responsibilities

39 – This course has improved my ability to use the standard project development steps (specification, design, etc.) in implementing a project

40 – This course has improved my ability to implement a large project

41 – This course has improved my ability to communicate effectively with a range of audiences

42 – This course has improved my ability to develop and present a talk on the status of a project

43 – This course has improved my ability to function effectively on teams to accomplish a common goal


Course Materials: Notes and slides on software engineering topics will be presented in class and provided online. Course materials will be available on the course web page.  The course web page and e-mail will be important methods of distributing information for the course. There is no textbook for the course, but a good textbook on software engineering (topics from them will be discussed in class):

Shari Lawrence Pfleeger and Joanne M. Atlee

Software Engineering: Theory and Practice

Prentice Hall  ISBN: 0-13-909674-3


A very interesting book to read (highly recommended):

Frederick Brooks, Jr.

The Mythical Man-Month

Addison-Wesley  ISBN: 0-201-83595-9

 

Grading

Your grade in CS 499 will be determined according to these weights:

 

Project

50%

Project documentation/deliverables

20%

Assignments

10%

Class participation

10%

Attendance

10%


Where:

A=    90 -  100%

B =   80 -    89%

C=    70 -    79%

D=    60 -    69%

F =    59 and below

There is no final exam.

Note on GCCR: To satisfy the GCCR requirements the student has to attain at least an equivalent of a C grade for the communication and composition components of the required work.  Specific requirements related to the GCCR are described in section “Overview of CS 499 as a GCCR course” of this document.


Mid-term grades will be posted in myUK by the deadline established in the Academic Calendar (http://www.uky.edu/Registrar/AcademicCalendar.htm)

 

Project Grade Criteria (50% of grade)

100

  1. Good teamwork and approach to the project, kept to a schedule

  2. Satisfactory completion of the project phases following the directions to the class:

  1. Communicated well with customer

  2. Kept up a project web page during the semester, acceptable final report

  3. Used software engineering procedures that would discover problems as soon as possible, used all resources available to solve problems

  4. Instructor has no substantial criticism of the project

  5. Appropriate, understandable documentation

  6. Went beyond the project specifications in some way

96 Same as 100, except for point 8

92 Same as 96, but with one or two minor negative comments from instructor

84 More than two negative minor comments, or a major problem

80 Partial project failure due to problems that could have been corrected by the team by following the points above

75 Project failed in some way due to problems that could have been corrected by the team by following the points above

70 Project failed, poor teamwork, poor procedures, many of the above points not followed

60 Project failed, most points not followed, lack of effort 

 Project grades are based on the judgment of the instructor on how well the projects met the above criteria. Note that the use of a version control system for the project will be required. 

Project Documentation/Deliverables (20% of grade)

Good documentation is essential for a successful project. These are the items that will be graded:



Project final report

6%

Team web page during the semester

6%

Code documentation

6%

Project deliverables to the instructor and customer

2%



As will be discussed, your project web page will become your project final report. Standards for the project final report will be provided on the class web site and discussed in class. An example of a project final report will be provided. The instructor will warn teams that have inadequate web pages, or do not keep them current. If the deficiencies continue, points will be deducted. Your source code must follow product documentation standards. Your project deliverables and delivery method will vary depending on the project, and will be decided after consultation with the customer and instructor. Proper language usage is required for all written material.

 Note that all students on a project may not receive the same project grade (including documentation grade). At midterm and at the end of the semester, each team member submits a report on what each team member did on the project, how much they cooperated on the project tasks, attended meetings, etc. The instructor will also make a judgment on the each student’s team participation based on:

·        Class attendance

·        Team meeting attendance

·        Participation in team class presentations

·        Participation in team meetings with the instructor

·        Project knowledge as shown in presentations and meetings

   If (in the judgment of the instructor based on the input from the team members and the observation of the instructor) it is clear that a team member has made insufficient contribution to the project, that student’s grade (for the project and project documentation/deliverables) will be adjusted. The minimum penalty for poor team performance is 10 points deducted from the project grade.

 Assignments  (10% of grade)

 There will be a few written assignments during the semester to be done individually. These assignments are submitted electronically from the class web page. Because of the GCCR word count requirement, there will be submission format requirements.

 Class Participation/Web page (10% of grade)

 Students are expected to participate in their team’s class presentations, and keep a log of the student's project activities updated on the project web page. Each team presents its project to the class at midterm, and at the end of the class. During the semester, the teams present the project status to the instructor. All team members are expected to participate in these presentations. “Participation” means not only being present, but understanding the project, and being able to answer questions about it. The instructor will judge, and can lower the participation grade of students who, in the judgment of the instructor, do not understand the project.

 The grading for class participation:

Participated in team project midterm presentation                     2%

Participated in team project final presentation                           2%

Participated in meetings with the instructor                              2%

Kept project web page log of student's activities up to date on a weekly basis           4%

Each team member is required to report the student's weekly project activity with at least a paragraph of text each week.

 Attendance  (10% of grade)

 Students are expected to attend and participate in all scheduled classes (including all midterm and final project presentations).  An attendance sheet will be used. The dates of the invited guest speakers’ presentations will be announced in class and put on the class web page. Each student is allowed three unexcused absences.  After that, each unexcused absence subtracts one percent from the 10 percent attendance grade. For example, if a student has five unexcused absences, the student’s attendance grade is eight percent instead of 10 percent. Note that classes start on the hour. A student will not get attendance credit if the student does not arrive within 10 minutes of the start of the class.

University attendance policy:

 Students can be excused for University accepted 1) serious illness; 2) illness or death of family member; 3) University-related trips (S.R. 5.2.4.2.C); 4) major religious holidays; 5) other circumstances that the instructor finds to be "reasonable cause for nonattendance."  It is the student’s responsibility to contact the instructor regarding the nature of the absence (within 10 days of the absence), and the instructor retains the right to ask for proof.

Students anticipating an absence for a major religious holiday are responsible for notifying the instructor in writing of anticipated absences due to their observance of such holidays no later than the last day in the semester to add a class. Information regarding dates of major religious holidays may be obtained through the religious liaison, Mr. Jake Karnes (859-257-2754).


Students are expected to withdraw from the class if more than 20% of the classes scheduled for the semester are missed (excused or unexcused) per university policy.


Overview of CS 499 as a Graduation Composition and Communication Requirement (GCCR) course:



CS 499 Senior Design Project provides full GCCR credit for the Computer Science major, and for Computer Engineering students who opt to take this capstone course instead of its EE counterpart. Check with your advisor and course instructor for more information.


There are three major components of the GCCR part of the CS 499 course:


  1. Multiple written assignments (reports, documentation, user manuals, etc.) that total to at least 4,500 words of text for the total of 150 points for the communication and composition.

See CS 499 components for this GCCR component here.


  1. Oral assignments in English, in which teams of students give a formal presentation with at least 10 minutes long presentation by each student. The total score for the communication aspects of the class is 75 points.

See CS 499 components for this GCCR component here.


  1. Documentation for the software project, which requires the student to demonstrate information literacy in the discipline. The total score for this project is 75 points.

    See CS 499 components for this GCCR component here.


Grading for the GCCR requirement: A: 265 – 300 point; B: 225 – 264 points, C: 185 – 224 point; D: 140 – 184 points; E otherwise.


Important: To satisfy the GCCR requirements the student has to attain at least an equivalent of a C grade for the communication and composition components of the required work.


 Incomplete grade: Because of the team project nature of the class, the grade of incomplete (I) will be given only in cases of extreme hardship in accordance with the University policy.

 Late Policy: Project dates (see the online schedule) must be met or points will be deducted from the grade of all team members.  Assignments will have due dates with penalties for late submission.

 Academic Honor Code: Group projects allow the sharing of ideas and computer code within the group. The University of Kentucky’s guidelines regarding academic dishonesty will be strictly enforced. Note that the penalty for plagiarism can be a failing grade in the course. You must credit sources for any code, algorithms, ideas, etc., in your project documentation. If you are in doubt whether you are violating plagiarism guidelines, check with the instructor.

 Computer Facilities: You will be assigned an account for this course in Multilab. Multilab will be the host for your web page/final report. For information regarding Multilab, see links under “facilities” from the Computer Science homepage (www.cs.uky.edu).  You may use any computer systems for developing and testing your work  provided that your submitted work will run under the proper software environment as specified in the project documentation and agreed to by the customer.

Accommodation: If you have a documented disability that requires academic accommodations, please contact the instructor as soon as possible. In order to receive accommodations in this course, you must provide a Letter of Accommodation from the Disability Resource Center.

 Group Projects: The group project for the course will require you to work together with other students in the class.  You will be evaluated on your contribution to the group project and presentations of the project results.  The instructor will make group assignments, however you are allowed to suggest a project that you would like to do, and mention others in the class who would also like to do the same project. The instructor must approve the project, and it must be submitted to the instructor at least one class day before the day that student preferences (Assignment 1) is due. Typically there are three to five students in each group. As discussed above, group members are not guaranteed to receive the same project grade.

  Each project will have a web page to be maintained by the project team. The contents of the web page will be discussed in class and the class web site.

 Schedule: There will be class lectures on software engineering and presentations from guest speakers that you are expected to attend. The class web site will have the schedule. You are expected to meet with your project team on a regular basis, and to post you meeting times and accomplishments on your web page. The teams are required to meet with the instructor on a regular basis so that the instructor can judge your progress. All students are expected to attend the class project presentations. There will be a midterm presentation to the class, and a final presentation to the class and your customer during finals week.