CSCI 4970: Computer Science Capstone Project
Spring 2013
Meeting time: | MW 5:30-6:45 |
Classroom: | PKI 279 |
Instructor: | Dr. Harvey Siy |
Office: | PKI 281B |
Phone: | (402)554-2834 |
Email: | hsiy at unomaha dot edu |
Office Hours: | By appointment (call or email ahead) |
Textbook: (optional) | Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion. Addison-Wesley, 2010. Available online. |
(optional) | Program Development in Java: Abstraction, Specification, and Object-Oriented Design by Liskov and Guttag, Addison-Wesley, 2000. |
Overview
The Capstone Project represents the crowning achievement of a Computer Science student's undergraduate experience,
showing the world what one can do with a computer science degree.
Students apply fundamental computer science principles to the solution of real-world problems and
employ sound software engineering techniques to develop the project in a systematic manner.
Prerequisites
- Software engineering (CSCI 4830)
- Senior standing in CS
- Ability to work in a team
Learning Objectives
Students who complete this course will:
- Recognize and appreciate how fundamental computer science principles apply to real-world problems.
- Improve their communication skills through interaction with an actual client.
- Gain proficiency in modeling, implementing and testing nontrivial software applications.
- Gain more experience in working in teams.
How it works
- Students will form teams.
- Students will find and work with a client to develop a project proposal.
- Once the proposed project has been approved by the instructor and client, students will consult with the instructor and develop a project plan for delivering a final product acceptable to the client.
- Students will be accountable for meeting the planned milestones and reporting progress to the instructor and/or the client.
- Upon completion of the project, students will publicly present and demonstrate their work.
In parallel, we will have lectures for the first few weeks. Topics covered include:
- Team collaboration
- Review of requirements analysis and design models
- Test-driven development
- Version control
- Software analysis and testing
- Additional lectures specific to a project may also be provided
Suitable Projects
While there are lots of possibilities, projects should showcase to the client what one can do with a CS degree.
Thus, projects are expected to have an innovative computational component requiring the nontrivial application of computer science theory and concepts.
Example application types include scheduling, optimization, simulation, data mining, cyber-physical systems, and scientific computing.
Projects will usually involve sophisticated algorithms manipulating complex information, and may involve overlapping areas such as language processing, networks, embedded systems, real-time systems, parallel computation, databases, artificial intelligence, computer graphics, etc.
Many common project proposals involve the creation of a large database system with some sort of web interface. While such information systems-based projects are not outside the scope of possibilities, it is expected that such systems should go beyond implementing basic CRUD (create/read/update/delete) operations and provide intelligent capabilities and services to the client.
Evaluation
There are no exams or graded homeworks in this course. Students will be evaluated based on the quality of the project at the end of the semester. Evaluation rubrics will be provided at the start of the semester.
Back to homepage.