CSC 490: Senior Project

A printable PDF is available.

COURSE TITLE:Senior Project
PREREQUISITES: CSC 340 and senior standing, or permission of instructor

FOR WHOM PLANNED: Required capstone course computer science majors.
Office: Petty 166
Office Hours: Tues/Thurs 2:00-4:00, or by appointment
Phone: 336-256-1033


CATALOG DESCRIPTION: Application of classroom knowledge and skills in computer science to solve real-world problems and to develop research and development skills.

STUDENT LEARNING OUTCOMES: Upon successful completion of this course students will have demonstrated an ability to

  1. (Knowledge, Comprehension) identify project/research problems; understand information and grasp meaning; translate knowledge into new context; use information, methods, concepts, and theories of fundamental topics in computer science in new situations;
  2. (Application and Evaluation) apply computer science principles and practices to a real-world problem; demonstrate in-depth knowledge in the area of the project they have undertaken; solve problems using required knowledge and skills; implement and test solutions/algorithms;
  3. (Analysis) identify potential solutions/algorithms for the project problem; see patterns and modularize the problem, recognize hidden meanings and identify components, show proficiency in software engineering principles;
  4. (Synthesis) create new ideas using the old ones; generalize from given facts in the project they undertake, relate knowledge from several areas in systematic scientific approach, predict and draw conclusions relevant to the project they undertake;
  5. (Team Work) show evidence (group collaboration, regular meetings, email communications, significant knowledge and skills contributions, etc.) of working productively as an individual and in a team on a project that produces a significant software product;
  6. (Communications) show evidence of competency in oral and written communications skills through oral presentations (project presentation, department seminar or conferences), technical reports and/or published research papers in conferences and/or journals;
  7. (Lifelong Learning) use modern techniques, skills and tools necessary for computer science practices relevant to the project they undertake; use techniques in recent research papers to solve problems.

TEACHING METHODS AND ASSIGNMENTS FOR ACHIEVING LEARNING OUTCOMES: This class will meet twice per week for 75 minutes each meeting -- some class time will be traditional lectures, reviewing concepts and tools that are useful for the senior project, but most class time will be used for guided discussion, student presentations, and some team meetings.

Students are expected to work in teams of 2-4 students and choose an appropriate project or research topic in consultation with the instructor. Teams then do a short presentation that "pitches" the idea to the instructor and the class. While there is some flexibility in project selection, students should keep in mind the "capstone" nature of this class. Projects should demonstrate that the students have a working knowledge of basic and advanced concepts in computer science and also demonstrate a reasonable knowledge of recent developments in computer science. Each project should include non-trivial software development that has been approved by the instructor.

With an approved project, students will proceed through a standard sequence of software development stages, beginning with a requirements analysis and specification, and concluding with a final evaluation. A full list of the 5 project stages is given in the "TOPICAL OUTLINE/CALENDAR" section. Before the completion of each stage, there will be a presentation from each project that previews the progress and results in that phase, for in-class discussion and suggestions for refinement in completing that development stage. For these intermediate stage presentations, team members will rotate through as "presenter" for the team, and each student must make at least two intermediate-stage presentations (for teams with 3 or 4 people this means that there will have to be multiple presentations on the same stage).

Reports: Throughout the course of the semester, students will be creating a cumulative project design and implementation report, which will have one major section for each of the five stages on the course calendar. At each due date, students will turn in the entire document, adding a new section for the current stage, and completing any necessary revisions to previous stage reports. The entire report should be in a single PDF file that is emailed to the instructor before the beginning of class on the due date. A "work log" should be submitted with the report (but as a separate document) which summarizes team meetings and work performed for this stage, focusing on problems encountered, decisions made, and assignment of tasks to team members. The instructor will print and comment on the current stage and provide suggestions for improvement. These refinements should be made and include in the next submission, and in doing so students may regain half of any points deducted.

At the end of the semester, the final deliverables for the project are: the completed, cumulative project design and implementation report, a technical report that includes a self-contained one page summary, suitable for putting on a web page, a display poster, and an oral presentation. For projects that aim to develop a usable software system, the technical report must include a "user's manual" that describes the system to an end-user. In addition to the team's project report, each member should individually turn in a short summary of their own contributions and their own thoughts on teamwork aspects of the project (specific guidelines will be provided). The final presentation should be a coordinated presentation in which each team member speaks for at least 5 minutes on some aspect of the project, highlighting their individual contributions toward the project's success.

