capstone project in computer science

Make sure there's no plagiarism in your paper

Write your essays better and faster with free samples

Generate citations for your paper free of charge

100 Best Computer Science Capstone Project Ideas: Holy Grail for Students

Updated 01 Feb 2023

Where to find the computer science capstone project ideas? In addition to being relevant, your topic should demonstrate your knowledge and the ability to apply it in practice. Below we will share with you a list of 100 topics for your capstone project. Thanks to this, you can definitely choose the one that suits you best.

Computer Science Capstone Project Ideas

What is a Computer Science Capstone Project?

A computer science capstone project is an assignment that represents the ultimate academic and intellectual experience for students in their final year of high school or those completing their academic program. It is very important to choose the right topic since you will have to apply the knowledge gained during several years of study to some urgent problem. Looking for a legal essay writing service ? We make sure that you get the best!

Now that you know what is a capstone project , let's take a look at its structure:

How to Choose the Right Topic and How to Be Inspired?

Your topic should demonstrate as much as possible the knowledge and skills that you are really good at. Here are some guidelines to help you come up with really worthwhile cs capstone project ideas.

Start with a brainstorming session

Remember what particular class topics were especially interesting for you, discuss the topics that your friends have already chosen. This will help you understand in which section of computer science to look for a suitable option. Remember: if you'll run out of time or ideas, it is completely normal to buy assignment from a trusted custom writing service.

Explore similar projects

Now is the time to study existing projects on a similar topic. You may be able to continue and expand research started by someone. Looking for the best law essay writing service ? We're cheap, legal and fast.

Narrow your searches

Instead of reviewing fairly broad capstone project ideas for information technology , try a specific example. This way you can apply both theoretical and practical knowledge.

Ask your scientific advisor for help

Perhaps your scientific advisor will help you in choosing a topic for your project. He or she will also most likely recommend relevant literature to you.

100 Best Computer Science Capstone Project Ideas

Below we have prepared 100 capstone project ideas for computer science.

We hope we helped you to find really good computer science capstone project ideas. Are you looking for someone who will do it for you? You are in the right place! Visit our сapstone project writing service for more details.

Was this helpful?

Thanks for your feedback, related blog posts, our best picks of capstone project ideas for information technology.

A capstone project, capstone experience, senior exhibition, or culminating project is an essential academic assignment for students. This culminati...

What is a Capstone Project & Things to Know

You might be already familiar with the role of capstone in architecture or engineering as it represents the crowning construction or a certain culm...

Receive regular updates, discounts, study guides and more

You have subscribed to EduBirdie news.

Thanks for subscribing!

Check your inbox to verify your email.

capstone project in computer science

Skip to Content

2021 Capstone Projects

To wrap up their undergraduate experience at CU Boulder, computer science students participate in a year-long senior capstone project that gives them a chance to put their skills into practice on real-world projects, as well as to make important professional connections.  Software design projects are sponsored  by companies, academic units and individuals who volunteer their time to work closely with students throughout the year. 

This year, 27 teams completed their software design projects despite the challenges of distance and pandemic. Thank you to all of the students and project sponsors who worked through these uncertain times --  congratulations on a job well done!  

We asked each team to put together a video to introduce their team, demo the final product and share about their journey. 

Evaluating Internet of Things (IoT) Protocols

BISON (BI Incorporated Stream Optimization Network)

Mobile App - Boulder Apple Tree Project

Mobile Apps to Reduce Cross-Race Recognition Deficit - CU Psychology

Digital Marketplace - Festo

Identity Graph Insight Tool - FullContact

Automated Ingestion Data System - Gloo

Website Redesign - Innovar Group

Crime Maps - Caliber Public Safety 

Donor Relations - CEAS advancement team

Locomotive training software support - Union Pacific PST

Mobile App - INSIGHTS Intervention

Transcript Corpus + Moody's Manuals - Leeds School of Business

Everglades Wargame - Lockheed Martin

Data Science Models - Lockheed Martin Space 

Mobile App - MindBeWell

Ozone Garden Website - NCAR

Platform - NMBL Strategies 

Golang API Logger - Resurface

First responders reporting tool - Caliber Public Safety

Machine Learning Evaluative Framework - Terumo Blood and Cell

Cloud Crawler - Trimble

Sounding Climate Data - UCAR

K-12 EdTech - UR Turn

Parallel SPICE Implementation - NASA JPL

Factory Automation Solutions - Festo

Infrastructure and Radio Transcription - Digiclips

Apply   Visit   Give


Affiliates & Partners

10 best Computer Science Capstone Project Ideas in 2022

10 Best Computer Science Capstone Project Ideas in 2022

Table of Contents

You are in your Computer Science engineering final year and looking for Computer Science Capstone project ideas to work on.

Great! We have got you covered.

These computer science project topics will help you get a better understanding of Computer Science and its applications.

But before getting started with the ideas, let’s get a rough idea of what Computer Science is?

Key Takeaways

Computer Science: An Overview

Computer science is a branch of science that deals with studying, developing, and maintaining computers and computer systems.

Coding, computation, data processing, network information security, web architecture, algorithm design, and mobile development are the essential skills that come under Computer Science.

If you’re a Computer Science student, you might have gained many technical and non-technical skills that can help in your career. One of the advantages of being a Computer Science student is, it opens many career opportunities for you.

IT consultant, Cyber Security consultant, Information systems manager, Database administrator, Multimedia programmer, Systems analyst, Games developer , Technical writer are some of the career options you can pursue being a computer science student.

With the fast-growing connected world, the demand for Computer Science is also growing.

Now, you may have a doubt, why work on project ideas?

So, working on the project ideas is the best way to understand Computer Science fundamentals and implement your theoretical knowledge. The project ideas include designing and developing various applications-based software products and services.

Also Read: Tips to Apply for an Internship in Computer Science

Computer Science Project Ideas 

Here is the list of top 10 projects in Computer Science to work on:

1. Face Detection 

capstone project in computer science

One of the IT-based best project ideas for Computer Science students is Face Detection software, also known as Optical Character Recognition (OCR) System.

The project involves developing software to track faces in real-time, store the data and provide the flexibility to search and manipulate data. 

The main project focus is to create a face detection program using the OpenCV library . 

To run the program, you are required to install the OpenCV library. The project uses pre-trained XML classifiers to detect characters in real-time.

2. Online Auction System

As the name suggests, this Computer Science capstone project involves making an online platform where buyers and sellers can do business.

Under this project, you will create an online auction platform using the fraud detection method with binary classification. 

For the users, it requests identification details like PAN CARD number, email address, license number. The system uses this to check the authenticity of the users and authorise them. Also, only authorised users are allowed to bid using this project. 

3. Crime Rate Prediction

Crime Rate Prediction

If you are familiar with the increasing number of crimes globally, this will be one of the best Computer Science project ideas for beginners to work on, and it can add cheers to your resume.

This project involves developing a prediction system that can analyse and predict the future crime rate. And the users are required to feed the previous record of criminal data.

So basically, the users have to feed the data in the system. It will analyse and draw insights such as the place of crime, people involved in crime, and the crime time. After that, it makes predictions for the future using the K-means data mining algorithm.

4. Weather Forecasting Application

If you have zero experience working on Computer Science projects, real-time weather forecasting applications can be the best idea to start implementing your theoretical knowledge. 

The project’s objective is to develop web-based applications that can provide real-time weather information of a location, such as weather, current temperature, chances of precipitation. 

It can also help you by telling if the day will be sunny, rainy or cloudy.

The project can be even helpful in testing your coding skills.

5. Search Engine 

Search Engine -  Computer Science Capstone Project Idea

We can say it is among the best final year project ideas for IT students.

You might have used Google, Bing, Yahoo or DuckDuckGo to search for anything. Here you have to develop a search engine of your own. 

To develop a search engine, the main ingredient is web annotation. It helps in making applications user-friendly. 

