Team Project Assignments
Team Pages Members Project
1 Jason Prohaska
Steven Howard 
Alex Quintero 
Jess Lombardi 
Robin Adams 
Josh Moyerman 
Grade Tracker Guru
2 James Eckstein
Justin Khan 
Michael Poplavski 
David Douberley 
Mercy Peou 
David Nguyen 
Cards Against Humanity
3 Sean Lunceford
Stefan Rivas 
Alexander Pitman 
Justin Barnes 
Steven Garcia 
David Amrani 
Task Warrior
4 Daniel Carpenter
Jorge Guerra 
Esteban Guzman 
Liz Miner 
Laura Rubio-Perez 
Kira Farney  
Trivia Game
5 Carlos Valera
Krysten Thomas 
Ryan Pearce 
Padraic Galen Baker 
Wayne Rodenburg 
Dice Roller and Counter
6 Stephen Aument
Michael Carlson 
Alejandro Drausal 
Christian Gati 
Tyler Johnson 
Paul Vitale 
Element Defense
7 Yuksel Hocalar
Jay Davila 
William Orem 
Christopher Linton 
Katherine Rodriguez 
Meng-Tse Li 
Tank Wars
8 Anthony Bolton
Nick Roberts 
Kevin Samms 
Jacob Osterman 
Dan Zober 
Amanda Dale 
Tower Defense
9 Jason McKean
Philip Warburton 
Drew Nagy-Kato 
Alex Balogh 
Matt Sirabella 
Kurt Peters 
Food/Restaurant/Other Consumable Review App
10 Tomasz Pytel
Adrian McGrath 
Caleb Thornton 
Jasmine Walker 
Christopher Burkhart 
Rob Schwyzer 
Zombie Runner
11 Ryan Harrigan
Graham Nicholson 
Michael Bird 
Suamya Sinha 
Aaron Fields 
Charles Lillo 
Pet Collecting Game (Cats with hats!)
12 Andrew Brown
Michael Cardenas 
James Cary 
Josh Alcantara 
Daniel Gabriele 
Robert Daniel 
Forex Data Syphon and Algorithmic Trader (ForExplorer!)
13 Antonio Whitehead
Michael Leber 
Jefferson Delgado 
Alex Diaz 
Alex Amoros 
Lomar St.Louis 
Study Buddy
14 Cory Kinberger
Tyler Leonhardt 
Marshall Kadlec 
Vivian Santos 
Jarred Burrows 
Alejandro Torroella 
Theseus: maze game
15 Andrew Harn
Steven Batten 
Marcos Arribas 
Stephen Royal 
Josh Higgins 
Beckylin Orooji 
Capture the planets
16 Nicolas Helffrich
Wil Wilhite 
Kyle Walls 
Christopher Savela 
Raphael Enriquez 
Kyle Holmes 
Proposed own
17 Chris Olszewski
Jonathan Ulrich 
Julio Romero 
Anthony Cabrera 
Daniel Lee 
Robert Louden 
Secure Messaging System
18 Ryan Farneski
Adrian Hellinger 
John F. Gilmore 
Edward Jezisek 
Andrew Watson 
Brandon Ramsey 
Tank Wars
19 John Leite
John Guarino 
Hosam Bassiouni 
Thomas Manning 
Christopher Padilla 
Brick Breaker Game
20 Jason Diehl
Andrew Rorer 
Eric Donley 
Daniel Mayben 
Stockwell Haines 
Mega Man Fan Game

Project Templates

The project templates can be find here. Each project team is expected to follow the same template for their projects. The templates will be briefly discussed in the first week of recitations.

Possible Software Engineering Class Projects

Project 1: Pet Collecting Game (Android/iPhone)

Players create a profile and choose from one of many starting pets. They then physically travel around town and using their pet, they try to collect other pets. Players are tracked through the GPS and different pets are located in different places (ie: fish pets near the beach). Also, the option to battle other players to see whose pets are stronger can be implemented.

Project 2: Food/Restaurant/Other Consumable Review App (Android/iPhone)

An app where users create an account and can add fellow users to be their friends. Multiple levels of implementation include using a check in feature where you state your current location, what you are currently eating and drinking, and a brief review (possibly include a picture). Additionally, links to recipes and reviews of them can be provided.

Project 3: Connect 4 Game (Android/iPhone)

Simple implementation of the classic game. Allow for "hot seat" style play where two players can go head to head using one phone, invite your friends to play a game from their own phone, a feature to play against random players, and possibly an AI opponent.

Project 4: Tower Defense Game

Everyone has heard of tower defense games, but now is your chance to make one! The sky is the limit on this one.

Project 5: Dice Roller and Counter