EVALUATION AND GRADING: Students work on a single project throughout the duration of this course, and their course grade is calculated based on the grades for individual aspects and milestones. The project will be graded for content, correctness, quality of presentation (oral and written reports), team work, and the demonstration of the student's knowledge in the computer science field.

Proposal and Pitch ("Presentation 0") 5 points
Presentations 1-4 (must do 2 at 5 points each) 10 points
Stage 1 Report (Requirements/Specification) 10 points
Stage 2 Report (Planning and Analysis) 10 points
Stage 3 Report (System/Research Design) 10 points
Stage 4 Report (Implementation and Testing) 10 points
Stage 5 Report (Evaluation and Refinement) 10 points
Final Deliverables:
          Final Presentation 10 points
          Technical Report (including final source code) 20 points
          Project Poster 5 points

ETS Exam: You must take the ETS exam (a standardized test of undergraduate-level computer science knowledge) to pass this course. However the scores that you receive for the ETS exam will not affect your grade in this course. The Department of Computer Science will pay the fee for the ETS exam, which will be given on Thursday, March 17. Note that the ETS exam takes longer than the 75 minutes allocated for this class -- the exact times for the exam will be determined later to be compatible with student schedules.

REQUIRED TEXTS/READING/REFERENCES: Readings and references are project-specific, and will be determined by project groups, with approval of the instructor.

SPEAKING AND WRITING REQUIREMENTS: This is a writing intensive (WI) and speaking intensive (SI) class, and students are required to write multiple reports and give multiple presentations during the course of the semester. Several classes will be used to cover and discuss best practices for technical communication (written and oral) during the semester, and links to additional resources for writing and speaking are in the "More Information" section of the class web site.

While the instructor will give feedback and assist students in improving the quality of their written and oral communication, students are advised that additional help is available from the following university centers:

  • The University Writing Center provides assistance to students in writing tasks from organizing thoughts to the mechanics of effective writing. The Writing Center provides individual consulting for students through either face-to-face or online sessions. For more information, please refer to the center's web site at
  • The University Speaking Center provides tutoring and services that help students improve their oral communication skills. Consultants at the Speaking Center can provide assistance in the preparation and delivery of speeches, as well as assistance in developing group or team communication skills. For more information, their website is


See PDF version.

Other important dates:
Jan 20: 1st class on technical communication
Feb 22: 2nd class on technical communication
Mar 17: ETS exam
Apr 14: Final review of technical communication and expectations

ACADEMIC INTEGRITY POLICY: Students are required to sign the Academic Integrity Pledge on any work they do. The pledge is the statement "I have abided by the UNCG Academic Integrity Policy on this assignment." For information on the UNCG Academic Integrity Policy, see

Students are encouraged and expected to work in teams, but individual responsibilities should be planned and documented throughout the phases of the project.

Students will be making extensive use of external references for their project, and should be vigilant in maintaining high standards with regard to attribution and avoidance of plagiarism. If there are questions about how to deal with any such matters, the student should discuss the matter with the instructor to make sure there are no misunderstandings.

ATTENDANCE POLICY: This class will not always have an organized class meeting during the scheduled time, and some classes (particularly during the implementation phase) will be left for team meetings and individual consultation with the instructor. However, when organized meetings are scheduled, attendance is vital -- discussions, oral presentations, and progress reports will have a strong impact on your ability to complete the project. You may be dropped from the course for missing more than two meetings. The university allows for a limited number of excused absences for religious observances -- students who plan to take such an absence should notify the instructor at least two weeks in advance so that accommodations can be made (also see the late work policy at the end of this syllabus).

FINAL EXAMINATION: There will be no final examination in this class. Final project reports are due at the UNCG-scheduled final exam time (May 2 at noon).


Laptop/Cellphone Policy: Laptops can be both a benefit and a distraction in a classroom. While many students benefit from taking notes using a laptop, or having access to outside class-related resources during class, other students cannot resist the temptation of checking e-mail, chatting, or even playing games during class time. This class has a strict "no non-class related use" rule for laptops -- if you are found violating this policy, then your in-class laptop privileges will be taken away. Cellphones are a distraction for everyone, and should be turned off during class. If there is a special situation where you need to have your phone on for a particular day, please let the instructor know the situation before class.

Late Policy: Late work will not be accepted. Students with planned absences, whether for university events, religious observance, or some other reason, are expected to make arrangements with the instructor to turn in assignments before the scheduled due date.

ADA STATEMENT: UNCG seeks to comply fully with the Americans with Disabilities Act (ADA). Students requesting accommodations based on a disability must be registered with the Office of Disability Services located in 215 Elliott University Center: (336) 334-5440.