You also have to make a custom algorithm for the search engine to display relevant results. Google, Yahoo have their custom algorithm for showing the output for search results.

6. Personal Assistant 

You heard about Siri, Alexa or Google Assistant. That’s what you will be developing under this project. 

But there is a slight difference, and this personal assistant will be specifically to help people use a computer easily. 

Want to close an application, minimise a website, delete some applications or switch off the computer, you just have to give voice commands to the assistant.

And since this project works on MVC modules, it provides flexibility to make changes to enhance functionality. And you can also track the activity on your computer.

7. Android Battery Saver System

There is a feature in smartphones that tracks the usage of batteries by various applications. You might have seen the alert while using the smartphone.

Under this project, you have to develop that feature only. You can make a battery saver system using Android Studio.

The objective of this system is to alert the user about the applications that are high on power consumption and provide flexibility to users to stop those apps from consuming too much power. 

8. Course Movement on Object Motion 

This computer science project idea for college students is an AI-based project and can be interesting for you if you are interested in robotics.

Under this project, you have to design a cursor that moves through the desktop and commands based on hand gestures. It will be based on the RGB (Red, Green and Blue) colour that detects your hand gestures and functions as the mouse. 

It also uses the webcam to record the gestures, converting that image into a binary image used by RGB to take desired actions. Also, you have to feed in necessary data to take desired actions from the hand gestures.

9. Hospital Management System 

In a place like Hospital, it can be complicated to keep track of all the patients and access an individual patient’s data in no time.

That’s what you will be developing in this Computer Science capstone project idea—a system to keep track of all information related to patients and staff members also.

It will automatically assign a unique ID to each patient entry and help hospital officials view and access data whenever needed.

10. Fitness Track

Fitness Track for Computer Science Capstone Project Idea

Like the above hospital management system, this system can be used to keep track of your fitness. 

Under this project, you will make an app that allows users to create in their avatar and keep track of all the physical activities they do daily, such as walking, eating, or exercising.

And whenever the user completes the desired task, they will be rewarded with some points.

Also Read: 15 New Computer Science Project Ideas

Conclusion: 10 best computer science capstone project ideas

So, these are some of the best Computer Science project ideas to work on in 2022.

Computer Science is a very vast field to explore. Artificial Intelligence, Machine Learning, Big Data, programming languages and the list can go on.

Face Detection, Weather Forecasting Application, Personal Assistant, and Android Battery Saver System are good project ideas for beginners. 

This list of Computer Science project ideas can be beneficial for you in your daily life also.

Frequently Asked Questions

Why should one work on project ideas.

Working on a project helps you get a better understanding of the field and lets you implement your theoretical knowledge.

What are some of the best project ideas for Computer Science students?

We hand-picked the best computer science project ideas for the students in the above blog.

What are some of the best platforms to learn Computer Science?

GitHub, Codecademy, Skillshare, UpGrad and Verzeo are some of the best online platforms to learn the various topics of computer science.

Liked Our Article? Share it

Leave a Comment Cancel Reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

Connect With US

Related Articles

Impact of social media on society

The significant Impact of Social Media on our Society

Brand management practices

Is it Brand Management practices or Brands Managing Minds?

Python Kids

5 best Resources to learn Python programming For Kids

Have a suggestion sent it to us now.

capstone project in computer science

Find the right learning path for yourself

Talk to our counsellor, we are featured on.

Verzeo is an online learning platform offering students a holistic learning experience, help them become Industry ready

3rd Floor, 14th Cross Rd, Sector 6, HSR Layout, Bengaluru, Karnataka-560102

100 Outstanding Computer Science Capstone Project Ideas

Computer Science Capstone Project Ideas

Whenever the question pops up, ‘who can do my computer science capstone project’ one will only settle for expert writers. Why is this so? The magnitude and extent of such a project do not allow for any mediocre writing service. Only the best!

Before we embark on the topic ideas, we will explore some foundational guidelines to bring you up to speed with what this is all about.

What is a Computer Science Capstone Project?

It refers to a technical writing project that students undertake to crack a substantial problem. They do this using the knowledge gained from the many areas in computer science. It tells you that a capstone is not your ordinary ‘about me’ essay.

Students will have to conduct the following in this paper:

Therefore, you will have to go out of your way to identify knowledge gaps in computer science and offer solutions. Since this form of writing is a stepping stone to your next level of study, there is no room for mediocrity.

That is why you need to extensively do your research to develop an exciting and comprehensive computer science capstone topic.

How To Write a Computer Science Capstone Project

The technicality of this subject makes it hard for most students to write on it effectively. However, you will finish this paper with the easy to follow the guidelines below in no time. Let us delve right into now:

Select your topic: Have a topic that interests you and adds value to the readers. It will determine whether you will complete the paper in time or not. Write your introduction: It forms the foundation of your report. Have a well-focused thesis statement that addresses the topic precisely. Literature review: Show the relevant sources you used during your research with the knowledge gained. Identify the areas of need that you got from the existing documents. The research methodology: Write on the steps you took to arrive at your findings. Which methods did you use, and why? Did they help you find an answer to your research problem? Results of the research and discussion: What did you identify from the research? Is it in line with your hypothesis? If no, what are the new findings? Conclusion and recommendations: Sum up your paper by giving a summative statement showing if you solved the problem or not. You can suggest areas that need further research. References: Provide a list of your references using the appropriate citation and referencing style.

Are you now ready for a list of comprehensive computer science capstone ideas? Scroll down.

Software Capstone Project Ideas Computer Science

Computer Science Senior Capstone Project Ideas

Best Capstone Project Computer Science Ideas

Computer Science Capstone Project Ideas For Mobile Apps and Website Development

Capstone Project Ideas in Computer Science – Mark-Up Languages

Computer Science Capstone Project Examples

CS Capstone Project Ideas

Computer Science Senior Project Ideas – Systems Theory

Computer Project Ideas For Beginners

Bonus Computer Science Capstone Project Ideas

It is not easy to handle such an assignment without quality capstone project writing help. Such assistance will not only give you writing ideas but custom computer science capstone projects as well.

Do not say to yourself that ‘I do not need help with my capstone project.’ Everyone needs it for your information – beginners, seniors, and even professionals. Get the best online writing help today at cheap rates and complete your assignment on time.

Statistics Project Ideas

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

capstone project in computer science

As Putin continues killing civilians, bombing kindergartens, and threatening WWIII, Ukraine fights for the world's peaceful future.

Computer Science Capstone Projects

Graphical modeling of biological systems in education, monitoring patients' cardiovascular health via common wearable fitness devices, scalable genome assembler using apache spark on cloud, mozilla language plugin, kaetzi symbolic storage and identification system, detecting common spelling and grammatical errors by mining wikipedia changelogs, study of bus stop quality in st. louis county, on the rails, medication tracking app, a real-time survival-defence game, the game theory of machine scheduling, taiwanese student association website, codebots: a programmable battlebotsgame system, artificial intelligence for rock-paper-scissor game, a turn-based strategy dame in unity, educational animations and interactives in html5/javascript, stack reader, segmentation and analysis of spinal canal in ct images, interactive website for taiwanese student association, creating a gui for cgminer setup and monitoring, sample swap, design space analysis of popular image segmentation algorithms, cs1 graphics program, management portal for shawnee lodge, system to collect and analyze departmental activity data, performance analysis of trend-following trading systems, scheduler and homework, text prevention cell phone application, develop an eeg device with raspberry pi, attack vector linux, parallelizing regina normal surface engine, mobile website for residential life, battlefield strategy game using gamemaker, graphic zipper foldings of polygons to convex polyhedra, libreoffice/openoffice accentuate extension, quick shifts, multimedia website for biology researchers, open source wordnet visualization, exploring a data set with derived formulas, aka, the formulatron 5000, convex zipper folding, congressional district evaluator, math placement test, online survey system, detection and classification of nails from an image, improved e-prime scripting environment, analysis of algorithms using game theory, k-nearest neighbor algorithm, e-commerce for a building supply company, stock prediction with neural networks, radar processing optimization using compressed sensing, automated report aid, parse tree visualizer, business information system, finance manager, iphone interface for electronic medical record system, bayesian grammar checker for irish, forensic analysis of u3 smart enabled devices and silent virus propagation, example-based machine translation software, cell broadband engine simulator, machine-learning translation program, racing game.

