CPSC 490 Senior Project

Use this page to access Recent Projects only. Instructions for CPSC490 for Fall CPSC 2022 and later are on Canvas (access through Yale Course Search.)

Recent Projects

See https://zoo.cs.yale.edu/classes/cs490 (Yale only).

THE INSTRUCTIONS BELOW APPLY TO TERMS PRIOR TO FALL 2022. SEE CANVAS SITE FOR FALL 2022 AND LATER

YCPS Description

Individual research intended to fulfill the senior requirement. Requires a faculty supervisor and the permission of the director of undergraduate studies. The student must submit a written report about the results of the project. May be taken more than once for credit.

Enrolling in CPSC 490

To enroll in CPSC 490, you must:

  1. Register for CPSC 490.
  2. Find an advisor.
  3. Prepare a three-page description of your planned project. This is a written document, negotiated with your advisor, that must include a list of deliverables for your project.
  4. Submit your project description, as approved by your advisor, by email in plain text or PDF format to the DUS. You should CC your advisor on this message. Joint majors should also CC their second reader and the DUS from the appropriate department.

Other than registering for CPSC 490, seniors must complete these requirements by noon on the fourth Thursday of classes.

Non-seniors and non-majors must complete these requirements and have their project approved by the DUS at least two days before your course schedule is due. Note that taking CPSC 490 as a non-senior requires special approval by the DUS, which will be granted only under exceptional circumstances.

Special requirements for joint majors

Joint majors must complete the same steps, but will need a second reader in their other department and must have their project approved by both DUSes.

For the Computer Science and Mathematics major, you will also need to present an oral report on the mathematical aspects of the project to the Mathematics faculty at the end of the semester.

End-of-Term Requirements

The following requirements must be completed by noon on the last day of reading period:

  1. Use the script /c/cs490/bin/abstract in the Zoo to submit your thesis abstract. Just type the command and wait for prompt to submit your name, the title of your project, your advisor’s name, and a 250-to-300-word abstract. This information will be added to the on-line database of recent CPSC 490 projects.
  2. Use the script /c/cs490/bin/submit in the Zoom to submit your complete report. Type the command with argument(s) specifying the files/directories to be submitted. The files/directories will be uploaded to the online database to become a set of web pages describing your project. These web pages:

These pages will become part of the on-line database of recent CPSC 490 projects. If you want to check your upload, the best way is to see how they look in the online database: click the link on the Recent Projects (above) and find your entry.

Note: You must satisfy these requirements even if you plan to continue your project next term. The only difference is that your electronic abstract, final report, and web pages should constitute an interim progress report (i.e., the level of detail must be the same as in the final versions, but the work described need not be complete).

Frequently Asked Questions

  1. How do I choose a project?

    There are two general approaches

    and a host of possibilities in between.

  2. What kind of project is appropriate?

    The project should be (1) substantial, and (2) novel and including a research component. To be substantial, it should be more than just an extended homework assignment or final course project and should require that you learn more about some area of computer science. To give you some idea of the possibilities, the titles, abstracts, and web pages of recent projects are available online.

    Regular courses meet 2 1/2 hours per week and require 2 to 3 additional hours per week for each hour of class. Using this as a guideline for what it takes to earn a course credit at Yale, the project should be something that you can complete in one semester (i.e., 14 weeks) working approximately 7 to 10 hours per week (i.e., in a total of 100-140 hours).

    Note: You cannot be paid for your work on the project. Moreover, to allow others to build on your results, all code and data must be made available to the Yale community.

  3. Who may advise a CPSC 490 project?

    The official advisor (and thus the person who evaluates the work and assigns the grade) must be a faculty member with (1) a multi-year appointment at Yale; (2) a current appointment in the Department of Computer Science at Yale and (3) a Ph.D. degree or equivalent research qualification--490 should include a research component. However, the de facto advisor need not be, as long as the student meets with the official advisor at least once a month. Your final report should acknowledge all advisors.

  4. How can I learn more about projects from past semesters?

    The course web page contains the titles, abstracts, and web pages of recent projects. Copies of the written reports are kept in a circulating library managed by the departmental registrar (AKW 003).

  5. When should I take CPSC 490?

    Most students take the course during their final term of enrollment as the capstone of the program. However, students applying to graduate school should take it in the fall (or, with permission of the DUS, in the spring of their junior year) so that they can get a letter of recommendation from their advisor.

    Ideally, planning for the project should begin the preceding term (at least to the extent of finding an advisor).

    Taking CPSC 490 before your senior year requires special permission from the DUS, which will be granted only under exceptional circumstances. Non-seniors interested in research should consdier CPSC 290 instead.

  6. Does CPSC 490 count as an advanced elective for the CS major or related majors?

    No. CPSC 490 only gives you credit toward your 36-credit graduation requirement, and toward the senior project requirement in the major.

  7. How often may I take CPSC 490?

    You may take CPSC 490 more than once for Yale credit.

  8. May I do a two-term project?

    Yes. However, you must satisfy the end-of-term requirements at the end of each term, and your grade for each semester will be assigned at the end of that semester and will reflect what you accomplished. Thus in effect a two-term project is equivalent to two one-term projects, except that the work may be incomplete at the end of the first semester and the electronic abstract, written report, and web pages for the second semester describe the entire project.

  9. Are group projects allowed?

    Yes. However, each member of the group must work on a different part of the project, and your description, electronic abstract, final written report, and web pages must focus on your own contributions.

  10. What are the “deliverables”?

    Whatever you and your advisor decide you must complete by the end of the project. Possibilities include (but are not limited to) code, theorems, simulation studies, data analysis, written reports, and oral presentations.

  11. How is CPSC 490 graded?

    CPSC 490 is graded using the usual letter grade system. Typically your advisor will decide your grade.

  12. Does my grade in CPSC 490 affect Distinction in Major?

    Yes. If you take CPSC 490 for your senior project, you will need a grade of at least A- to qualify for Distinction in Major. CPSC 490 also counts toward both the numerator and denominator when calculating whether three-quarters of your credits in the major are A- or higher.