CSCI 4970: Computer Science Capstone Project
|Meeting time:|| MW 12:00-1:15 |
|Classroom:|| PKI 155 |
|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)|
| Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion. Addison-Wesley, 2010. Available online.|
||Engineering Software as a Service: An Agile Approach Using Cloud Computing (1st edition) by Fox and Patterson, 2014. Online resources. |
|(optional)|| Program Development in Java: Abstraction, Specification, and Object-Oriented Design by Liskov and Guttag, Addison-Wesley, 2000. |
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.
- Software engineering (CSCI 4830)
- Senior standing in CS
- Ability to work in a team
Students who complete this course will:
- Recognize and appreciate how fundamental computer science principles apply to real-world problems.
- Understand the importance of the socio-technical context in which a software product operates.
- 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 as a team and using collaboration tools.
Degree Program Student Learning Objectives
These course learning objectives contribute towards the CS degree program Student Learning Objectives:
- Ability to implement and evaluate a computer-based system, process, component, or program to meet desired needs
- Demonstrate an understanding of professional, ethical, legal, security, and social issues and responsibilities
- Ability to communicate with a range of audiences
- Ability to apply design and development principles in the construction of software systems of varying complexity.
How it works
In parallel, we will have lectures for the first few weeks. Topics covered include:
- 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.
- 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
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 nontrivial software development and application of computer science theory and concepts. Example application types include scheduling, optimization, simulation, data analytics, cyber-physical systems, and computational science.
Projects will usually involve sophisticated algorithms manipulating complex information, and may involve learning more about CS areas such as language processing, networks, embedded systems, parallel computation, databases, artificial intelligence, machine learning, computer graphics, etc.
Many common project proposals involve the creation of a large web application with a database. While such projects are not outside the scope of possibilities, it is expected that such systems should provide intelligent capabilities and services to the client, beyond implementing basic CRUD (create/read/update/delete) operations.
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.
For formal policies about cheating and plagiarism, consult the UNO Student Policies and Department of Computer Science Policies and Procedures.
Back to homepage.