Students in introductory biology courses must demonstrate their understanding of biological systems by developing graphical models of such systems (e.g., food chains, signaling pathways, metabolic networks). This web-based system will support students' creation and revision of such diagrams, will support the course staff in reviewing the diagrams and providing embedded feedback, and will provide analytics that might support educational research.

The goal is to develop a system that allows for medical remote evaluation of patients using biometric data (e.g. heart rate, activity, sleep) from existing commercially available wearable devices (e.g., a Fitbit). The system will rely upon a patient's mobile phone for the communication link from the device to the remote electronic medical records, and will allow physicians to remotely monitor and communicate with patients. The system may also calculate additional variables derived from the primary data such as variability of heart rate and activity and to alert a physician to detection of critical levels.

Genome assembly refers to the process of taking a large number of DNA fragments and putting them back to create a representation of the original chromosomes from which the DNA originate. De novo genome assembler attempts to reconstruct genomes from its genomic sequencing data without using reference genomes. Recently developed high-throughput sequencing technologies generate very large scale DNA fragments that enhance the correctness of genome assembly, but those large scale datasets are computationally expensive.

To cope with massive sequence data generated by next-generation sequencing machines, a highly scalable and efficient parallel solution for genome assembly is important. In this capstone project, we will implement a scalable genome assembler using Apache Spark on Cloud. Apache Spark is a cutting edge open-source cluster computing framework for large-scale data processing. Apache Spark provides GraphX API that is a distributed graph processing framework on top of Spark. The GraphX enabled us to easily distribute a very large overlapping graph into several virtual machines and process the big graph. This very large-scale sequence analysis can be adapted not only for genome assembly but also for many other scientific domains.

The goal of this project is to create a Mozilla Firefox plugin that will allow a user to highlight an unfamiliar word in order to find the definition via JavaScript modal popup. The program will be written mostly in JavaScript, but will likely employ CSS for formatting purposes. Optimally, the plugin will be versatile enough to allow a user to use the plugin with a dictionary website/database of their choice. Once completed, the plugin will be available for download at

A major challenge with this project is the issue of "stemming" words. If a dictionary only recognizes the singular form of a word, for example, it would be difficult to define a word such as "oxen," or "geese." By the final version of this program, this plugin will be able to define words in both English and Spanish.

The project is to be a software system for the storage of symbolic languages, codes, shorthands, etc.It will be designed and tested using my personal symbolic shorthand code Kaetzi. The software will take a symbol input (drawn with a mouse via writing tablet) and store it as private use data, displayable with a font (i.e. an image, which consists of the symbol only, without a background). The database of symbols is to be searchable by keyword.

The goal is to mine the changelog history on Wikipedia and extract the most frequent spelling and grammatical errors in three separate languages. Then, (1) turn this into a proofing tool to avoid the same errors in the future, and (2) analyze and publish the results to help language teachers focus on the most common mistakes.

The first portion of the project will be project management and data mining for changelogs. Unix tools and regex will most likely be used to format these logs. The second part of the project will consist of turning the results into usable correction tool for word processing. This will be implemented with the OpenOffice API. The API will allow for multiple suggestions for commonly misspelled words.

A tool to examine bus routes in St. Louis County, overlaid on Google maps, with imagery. The tool will also allow bus stop rating through a checklist of essential traits the stop has. This tool will assist in checking the quality of the stops, and be a foundation to persuade improvement of bus stops from Metro organization.

We will build a game of the first person "rail" shooter genre. In this game, players will be kept on a guided path as they battle through enemies. The game will require cooperation from two players, and the players will interface with the game via gaming joysticks.

Unlike most first person shooters, this game will attempt to abstract core elements of the genre so that our game does not simulate the killing living beings. Thus, the enemies of the game will be drones, and the environment of the game will be set in cyberspace. The artwork for the game is inspired from the movie Tron Legacy, and thus, it will feature of simple geometrical shapes with a color scheme that is composed of black and bright neon colors.

The game will be built via the Unity Game engine, and we anticipate that the code for the game will be written in C#. Furthermore, game objects will be constructed using a 3D modeling software called SketchUp.

In addition to building the software for the game, we will also be constructing a physical shell for the game like most arcade machines. The players will sit side by side in an encapsulation. A computer will be housed inside the encapsulation, and it will be tasked with running the game.

Android app that can take a picture of a target from a gun range and locate the bullets. It offers up corrections to help increase the shooting accuracy.

This will be an Android app to allow patients to maintain a list of medications, alongwith information about each medication, and notifications when to take them.Optionally, we will create a doctor database with links to medication and contact information.

This project targets the design and implementation of a survival-defense game with Unity 3D.The game will be a third-person overhead combination of levels and monster wave generation.The player will move around the map and collect ammo, health, and currency while defending against a variety of enemies with different attributes coming in wave pattern attacks. As the levels progress, the waves become harder and harder, and it will be the goal of the player to survive as long as possible. A good example of such a game may be seen at My game, while similar in fundamental nature, will contain significant differences, including a full upgrade system allowing he player to collect currency from slain creatures and spend it on upgrades between rounds in order for them to survive higher levels. The game design and coding will be done in Unity, while the models and textures will be done in Blender and/or 3dsMax. Some models may be obtained from Unity Asset Store as well. The target platform for the game will be the computer (PC and Mac) initially, but I believe the nature of the game will port well to mobile devices.

The app is designed for users to have the ability to create certain machines/equipment workout routines based on the equipment available to them. (What's the point of looking up workout routines online with certain machines/equipment if the user doesn't have that same equipment available to them?) The app includes a database with tables including SLU equipment, exercises, muscle groups, etc.

The main purpose of this project is to better understand a machine scheduling problem. Traditional competitive analysis for the problem can be viewed as a two-player game, with one player releasing jobs to the second player who chooses to schedule them among m machines. Viewing this problem as a game allows us to use alpha-beta pruning to help analyze scheduling algorithms. The first step is to create an alpha-beta pruning search algorithm in Java that is generic for two-player games. This allows us to run alpha-beta algorithm on different turn based games, such as Tic Tac Toe. Once the search algorithm is implemented, we can use it on the scheduling problem game to analyze scheduling algorithms. The next step will be to create the rules of the scheduling game to run the alpha-bete pruning search algorithm on it. We view the game as two players that take turns, one assigns jobs to be scheduled and the other schedules the assigned jobs. Once we are finished with creating the rulesfor the scheduling problem game, we can use the generic alpha-beta pruning search algorithm to analyze algorithms. We use a competitive ratio, which is the number of jobs the optimal solution can assign divided by the number of jobs the scheduling algorithm actually assigned. The point of the game is to have one player assign jobs to force the largest possible competitive ratio, while the other schedules jobs to get the smallest possible competitive ratio. The alpha-beta pruning search algorithm allows us to search for the lowest possible competitive ratio possible to analyze the algorithms.

The purpose of this project will be to construct an interactive web interface for the Taiwanese Student Association to manage its members as well as providing an interactive portal tailored for members and the e-board. The front end of the project will be driven by a web interface using HTML5 with Javascript/JQuery. The front end design of the project will optimize usability for members and have an intuitive flow that allows users to navigate through to quickly find information about the organization. The back-end will include a database that will store information such as users, which will consist of members, non-members, and e-board, as well as events. It will be implemented using MySQL or some other SQL based database tool. Together, it will provide a complete infrastructure for member interaction, as well as being a way for TSA to interact with its members. It will also help to publicize our student organization in a more effective way.