Real dice are biased so create an app that rolls dice that utilizes true randomness. Options such as number of die to roll, visual displays of dice rolls, and a potential "custom dice" are features you should aim to implement. Also, implementation of a feature that tracks all of the previous dice rolls can be implemented (along with a statistical breakdown of how many times a certain number has been rolled).

Project 6: Post Apocalyptic World Game (Android/iPhone)

Players begin by creating their characters and being placed into this post apocalyptic world where they need to move around in the real world (while being tracked by GPS) in order to survive in the virtual one. Randomly generated encounters such as food, zombies, etc can be placed to help or hinder players. Encountering another player of the game increases your chance of survival but you now have to share! Lots of room for creativity.

Project 7: Classroom Tool (Android/iPhone)

Design a system where an instructor for a class can log into a website and have their students "enroll" in their virtual classroom using their smart devices (iPad/smart phones). During class students can ask questions of the instructor and the instructor can pose questions (similar to using a clicker) to see if students understood the material. Outside of class students can use chat features to meet up with other students or organize study groups.

Project 8: Tank Wars (Android/iPhone)

A simple 2D multiplayer game, where the players view their controllable tank from above. The barrel of the tank-gun and the tank, are separately controllable, this means that the tank can be moving in one direction, and the barrel spinning separately.

Project 9: The Running Man (Android/iPhone)

A 2D platform game, seen from a side. The objective of the game is for the character to get from point A to point B. There should be powerups, the character should be able to climb, and if possible some graphics for parkour moves should be present, and shooting enabled.

Project 10: Task Warrior

An advanced planner and time management tool. The user enters his information, plans, appointments... The day planner keeps the user constantly updated, capable of alarming the user when the scheduled tasks get closer to the deadline. There should be both, visual updates (for example, the visualization approach presents the rapidly upcoming tasks as red, others as blue, green...), and is also capable of sending updates to the user's phone.

Project 11: Multiplayer no limit holdem (poker)

A No-Limit-Holdem multiplayer game. With an online lobby, and game rooms joinable by users. There should be chat, and visualization (pictures of cards and tables, and avatars).

Project 12: Secure Messaging System

A messaging/emailing system that uses encryption. The server that holds the messages and emails should not hold information in cleartext. The server should not have access to the encryption keys, only the users on both sides should.

Project 13: Study Buddy

The system should support student accounts. Each student should be able to make an account where they specify what classes they take, what they want to study, their strengths and their weaknesses. The system should then match various students together to make up study groups for tests, homeework, classes.

Project 14: Forex Data Syphon and Algorithmic Trader

A program that can gather freely available financial data from a financial service provider, the system should be able to display this data to the user (should display the candlestick chart, and standard graph), and provide the user to plug a modular algorithmic trader. The system should come with at least 2 already present algorithmic trading bots, one based on standard statistics, and another based on a machine learning approach, either SVM or NNs.

Project 15: Online Tutoring Services

A website where two possible accounts are available, "Tutor" and "Student". The Tutors make accounts, list what subjects they can tutor, and the students make accounts and find tutors on the list of registered tutors. The website will need an implemented blackboard for the tutor to use and tutor the student over the net. The blackboard should allow a tutor to easily draw in real time for the student, and a voice/testing chatting system.

Project 16: Auction Website

An auction site, with two types of accounts, buyer and seller. People can put up things for an auction, upload pictures, descriptions, use buy-now and timers. There should be a global forum, showing the sold items. This should be an ebay clone, with some new an innovative features which ebay does not yet have.

Project 17: Adaptive Firewall (Intrusion countermeasure electronics)

Implement a simple firewall which uses Bayesian networks to adapt to new incoming threats. It should have graphical user interface.

Project 18: Stock information sharing website

Create a website that allows user to discuss their viewpoints on various stocks trading on stock exchanges. The users should be able to share their portfolio for others to view. The website should be able to track the portfolio performance of users and rank them.

Project 19: Shopping Planner

Develop a website where you can give a list of all the items that you intend to buy. It can suggest all nearest places where you can get the things on your list with the most affordable prices. Based on the pricing information, the system can provide an optimal route to cover the least distance while visiting all locations.

Project 20: Conference submission scheduler

Conferences are critical for researchers to publish their work and to share ideas with colleagues. Therefore it’s very important to know the time, location and other details of the interested conferences. This program must create the best schedule for a researcher to participate in different conferences. Microsoft Academic Search ( provides “Call for Paper” (CFP) calendar. This is a visualization tool, presenting the timeline and map views for conferences in more than 20 research domains. The scheduler program can use this information to plan the submission and travel times of a researcher so that he/she can attend the maximum possible number of conferences. The h-index value of the conferences (which is also provided in Microsoft Academic Search) can also be used to make decisions on which conference to attend.