Student Projects

There are many different ways that students get involved with projects while in the Department of Computer Science. While many projects are individual projects developed by a single student, some are class projects or group projects managed by one of our clubs.


Many student have internships that they may or may not use for credit.  Here are some examples:

John Bucher had an internship with Computer Aid Inc (CAI).  John describes CAI ( as  “a global IT services firm that manages engagements with government agencies and Fortune 1000 companies.  CAI headquarters are located in Allentown, PA but they also have an office in Harrisburg, PA.  CAI specializes in providing development and maintenance of projects for companies with limited or nonexistent IT development teams of their own.”   In his time there some of the things he learned about and utilized: C#, ASP.NET, HTML, Databases, CSS, AJAX, JQuery, Javascript, and Unit Testing.  During the internship John worked on two different applications being developed by CAI.  He noted that “the projects provided a hands-on learning experience with industry level software while also enabling interactions with professional developers.”

Student Research Projects:

Every CS major is required to complete an individual research project before they graduate. Some students are able to take their projects to undergraduate research conferences and other industry conferences. Here is a selection of recent projects. 

  • Project Title: Comparing A* and Dijkstra's Algorithm on one to one and one to many Shortest Route Algorithms with Geospatial Data
    Name: Carson Wood
    Mentor: Dr. Alice Armstrong

Dijkstra's Algorithms is a classic algorithm in computer science and graph theory to find the shortest route, A* is a heuristic improvement on Dijkstra’s algorithm in which another variable or distance is accounted for when finding the shortest distance. Using geospatial data, creating a graph of nodes and edges which are geographic coordinate points and roads, how do these two algorithms compare when testing on real world geospatial data of one-to-one and one-to-many destinations? Are there cases were using one over the other is favorable or is one algorithm the absolute dominate algorithm?

  • Project Title: Improving the Performance of Web Cache Replacement with Machine Learning
    Name: Josh Varone
    Technical Mentor: Dr. Alice Armstrong

Web caching provides an opportunity to improve the responsiveness of websites and other media objects that continue to grow in prevalence and availability.  The performance of web caches is significantly affected by the choice of algorithm, specifically as it relates to the replacement of old items.  This project compares two replacement algorithms, Naïve-Bayes enhanced Least-Recently-Used—which makes use of a supervised machine learning classifier—and Least-Recently-Used.  Implementations of these algorithms, as well as a Naïve-Bayes classifier to make statistical determinations regarding the likelihood that a given web object will be requested again, will be developed.  A cache simulation will then be run, ultimately producing two standard performance measures, hit rate and byte hit rate, which will enable the comparison of these approaches, with the ultimate goal of identifying performance improvements that can be gained with the inclusion of a supervised machine-learning component.

  • Project Title: Searching for Substrings in DNA
    Student Researcher Name: Emily Bruckart
    Mentor: Dr. Alice Armstrong

This research project presents a new string pattern matching algorithm paradigm to speed up string searching with a specific focus on string searching strings with small alphabets, such as DNA sequences, by creating a lookup table for the source text cataloging the indices of each character separated by alphabetic letter.  Two new algorithms using this lookup table are presented and compared to existing string search algorithms to examine their efficiency.

Game Dev Club:

Game Dev Club meets weekly working on existing projects, starting new projects, or just trying out new things in various game engines.  One of their larger projects was AsterRoll. This project was special becuase not only the programming, but most of the art and sound assets were also by shippensburg students.