The purpose of this project is to create a robot arena fighting game (in the vein of Battlebots), but with an emphasis on making the robots user- programmable. This would entail creation of a very simplistic programming system, from which users could create their own programming modules for controlling their bots. In essence, the underlying goal of the project is to create a new avenue for kids and even adults to learn about programming in a fun and interesting way. This is a new area of game software and every addition could help. As the key aspect of this game is the programmability of the bots, the primary focus of the game development lies there. The desire is to create a simple programming language for creating modules to control bots, and then a drag-and-drop system for populating the bots with these modules. Should the drag-and-drop system prove infeasible in the allotted time, a fallback approach of using drop- down menus to select options is also perfectly acceptable. However, some other game aspects are also needed to complete the game. These game components may be done more simply: - Implementation of an arena game map, to provide a setting for the robot fighting - Simple unit models for representing the bots - A turn-based combat system sufficient to demonstrate the programmable nature of the bots, and to demonstrate the different features of their programmability. This game will be built using one of the popular game engines, such as Unity or Unreal Engine, to be selected as deemed appropriate by the student.

Streams is an Android app that will allow users to view live streams of images based on geolocation by implementing the Google Maps framework and the TwitterStreaming API. The app will populate streams of images by taking image content from geo-tagged tweets. That will be viewable via a constantly updating graphical interface provided by Google Maps.

Develop a pretty web page to let a user play the RPS game with a carefully designed AI embedded in a JavaScript file.

The goal of this project is to create a Turn-Based Strategy (TBS) game using the Unity game engine. The vision for the game is akin to the classic game Risk, but with the addition of resource gathering and a monetary system. Some of the specific aspects of the project needed for this strategy game include: - Enemy AI for controlling the computer-controlled players - Implementation of one or more game maps, which indicate which players control each of the regions - A combat system for managing attempts by players to take other players regions - A game GUI for showing the game map and indicating the amount of resources available to the player - Tools for gathering, managing, and using a player's resources (such as armies, gold/money, and gather able resources like wood, ore, etc.)

The project will be a mobile fitness app targeting people interested in learning proper form and tracking their progress.

The aim of this project is to redesign existing interactive CS teaching tools for compatibility with modernweb browsers. These tools are currently written as Java applets, a technology, which has been effectively deprecated by HTML5 standards and is slowly loosing support in web browsers. The tools will be rewritten in HTML5/JavaScript, and in the process they will be extended and improved upon as opportunities to do so arise.

In this project, we will be building a web application, which will an eBook Reader with added features. These features will include the ability to highlight text and either make a comment about that particular text or post a question about it. Users will be able to see these highlighted posts and respond/interact with these posts in a similar fashion to stack overflow. Additionally users will be able to upload their own documents, which can be shared with a certain group of people who can then use these features. As well, users can filter what kinds of posts or posts from specific types of users.

This project's goal is to develop a Web-Based application that helps an instructor to teach students to program numeric, algebraic, and trigonometric expressions.

The goal of the project is to design and implement an image segmentation and structural analysis software toolset that will segment a series of cervical spine CT images, identify the spinal canal, and measure the structure of the spinal canal. Java and ImageJ will be used to implement the toolset. Some of the specific aspects of the project needed for this segmentation and analysis toolset include: - Assess the segmentation performance of a variety of segmentation algorithms in segmenting spinal CT images, and identify the most capable algorithms for segmenting the spinal canal. - Learn the ImageJ Java application toolset and library, and how new applications of ImageJ are created as plug-ins to the main toolset. - Implement one of the more effective segmentation algorithms in ImageJ. - From the segmentation results, use line and/or curve detection on the interior walls of the bones surrounding the spinal column, and connect those lines/curves to form the boundary of the spinal canal. - For each slice (single image) in a series of spinal CT images, compute the spinal canal width at each point along the spine. From the distribution over all slices, identify the expected spinal canal width. - Provide a GUI that visualizes the segmentation results and highlights the spinal canal.

NOTE: The project may assume the existence of sagittal spine CT images (i.e. side-view slices of the spine). It is not a requirement that series of transverse/axial (top-down view) or coronal (front-view) CT images be converted to sagittal view (though students may wish to use such an ImageJ plug-in, if such already exists).

The purpose of this project will be to construct an interactive Web interface for the Taiwanese Student Association to manage its members as well as providing an interactive portal for members. The front end of the project will be driven by a Web interface using HTML5 with Javascript/JQuery. The front end design of the project will optimize usability for members and have an intuitive flow that allows users to navigate through and learn about the organization. The back-end will include database that will store information such as users, which will consist of members, non-members, and e-board, as well as events. It will be implemented using MySQL or some other SQL-based database tool. Together, it will provide a complete infrastructure for user interaction and for a business to interact with its customers.

The goal of the project is to create a GUI for the CGMiner tools, which is a software suite for mining Bitcoin transactions. "Mining" - the process of adding transaction records to Bitcoin's public ledger of past transactions - is a difficult resource-intensive task, the purpose of which is to enable the network to reach a secure, tamper-resistant consensus for each of the transactions. It has been found that GPUs are particularly well suited to the task of mining, and so CGMiner provides an open-source software suite allowing any interested user to beging perform mining using their AMD GPU card. The CGMiner tools are solely command-line driven tools, and require considerable parameterization to appropriately install and use. As such, the purpose of this project is to create a CGMiner dashboard - a GUI allowing users to more easily setup and monitor their mining with the CGMiner. This dashboard would provide a variety of features for effectively setting up and controlling CGMiner, including a setup and control panel and GPU temperature monitoring. The temperature monitor would provide a graph of the GPU's temperatures over time, including average and max temperatures of the graphics cards, and a temperature shutoff should the GPU become too hot. The dashboard setup and control panels would provide GUI controls both for initial setup and dynamic control of the CGMiner tools, including GPU speed, thread concurrency, work size, memory speed, intensity, fan speed, etc. The dashboard would initially target a single graphics card, with the intent of extendingcontrol to multiple graphics cards through CGMiner.

The goal of this project is to rehaul the website, making all pages follow similar template and add more functionality. Includes adding access to data stored in Excel spreadsheet ith ability to search through and request things like an online catalog of specimens. To request, must trade equal number of samples from equal number of genera and species. Include ability to select species and image and description will pop up.

The project goal is to perform a thorough design space analysis of a number of popular image segmentation algorithms. Such analysis first requires collecting image segmentation results over the full range of the parameter design space for a few popular image segmentation algorithms (e.g. Mean Shift, Normalized Min Cuts, etc). The segmentation resultswill then be analyzed by Prof. Fritts segmentation evaluation toolset, which quantitatively evaluates the qualify of the segmentation results using a variety of evaluation metrics. With the quantitative evaluation data, a software toolset will be developed that performs parameter space correlation and multivariate kernel density estimation to identify trends and data clusters that best characterize the algorithm's performance. While outside the scope of this project, this design space analysis will greatly facilitate unbiased selection of sample segmentations for use in subjective human studies on segmentation evaluation.'

Cs1 graphics is a Python module that wraps the Tkinter graphics package to make use of graphics more accessible for students in introductory computer science courses. The most recent release (cs1graphics 1.2) is an alpha version that lacks robust support for many advanced features such as multi-threading. The project will entail thorough perusal of, understanding, documenting, and updating the current code, while paying special attention to the threading model and internal architecture and design of the system. These combined activities will allow for strengthening the robustness of the package, as well as in time, reintroducing support for more advanced features that are missing from the alpha, and new functionality.

The project is to design and implement a management portal for the Shawnee Lodge, an internal group inside the Greater St. Louis Area Council, Boy Scouts of America. This project will be in the form of a web portal that will allow members to register and keep their information up to date. The different units inside the Lodge will be able to have certain reporting abilities that will be outlined in the Requirements and Design document. Main users of this portal will be the members of the Lodge, the administrative staff of the Greater St. Louis Area Council, Boy Scouts of America and the Lodge and Chapter Leadership. This system should be a roles based accesssystem where access will be controlled by roles.

