California State University, Chico
Computer Science Department
CSCI 490, Capstone, Spring 2026
Oleksiy Al-saadi
Office Location: O'Connell 222
Phone: 530-898-6442
Email: oal-saadi (at) csuchico (dot) edu
We meet synchronously in our designated class times at our designated classroom. Details for synchronous meetings are on the calendar in Canvas.
Prerequisites: CSCI 430, 565, 567, or MATH 485; senior standing.
Supervision, 3 units. This capstone course provides a culminating activity in computer science, computer information systems, or data science. Students work independently to specify, design, develop, test, and document a complete software application under faculty supervision. Students present status reports at weekly meetings and present their finished projects at the end of the semester.
|
Section
|
Time
|
Location
|
|
3
|
Mon/Wed 4:00 PM - 5:15 PM
|
O'Connell 237
|
CSU Email -
I send emails regularly throughout this course. You are required to check your email often.
Canvas -
Canvas always holds the most current and authoritative set of due dates, exam dates, assignment instructions, and other course material. Course announcements will be done via Canvas (which also sends these to your csuchico.edu email address).
A tentative partition of your final grade is made up of the following components:
- Minimum Viable Product (70%) - During our meetings, each student will collaborate with the instructor to define clear requirements and goals for their project. Completion of the requirements for their "minimum viable product" (MVP) is necessary and sufficent for a passing grade. Other necessary conditions include a proposal write-up, a poster presentation, as well a final in-class demonstrations.
- Weekly Updates and Feature-Completeness (30%) - Consistent, weekly progress must be shown for the chosen project. This includes a midsemester demo. Implementation of features beyond the scope of the MVP and consistent attendance of meetings are required to obtain a higher grade. If the MVP is not complete, then this category receives a score of 0.
Note: Weekly meetings must be attended in order to define the goals necessary to achieve an MVP.
Another Note: An exit exam must be taken by every student in order to pass, but it does not factor into the overall grade.
Grading Scale
A 93% - 100%
A- 90% - 92.99%
B+ 87% - 89.99%
B 83% - 86.99%
B- 80% - 82.99%
C+ 77% - 79.99%
C 73% - 76.99%
C- 70% - 72.99%
D+ 67% - 69.99%
D 63% - 66.99%
D- 60% - 62.99%
F < 60%
If you do not indicate your commitment to taking this course in the first two weeks of the semester, you may be administratively dropped from the class. In this course, your commitment is evidenced by:
- Attending all classes during the first two weeks of class.
- Providing a project proposal prior to the due date.
- Otherwise communicating with the instructor to explain your lack of progress, before the end of your first week of class.
Regrade requests will be accepted up to 1 week after a graded item is returned. The reason for the regrade request must be explained in email, with a copy of the assignment to be re-graded, to the instructor's university email. Note that all regrade requests, except for those pointing out mistakes in the totaling of points, will cause the entire assignment to be re-graded. The adjusted grade may therefore be higher or lower than the initial grade.
It is the policy of the Computer Science Department that a grade of Incomplete (I) shall be assigned only when the instructor concludes that a clearly identifiable portion of course requirements cannot be met within the academic term for unforeseen, but fully justified, reasons; and when there is still a possibility of earning credit.
An incomplete shall not be assigned when:
- The request is made before the thirteenth week of instruction.
- It is necessary for the student to attend a major portion of the class when it is next offered (i.e., if a student needs to repeat a class, an incomplete should not be given).
- The student is not passing the course with a C- or better at the time of the request.
- The student is unable to keep up with course work due to an excessive course load.
The student must retain the grades for any coursework that was due prior to the incomplete being assigned. An incomplete grade cannot be removed on the basis of work taken at another institution nor by re-enrolling in the course.
An incomplete must be made up within one calendar year immediately following the end of the term in which it was assigned. This limitation prevails whether or not the student maintains continuous enrollment. Failure to complete the assigned work will result in an incomplete "I" being converted to an "NC" which will affect the grade point average.
Collaboration is a complex idea in the programming world, since professionals routinely work in teams sharing solutions; they also navigate a variety of complex intellectual property rules that sometimes encourage (and sometimes discourage) sharing solutions more generally. In our class, the collaboration policies are more artificial than the real world since they are designed to support you, as a beginner learner, to grow towards mastery and independence.
Generally, I encourage you to seek help from and provide support to your peers, but only in ways that do not steal learning opportunities from them or from yourself. I call this "supportive collaboration." It is not only allowed, it is encouraged.
Moreover, note that your capstone project may not overlap with a project in another class. Any project that overlaps with another class, without the explicit permission of both instructors and a much greater project scope, will result in failure of this course.
Warning: The boundary between collaboration and plagiarism is often unclear. Once you see someone's code, it is hard to unsee. It is safer to collaborate without looking at each other's screens. Use drawings to communicate ideas. Use references to past labs and class resources to establish common ground ("I just modified everything after line 40 in the textbook solution to 9.4, and that really helped me as a guide"). Help identify tools that are useful ("I found using a while loop was helpful") without sharing solutions. If you just share your screen and show someone how you did it, you are robbing them of a learning opportunity.
In particular, you are responsible not just for understanding every aspect of the code you write, but also for knowing what would happen if your code was modified in some way or how to modify it to accomplish some nearby task.
Generally, graded work is to be completed by the individual student unless otherwise specified and following the university's policies on academic integrity.
Academic dishonesty will be severely penalized; at a minimum, you will receive a grade of 0 on the assignment.
Disability Services for Students
If you are a student with a disability, and think you may need academic accommodations, please contact Accessibility Resource Center (ARC, see link) as early as possible in order to avoid a delay in receiving accommodation services. Use of ARC services, including testing accommodations, requires prior authorization by ARC in compliance with university policies and procedures.
Athletic Schedules
To student athletes: I value your identity as a scholar/athlete. Please notify me before the end of the drop/add period about any possible game conflicts with our class schedule (and as soon as possible about subsequent changes).