Student Projects

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

Internships

Many student in all of our majors have internships that they may or may not use for credit. Here are some examples:

John Bucher, a senior computer science major, just recently completed an internship with Computer Aid Inc (CAI). John describes CAI (www.compaid.com) 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.”

Derek Belsky and Sunggun Kim have ongoing internships with Volvo Construction. They are working on the software development team that develop the software for Volvo's pavers and compactors.

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.

PACISE 2017 Conference in Edinboro, PA

Shippensburg University had a strong presence at PACISE 2017 with a team competing in the robotics competition and four student posters and one student paper presentation. Evan Schoenberger's presentation of his poster on his video game LEVELS won 3rd place. He developed the video game as a member of the video game development club, which was available to play at PACISE. Elizabeth Ostrow, Aaron Gerber, and Nahesha Paulection presented posters as well.

C:\Users\cdgira\AppData\Local\Microsoft\Windows\INetCache\Content.Word\Levels.png

Michael Foreman and Nathaniel Manning worked together to construct and program an EV3 Lego Robot for the first Robotics' competition held at PACISE 2017. Their robot had to navigate two different line courses and one maze. Their robot successfully completed each of the line courses (had to complete two full laps) and came in second in the maze course. Their robot performed in the top three, earning them and honorable mention.

Robotic.JPG

Micro-controller Projects:

  • Hot Buzz by Tyler Dalius: The Hot Buzz was designed and fabricated as a prototype project for CMPE 410, Micro-controllers. A simple idea, such as reading a temperature, manufactured into a physical device. It might not be able to fit in your pocket, but it can certainly follow a “set it and forget it” lifestyle.

Game Dev Club Projects:

  • Too Many Games 2017 Convention in Oaks, PA (http://toomanygames.com/) This summer, the Video Game Development Club presented five different games at the Too Many Games 2017 convention in their Indie Game Showcase. For the first time, this year's Too Many Games had a selection process to determine which developers would be accepted to show off their games. The following club members attended the conference: Elisabeth Ostrow, Evan Schoenberger, Nathaniel Manning, Trevor Kelly, and Aaron Gerber. The club advisor, Dr. C. Dudley Girard, was in attendance as well.

The following games were on display: BirdBall, So Many Levels, Pong3D, Platformer 1.0, and Clockwork Tower.

So Many Levels and BirdBall were built by Evan Schoenberger using the Unity engine. So Many Levels was developed during the spring semester. It is a puzzle game with an endless number of levels (presently capped at 10) where the player tries to navigate three overlapping mazes to reach the exit. Bird Ball was mostly built over a 20 hour game jam and is a multiplayer game where each player is trying to hit as many birds as possible with a ball.

Pong3D was built using LibGDX by Dr. C. Dudley Girard. It was developed during the spring and summer as project connected to the new Game Programming course that will be taught starting fall 2018. In the game, you control a platform that helps guide a bouncing ball to take out targets within a maze.

C:\Users\cdgira\AppData\Local\Microsoft\Windows\INetCache\Content.Word\griard_nathaniel_aaron.jpg

Platformer 1.0 is a Unity platformer by Trevor Kelly targeted towards android devices. In the game, you control a character that is trying to get across the map, collecting objects as you go. There are obstacles along the way that can cause you to explode.

Clockwork Tower is a Unity project being developed by Aaron Gerber and Nathaniel Manning. Aaron has mainly focused on the art assets for the game while Nathaniel has mainly worked on the coding. In the present form of the game you are a knight trying to take out as many enemies falling from the sky as possible.

While at the convention, we got to meet up with a number of alumni. Zach Thompson, Will Fisher, Nick Hydock, Matt Hydock, Christian Cooler, Martino Dang, Gabriela Rocha, and TJ Dalious were all in attendance

Software Engineering Club Projects:

  • Tune-In: A system we developed to compete in a project run by Desire2Learn
  • ADA: A system that helps Shippensburg’s Disability Services organization to schedule, manage, and administer individual testing.