The objective of this project is to establish a database and interface for faculty members in the department of Theology to enter data. This data is critical for faculty reviews and the current process by which the data is collected is time consuming and not very efficient. The goal is to improve that and streamline the data collection process.

This project employs extensive financial market data to analyze portfolio allocation based on a variety of popular technical indicators.

We want to build an Android app that will help with school. We want to make a check-in system for classes and a homework tracker. The check-in system would use the user's location to verify that they are in class. The homework tracker would allow the student to add and track their homework, as well as possibly turn in their homework to the professor or receive homework from their professor via a bluetooth transmission. We also want to use alerts to notify the user of homework due datesand classes. We will prioritize making features for the students first and then iftime permits we will add a separate account type for professors. Therefore, all professor features discussed in the requirements will be optional.

The project will be creating a cell phone application that prevents the driver from cell phone use, but allows passengers to use their phones. To do this, we will lock phones based on geolocation speed and provide phone unlock functions with bluetooth/wifidirect and image recognition.

The goal of this project is to build an EEG device that uses electrodes on the scalp to measure brain activity. The EEG will be composed of a Raspberry Pi microprocessor that receives input stimuli from electrodes attached to the patient. One (or more) electrodes will be placed on the scalp, two at various grounding points, and a final 60Hz ground antenna to help eliminate background noise. The microprocessor will sample the voltage level at the electrodes at periodic intervals and then perform a 1-D FFT to convert the sampled time domain signal to the frequency domain, which will facilitate further data analysis. The scalp electrode(s) will be sampled at a rate of at least 100kHz and input to the microprocessor with an ADC (analog-to-digital converter) that's at least 12-bits wide. A true differential input is desired for obtaining the clearest signal. All the signal processing will be done in software. Given the high-speed sampling and the processing needs for 1-D FFT, the Raspberry Pi system has been selected for this project. It has the requisite sampling ability, is able to receive data at 150KB/s, and has sufficient memory and processing ability to store the data, perform the 1-D FFT over time slices of data, and still have processing time remainingfor further data analysis.'

While BackTrack requires a modified kernel for drivers of adapters to use promiscuous mode and so forth, TAILS is designed form the bottom up for encryption, privacy, and anonymity. The intention of AttackVector Linux is to provide the capability to anonymize attacks while warning the user when he or she takes actions that may compromise anonymity. The two projects have different design philosophies that can directly conflict with one another. In spite of this, the goal of AttackVector Linux is to integrate them complementarily into one OS.

Paralellize the double descriptor algorithm in the open source software package Regina. The software will be benchmarked running in serial and using OpenMP. As a proof of concept, the software shoudl be run on GPU's using OpenACC. The final version will run using Cuda to optimize its computational efficiency.

The goal of this project is to create a mobile website for Residential Life that would provide Res Life individuals the ability to check students into and out of dorm rooms (e.g., tracking existing damage) using a smart phone or tablet. Currently Res Life uses paper forms, requiring significant effort in hand-entry of details and management of the forms during the year. This online website would alleviate much of that burden.

The goal of this project is to create a two-player 2D battlefield strategy game, similar to the FireEmblem game series. The game will employ a turn-based combat style, allowing each unit to move/attack once in each player's turn. There will be a variety of different types of units, each with its own strengths and weaknesses. Positioning of units will be done in a 2D grid, with each grid space corresponding to one of a variety of different types of terrain. the type of unit, position of units, and types of terrain in which those units reside will all affect combat results, providing players ample opportunity to employ strategies towards defeating the opponent.

The intent of this project is to create a tool that can find the crease patterns to fold polygons to convex polyhedra and then show what it looks like folded into three dimensions. It will take a user specification of a polygon and a zipper point. Then using the input data, it will find the valid crease patterns and give access to them to the user. Finally, it will fold the polygon and show it in three dimensions.

Using the already established Accentuate web service, create an extension to LibreOffice/OpenOffice that is capable of utilizing Accentuate's features.

This project will be to design a scheduling application for hourly employees. Input will be employee's availability, and schedule template of shifts needed. Output will be a spreadsheet of times and positions employers need to work. User will be able to build schedule manually, automatically, or integrating manual and automatic techniques.

This project will be a website for biology researchers to collaborate on the naming and classification of specific bones in fish. Each bone will have a dedicated webpage with; a description of the bone, a video displaying a 360 degree view of the bone, an image highlighting the bone, and the opportunity for other researchers to add their own input. The goal for the website is to be completely user driven, with users discussing and ultimately deciding on the name for each bone.

A WordNet is a database of word senses with links between them (synonyms, broader/narrower terms, part/whole relations, etc.). The most famous of these is the Princeton WordNet ( which is freely available. The site allows one to navigate the Princeton WordNet in a web browser, but sadly it's a subscription service. It should be quite easy to do something even better using a modern open source .js library like d3 ( or arborjs (

This project is an application that allows the user to model aspects of a data set by defining additional formulas that are derived from a combination of ground data and other derived formulas for each record in the data set. For this project, historical baseball data will be used to demonstrate the capabilities of the software. The user could use that data to generate a formula and have the data set presented with inclusion of the calculated value as a new field. Derived formulas will be saved persistently by the application, on a per user basis, so that they can be reused during a later session. Finally, the interface should allow a user to filter displayed results based on restrictions that depend on a combination of ground data or derived computations. For example, a baseball player might be required to have a certain number of plate appearances to qualify for a given statistic. The user will also be able to group results by certain allowed criteria. The results of using this data set should lend credence to the assertion that at some point in the future, the software can be generalized for any subject that has base data.

Folding convex polygon to a single convex polyhedron using the perimeter halving method is the main purpose of this project. The basic steps are first setting the crease pattern and then fold the polygon by Mathematica 8. Finding the right crease pattern and using the right command to compute the angles are the most important task we have.

Use the Shapley-Shubik power index to evaluate indvidual voter power based on the geography of congressional districts. This will consist of two parts. The first is a preprocessor using the ANN library to group voters and their neighbors. The second will be to do a Monte Carlo simulation to approximate each voters power and will be parallelized using OpenMP and OpenACC.

The goal is a system for creating, administrating, and analyzing online surveys. Custom surveys can be formed using a variety of question templates (e.g., multiple choice, free answer, quantitative rating). When complete, the survey will be made available on the internet, either to invited respondents or to anyone given the appropriate URL. The back end will offer the survey owner the ability to generate a recreation of an individual respondant's completed survey, or composite data for all subjects.

The goal of this project is to create a software system capable of identifying and classifying the types of nails from an image. The software system will use color space conversion, thresholding, connected components, and feature extraction to identify the characteristics of each region of the image corresponding to a nail, and use the feature values to classify the type of nail corresponding to each region in the image. The system should be able to correctly determine the number of nails in the image, and categorize the type of nail into one of at least five different nail types. The features used for classification will include area, circularity, moments, and possibly length.

The project will assume that the background is white (or very light), so that the regions corresponding to nails can be easily detected through thresholding. The project will likewise assume that the nails are non-overlapping in the image, so that each detected region corresponds to an individual nail. The final assumption is that each image will also contain a penny, which will be used as a frame of reference for determining the scale/size of nails in the image.

The E-Prime 1.4 software package, used by several labs in Saint Louis University's Psychology department, contains a scripting environment (called E-Studio) to create modified Visual Basic scripts used to run computer-based experiments. E-Studio is difficult to customize, however, and many users in the Psychology department would prefer a more intuitive scripting environment. Though E-Prime 2.0 has recently been released, many labs in the department do not wish to purchase the upgrade. The hope is that this project will extend the useable life of the existing software package, and improve the speed at which users can create and modify experiments. This project would be able to supplant the need for E-Studio as a coding environment.

Analysis of an online algorithm can be modeled as a two-player game between the algorithm and an adversary. This semester, I will develop a general tool for solving two-player games using alpha-beta pruning. I will demonstrate the general framework on several classic games and then apply it to analyze a modelfor online machine scheduling.

Implement k-nearest neighbor algorithm for weighted points on a GPU use Nvidia's CUDA programming environment. Two different methods with be implemented: the first using brute force and the second is based on kD-trees. As reference algorithms, the two algorithms will also be implemented for a CPU using a single thread. Run-time analysis will be performed to determine which algorithm is best for different input sizes.

This project will be an e-Commerce system supporting a building supply company. It will consist of a web-based front-end allowing customers to place orders and the store owner to see relevant views of the pending orders, together with a backend database in which all information is stored.

Using a back propagation neural network with economically relevant training, I will attempt to make predictions on stock values of individual companies. The primary concern with the project is to develop and implement this neural net into a functional model. A functional model is one that, after a limited training, can predict stock values of the stock ticker at different time increments from the "current" day. Predicted values will be compared to historic stock prices to evaluate performance of the model. This model will be incorporated into an output interface which would produce visualizations of the internal network structure, weights, and other pertinent elements of the model, allowing development of the model. Performing multiple experiments (different time windows, different activation and error functions, etc) could potential lead to different optimized models. Time permitting, a front end interface can be implemented where one can select models and provide necessary inputs and specify the stock ticker to be predicted. The output could be the predicted price of the stock for the next day, week, etc.

Radar Signal processing is computationally difficult because of the number of samples that must be taken to perform a FFT on the data. The Nyquist-Shannon Theorem states that we must take 2B (B=highest frequency in signal) samples to perfectly interpret the wave. This ends up being very costly because high speed A/D converters and fast DSP hardware is needed. It turns out that radar signals tend to be sparse. Using compressed sensing, we need far fewer samples to reconstruct the wave.

This project is designed primarily for experimentation. I will create software that can run simulations, then conduct experiments using that software. The goal is to see how well traditional radar processing compares to compressed sensing, especially when using degraded (noisy) signals.

Compressed sensing is an exciting, new field in Computer Science. While some of the principles have been known since the mid-20th century, the field really developed in 2004. There has been some research on compressed sensing with radar. However, it is still a research project that depends on ideal conditions. There is an excellent description of Radar Compressed Sensing available at .

The authors describe three problems that are currently holding back the design of operational systems. In particular, "the signal recovery algorithms must be able to handle real-world radar acquisition scenarios with sufficient computational efficient and robust performance for noisy data." This is the primary focus of my project: testing the effectiveness of CS on noisy signals. This should provide some very useful research to the academic community.

This project will aid in the creation of automated reports for the logistics department. Projects are requested often, sometimes several per week, and we have only three programmers. Reports can be derived from several sources, including three databases and mainframe files. Sorting out the right files can take a good amount of time, as can reports to the requester's specifications. The idea behind this project is to create an application that will created the basic sql queries in PC SAS to gather the correct data for the requested reports, including multiple sources when needed. As well, the application will allow users to manipulate an excel sheet to their own specifications, while recording the macro an creating the base code in Visual Basic. The programmer will then have far less work to automate the report.

Construction of database that will contain information on business operations and human resources that will provide tools for analysis of the data therein. This project will also include a management role in that a high school volunteer will be collaborating on the project. For the sake of concreteness , this project will be tailored to a computer hardware manufacturer model but should hopefully be relatively easy to adapt to different markets. The ultimate goal of this database is to help business owners identify possible sources of inefficiency and ways to cut costs.

My project is to be a financial manager. The financial manager enables the user to keep track of multiple bank accounts. The user enters receipts into the program, which tracks where the money is going and forms spending habits. The receipt information consists of the name of the business, the date, the amount, the account, and what type of charge it is. The types of charges are food, gas, entertainment, bills, and miscellaneous. The spending habits can then be visually displayed for the user to view. The visual representation of the spending habits will be in pie and line charts.

The program will also track the balances of the user's credit cards. The user will add each credit card to the program and the program will compute how much the minimum payment should be. The program will also compute how many payments remain (assuming the minimum is payed each month). When receipts are entered into the program, credit card receipts are included, which allows the program to update the credit card balance as information is entered.

Bills will also be tracked with the program. The program will take the average of previous bills to compute a projected amount for the bill. The program will also keep track of automatic monthly charges, which the user can add and remove.

Loans will also be tracked with the program. Much like credit cards, the payment amount will be calculated along with the amount of payments remaining.

Paychecks will be entered in much like receipts. In addition to this, the projected monthly income will be calculated to show how much money should be coming in to pay the bills.

There are many electronic medical record systems currently in existence. Many doctors have stated it would be useful to have access to the electronic records of their patients available on their smart phones. My project is an iPhone application that is able to directly access and edit patient records from a sample database.

In the Irish language, certain grammatical contexts cause spelling changes on words called initial mutations. The rules governing these are complicated and are not well understood. The goal of this project is to write a program to learn automatically these rules from a plain text corpus of Irish.

This project is aimed at the research of U3 Smart enabled USB drives, the architecture on which their file systems are built, the methods implemented to carry out their stated goal, and the implied security concerns surrounding these devices in regards to the undetected propagation of viruses on the U3 sector of the USB drive.

Design and develop a software application that has the ability to translate an English string into other languages. Since the general version of this problem is notoriously difficult, we will restrict attention to strings of the type that are usually found in translations of software, e.g. "File not found", "Could not open X", "Firefox Preferences", etc.

I will write three individual programs.

1) Program one will accept a huge number of English strings of the above type. It will strip the strings of any untranslatable items, such as punctuation and newline characters. Furthermore, program one will preserve the common (translatable) substrings within each string while converting any uncommon (untranslatable) substrings into a symbol (i.e. "***"). Finally, program one will return the original string converted into a "translation template." Any unknown, uncommon words that were found by program one will have been converted into the symbol.

Example 1: Input: "File not found" Output: "*** not found"

Example 2: Input: "Could not open file" Output: "Could not open ***"

2) Program two will take as input (1) the generated list of translation templates, and (2) a large database of existing translations from English into the target language, and will generate a statistical model for how each template is translated.

3) Program three will apply the statistical model to new English strings to translate them into the target language. Finally, the three programs will be combined into one package.

The purpose of this project is to create a Java based simulator which will illustrate the execution process of the Cell Broad Band Engine. The Cell Broad Band Engine was developed by IBM, Sony, and Toshiba as a multimedia and vector processing architecture. The most famous implementation of the Cell Broadband Engine processor is Sony's Playstation 3 video game console. In order to reduce the complexity of the overall project this simulator will not automatically translate standard C code into assembly code. Instead the program will only take in valid assembly code. This program will be originally written to run on a Linux x86 based computer (with the primary development and testing of this simulator being done on a Redhat Enterprise Linux version 5.3 machine). The student's custom made simulator shall be able to illustrate at least two independent threads passing through the SPE core of the cell processor. Additionally the software shall display a graphical, color distinguishable illustration of each individual SPE and which assembler code is currently being executed, which code is waiting to execute, and which code is in a stall.

A parallel corpus is a database of document pairs where one document is a translation of the other and the documents are "aligned" at some level, usually sentences. Parallel corpora are used to train all modern statistical machine translation systems. One approach to creating parallel corpora is via web-crawling and a system which will identify document pairs which are translations of each other from the crawled documents.

The goal of this project is to create such a program. It will take two text files as input and calculate the probability that the two files are translations of each other. The translation program should be language-independent. The program will function by using pairs of known translations to form "word pairs" that will then be used in texts that are not known to be translations of each other to calculate the probability of the texts being translations of each other.

futuristic hovercraft racing game that will be single player and have at least one AI opponent. The race track will be flat and have a variety of turns and the game will use physics in order to make it realistic and challenging. A level of power will be set and will be decreased by a specific amount with each collision with another racer, the track walls, or other obstacles. The game play will be similar to the games F-Zero and Wipeout but will include all original models, textures, animations, and concept design with graphics and user interface controlled by the Irrlicht engine.

CS & ECE189 Senior Capstone Projects

During the senior year, CE students are required to take the Senior Computer Systems Project courses also known as the Senior "Capstone" Project. This course helps satisfy CE Major Degree Requirements in the Senior Elective Study Plan.

The Capstone Project gives CE students the opportunity to put their education into practice. Students, working in small teams, design and engineer innovative hardware and software systems using techniques from robotics, distributed systems, circuit design, networking, and real-time systems to tackle problems and create a final "tangible" project.

Every year at the end of the final quarter the projects are presented at full-day, industry-supported events where student groups publicly present their projects and participate in a project demonstration and poster event.

Capstone Sr. Project Presentation Events

Capstone Sr. Project Presentation Events

CS 189 Course & Projects

CS 189 Course & Projects

students with hyperloop project

ECE 189 Course & Projects

Senior project courses.

Student groups design a significant computer-based project. Groups work independently with interaction among groups via interface specifications and informal meetings.

Computer Science 189A/B

Instructors: Profs. Tobias Höllerer (CMPSC 189A) and Giovanni Vigna (189B)

Throughout this two-course sequence, student teams engage in all aspects of an engineering problem including design, prototype, testing, deployment, and public demonstration. The course is based on a learn-by-doing approach in which teams employ cutting-edge software technologies, tools, and engineering practices to construct significant software applications and systems.

Unique to the UCSB CS Capstone is industry collaboration. Top companies from around the country partner with and mentor student teams. Industrial participants propose project ideas (that range from well-defined to wide open) from which student teams choose, as part of short, competitive “pitches”. The CS 189 senior project series culminates in a public project presentation and demonstration by each team at Summit CS in March.

Electrical and Computer Engineering 189A/B/C

Instructor: Dr. Yogananda Isukapalli (ECE 189A/B/C)

ECE 189A/B/C is a year-long capstone project course sequence in which Computer Engineering (CE) senior students design and implement an embedded computer system. Working in small groups of four to six, the teams draw on the strengths of each member, and projects are intended to be the culmination of the student's undergraduate education, incorporating both significant hardware and software components and, in some cases, mechanical components as well. CE Capstone Projects offer students real-world experience in the lifespan of developing an embedded system: identifying a problem, designing to required specifications, managing budgets and printed circuit board fabrication, and delivering their finished product on time.

CE capstone projects fall into several categories: (i) Student defined projects, in which students come up with the design idea on their own; (ii) Industry-sponsored projects, in which an industry partner specifies a design challenge of interest to their organization; (iii) Research group projects, in which a research group at UCSB poses a design challenge; (iv) Student project competitions, in which students enter as contestants in an organized competition.

ECE 189 senior projects will be showcased at the end of the Spring quarter at the ECE 189 Capstone Project poster session and resentation event.

CS 189 Capstone 2023 Presentations @ summit.cs

The event will be held on March 15 (Wed), 2023 at Corwin Pavillion

ECE 189 Capstone 2023 Presentation Event

The project presentation and poster event will be held in early June on date TBA

ECE 189 Capstone 2022 Presentation Event

The project presentation and poster event was held on June 2

Recording of the 2022 Project Presentations

CE News "2022 ECE 189 Capstone Awards"

Congratulations to the ECE 189 Best Project winners:

Computer Engineering • College of Engineering • UC Santa Barbara 2023 © Regents of the University of California

Enter a Search Term

Students chat in a computer lab

Capstone Project

Computer science, bs.

The Capstone course gives students the opportunity to work on real-world projects with tech companies in the Bay Area and Silicon Valley, or with an academic organization on a research project. The course is similar to an internship, but with the added bonus of academic guidance and access to the department’s resources. It’s a great way for students to apply classroom knowledge in a practical setting, and to make contacts in the industry as graduation nears.

Capstone projects begin in August and January. At the beginning of the semester, potential sponsors pitch projects. Students form teams of 3 to 5 members and begin the software development process. Guided by faculty, industry, and non-profit sponsors, students work on their capstone project 10-15 hours a week for 15 weeks. Students gain the experience and confidence to land the jobs that they want doing what they love. Some obtain jobs with the company they work with or from the contacts they make — jump-starting their careers even before putting on their caps and gowns.

Our Projects

Working alongside Consilient Labs, an AI startup focused on memory-based learning, students keep engineers and customers in mind when they built a user-friendly dashboard to simplify use of the current API. The dashboard uses the Angular framework, D3 for visualizations, and Bootstrap for structure — and contains functionality for user authentication, uploading data to the knowledge engine, making queries about that data, and viewing status information about the knowledge engine itself.

Students built dynamic dashboards and interactive data visualization tools to help BART engineers identify and correct platform sign inaccuracies. They took a data-driven approach to improving platform sign accuracy by using Splunk to process and analyze train log data to identify recurring conditions associated with sign inaccuracy — allowing BART analysts to take a closer look at cases where inaccurate delay data occur, show how often they occur, and which trains and platforms are susceptible to these issues.

EdgeX Foundry is an open-source platform supported by VMware that provides an infrastructure to build and deploy IoT applications. Utilizing a custom EdgeX instance on a Raspberry Pi, the student team's project FaceX provides users with an IoT application that performs facial recognition of pictures taken by a camera module connected to a Raspberry Pi. FaceX analyzes pictures for faces using a convolutional neural network and then pushes its result to a web service that displays information about the matching individual. The main goal is to implement a keyless entry system. This system will be deployed as an open-source software package that anyone can download and deploy to a Raspberry Pi with a camera module to provide a facial-recognition based entry system for a home, shelter, facility, or other restricted-access environment.

Oasis Mobile is a mobile application designed to engage users in wellness practice through its menu of personalized mindfulness exercises and programs. Currently, Oasis operates through a Chrome Extension. Working with their sponsor team, students developed a mobile application that allows users to access Oasis programs and exercises at any time or place while also including additional features such as breathing exercises, tracking of user activity, and mood journaling. Students built their project using React Native on the front-end and NodeJs and Express on the back-end.

Action for Racial Justice (ARJ) is a non-profit organization that helps justice-minded people learn about race issues and press for policies with equitable outcomes. Reading for Racial Justice is a sub-service of ARJ, specifically a book club application that helps form communities of activists to learn more about the history and principles of what they are fighting for. Once users are logged in to the ARJ service they can navigate to their dashboard to view their active clubs, create or join a new club based on a specific book, goals, or interests, and view short descriptions of the books available to them. Students used React on the front-end and Golang in the back-end with a MySQL database.

Students developed game-like Kinect software that allows patients suffering from stroke, back pain, sports injuries, and other conditions to do physical therapy at home.

How Can Your Organization Participate?

Interested in working with a group of highly motivated and committed students from USF’s Computer Science department?

The Capstone Experience

About capstones.

Student laser tag

Capstone are senior-level project courses that allow you to solve a substantial problem with knowledge gained from many areas in computer science and engineering. Students work in teams to define a problem, develop a solution, produce and demonstrate an artifact that solves the problem, and present their work. Class time focuses on the project design and implementation, but it may also include lectures on the practical application of advanced topics. Interdisciplinary projects that require interaction with other departments are encouraged.

A Capstone course is not simply an advanced course in a particular sub-area, nor is it an unstructured project course. A Capstone is designed to be a culmination of your learning, and a chance to develop and express many skills at once: For example, technical expertise and communication ability.

Capstone Goals

Links of Interest

Capstone Course List

Capstones 2022 - 2023.

Winter 2023

Prerequisites: CSE 312; CSE 331; CSE 332

Description: Student teams will be tasked with creating a computer security themed product. The work will progress from product conception to requirements to design to implementation to evaluation. Along the way, students will incorporate key computer security tools and practices, including threat modeling, penetration testing, and bug fixing. Examples include password managers, censorship resistance systems, and mobile payment systems.

Prerequisites: CSE 332, and at least 1, CSE 400 level course recommended

Spring 2023

Capstones 2021 - 2022

Winter 2022

Spring 2022

Capstones 2020 - 2021

CSE/EE 475: Embedded Systems (Taught by CSE) - Bruce Hemingway

Prereq: CSE 369 and 474

CSE 481DS: Data Science Capstone - Tim Althoff

Pre-req: CSE 332, 312 and one of (446, 442, 344)

Description: Data analysis is a central activity for scientific research and is increasingly a critical part of decision making in government and business. However, producing reliable data analysis outcomes is challenging since the decisions made throughout the analysis process can dramatically affect the eventual outcome. The Data Science Capstone focuses on the complete end-to-end process of data analysis performed with code: the iterative, and often exploratory, steps that analysts go through to turn data into results. Our focus is not limited to statistical modeling or machine learning, but rather the complete process, including transformation, exploration, modeling, and evaluation choices. Students will work in groups of three or four on a single project that will tie together and apply previous experiences from CSE 312, 332, 446, 442, 344, and other classes. Students are expected to already possess knowledge of appropriate machine learning, visualization and database methods, and will focus on independently applying those methods in the context of your project. There will therefore be little lecture material in this course. Course staff will instead work closely with students to critique and advise on their group project. Students will experience the end-to-end data analysis process from transformation and exploration of data to modeling and evaluation. Your group will brainstorm on a project during the first week, before collaboratively exploring the data and implementing a complete data analysis workflow. This capstone course gives hands-on experience with selecting a data science question, and with crafting and evaluating a data science process to answer that question. CSE students should have completed CSE 332 and CSE 312, and at least one of CSE 446, CSE 442, or CSE 344. There are no other requirements for participating in this capstone class.

Winter 2021

CSE 460: Animation Capstone - Barbara Mones (Note: requires application and admission in summer)

CSE/EE 475: Embedded Systems Capstone - ECE Faculty

CSE 481i: Sound and Media Capstone - Bruce Hemingway

Description: This capstone will build projects utilizing computer audio and video techniques for human interfacing, sound and video recording and playback, encoding and decoding, synchronization, sound synthesis, recognition, and analysis/resynthesis. Projects may contain any types of media. Students will work in teams to design, implement, and release a software project utilizing some of the techniques such as those in the links below.

We have two Oculus-VR development kits , two Tobii EyeX Eye-tracking Controllers , and 15 Leap Motion controllers for use in building musical/audio/media interfaces. We also have three Nvidia Jetson TX1 Developer Kit s for high-performance Deep Neural Network learning and computer vision.

CSE 481 S: Security Capstone - Kohno

Prereq: CSE 484 (CE students graduating in fall who have not completed 484, please send email asap to [email protected] )

CSE 482: Accessibility Capstone - Anat Caspi

Prereq: (recommended) CSE 490 D, (recommended) CSE440

Notes: This course has a DIV designation and fulfills the diversity requirement

Description: Accessibility is quickly emerging as a leading consideration for product design and engineering. Disability is part of the human condition – almost everyone will be temporarily or permanently impaired at some point in life, and those who survive to old age will experience increasing difficulties. Disability is complex and heterogeneous, and the technological interventions to accommodate different abilities are wide ranging and vary with context. Many familiar technologies like voice recognition, text-to-speech, and gaze detection were initially engineered to assist people with disabilities gain more access and increase participation in daily life. Students will work in interdisciplinary project teams that include community members with expertise on project needs. Groups will follow participatory design practices and apply design and engineering skills to create technology solutions that increase independence and improve quality of life for people of all abilities. Teams will complete one end-to-end product iteration cycle: ideation, design, specification refinement, prototype and usability testing  

Spring 2021

CSE 428 A: Computational Biology Capstone

Description: Designs and implements a software tool or software analysis for an important problem in computational molecular biology. 

CSE/EE 475 A: Embedded Systems Capstone - ECE Faculty

CSE 481 C: Neural Engineering Capstone - Rajesh Rao

Description: Design, build and present a prototype device or software tool that solves an important problem in neural engineering. Examples include interfaces based on combining AI with brain-, muscle-, and/or eye-tracking signals to control computers or robotic devices, virtual reality approaches to improving neural function, and machine learning-based software tools for analyzing large-scale neural data.

Prerequisites: (Recommended) CSE 490N, (Recommended) CSE 446 or CSE 473

CSE 481 D: Games Capstone - Zoran Popovic

CSE 481 H: HCI Capstone - Reinecke

CSE 481 V : Virtual and Augmented Reality - Ira Kemelmacher-Shlizerman

Description: Virtual and Augmented reality are promising technologies that are certain to make an impact on the future of business and entertainment. In this capstone, students will work in small project teams to build applications and prototype systems using state of the art Virtual Reality (VR) and Augmented Reality (AR) technology.  Seattle is a nexus of VR tech, with Oculus Research, Valve, Microsoft (hololens), Google (cardboard, jump), and teams in the area.  We will be developing on the latest VR/AR headsets and platforms, and will bring in leading VR experts for lectures and to supervise student projects.  Students will experience the  end-to-end product cycle from design to deployment, and learn about VR/AR technology and applications. The capstone culminates in a highly anticipated demo day where the students demonstrate their creations to other students, faculty and industry luminaries. ( See Video )


  1. 10 best Computer Science Capstone Project Ideas in 2022

    capstone project in computer science

  2. 100 Best Computer Science Capstone Project Ideas

    capstone project in computer science

  3. Computer Science

    capstone project in computer science

  4. Computer Science Capstone Project Examples

    capstone project in computer science

  5. 10 best Computer Science Capstone Project Ideas in 2022

    capstone project in computer science

  6. 10 best Computer Science Capstone Project Ideas in 2021

    capstone project in computer science


  1. AIPDR

  2. Capstone Project : Demo Using Java language

  3. My final Year Project(Computer Science) : Python-Djnago

  4. Launching into the future with Mines Capstone

  5. B.Tech Thesis: Deepfake Detection using ImageNet models and Temporal Images of 468 Facial Landmarks

  6. G12 LECTURE


  1. 100 Computer Science Capstone Project Ideas For Students

    100 Best Computer Science Capstone Project Ideas · Object-oriented programming. · SQL Server Database backup. · Video sensors via face recognition.

  2. 2021 Capstone Projects

    To wrap up their undergraduate experience at CU Boulder, computer science students participate in a year-long senior capstone project that gives them a

  3. 10 best Computer Science Capstone Project Ideas in 2022

    Computer Science Project Ideas · 1. Face Detection · 2. Online Auction System · 3. Crime Rate Prediction · 4. Weather Forecasting Application · 5.

  4. 100 Outstanding Computer Science Capstone Project Ideas

    What is a Computer Science Capstone Project? ... It refers to a technical writing project that students undertake to crack a substantial problem. They do this

  5. Top 8 Capstone Project Ideas for Computer Science Students in 2023

    A capstone project is typically the culmination of a student's academic program, and it allows them to apply their knowledge and skills to a

  6. Computer Science Capstone Projects

    In this capstone project, we will implement a scalable genome assembler using Apache Spark on Cloud. Apache Spark is a cutting edge open-source cluster

  7. Senior Capstone Projects

    CS & ECE189 Senior Capstone Projects ... During the senior year, CE students are required to take the Senior Computer Systems Project courses also known as the

  8. Computer Science Capstone Projects

    Computer Science Capstone Projects ... Through the senior project experience at USD's Shiley-Marcos School of Engineering, computer science students work on a

  9. Capstone Project

    The Capstone course gives students the opportunity to work on real-world projects with tech companies in the Bay Area and Silicon Valley

  10. The Capstone Experience

    Capstone are senior-level project courses that allow you to solve a substantial problem with knowledge gained from many areas in computer science and