Team Project Assignments
| Virtual Pet
|Space Shooter Game
Juan Carlo Cervera
|Deals aggregator/alert generator
K. Andrew Williams
|Augmented Reality Capture The Flag Game
|Multiplayer Trivia Game (Proposed own)
|Typing Tutorial Visualizer
|Numbers (Proposed own)
|Fitness App (Proposed own)
| Facebook friend ranking system
|Multiplayer Chess Game
|Augmented Reality Shooter Game
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: Campus Map (Android/iPhone)
A map that assists the user to get around campus, should have a detailed campus map, with buildings, and thus allow the user to type in a room number and the map shows which building and which floor. Would be even better if building maps could be implemented, once the user reaches the position of the building, since the smart phones can provide the user with altitude information, and thus the floor location, it is possible to implement a map that guides the user through the building.
Project 2: Augmented Reality Capture The Flag
A multiplayer game played with smartphones, where the teams separate into two groups, The GPS in the smart phones track each player, and their respective teams, red and blue. The flag is generated in some random location for each team, to capture the flag, run over the location (the GPS position of the phone is in some proximity to the flag), to steal a flag from another team member, run close to that member, the flag is passed to you when you are in proximity to the opposing member.
Project 3: Facebook friend ranking system
Facebook is a very popular outlet for social networking and people focus a tremendous amount of attention on their facebook profiles. Thanks to a flexible architecture, it is possible for developers to add third party applications to Facebook to make it more interesting. Your job is to use the Facebook API to develop an application that analyzes and ranks the friends of a person based on the userís requirements. Although Facebook provides ways to group friends of a user, it doesnít have an automatic way of ranking friends according to the userís own needs. The application will provide a list of options (number of wall posts, number of private messages, number of pokes, number of pictures together, number of mutual friends..) to the user. The user will rank these options according to their importance levels in friendship. Then, the application will rank the friends for a predetermined time (eg. a month) and cumulatively depending on this list of the user.
Project 4: Augmented Reality (Android/iPhone) Shooter
The modern smart phones have GPS and Cameras in them. Create a multiplayer game where those playing the game see another's GPS positions, and when their cameras are pointed parallel to the ground. They see in those positions a bullseye that they can shoot at by taping on it on their screen. This allows the players to shoot at each other using their phones. Each team should have their own respawn zone. When a player is killed, their avatar (bullseye) respawns in that location. The dead player should get to the respawned avatar, at which point that avatar attaches to the player, and again the player's avatar moves with the player's GPS position.
Project 5: 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 (http://academic.research.microsoft.com) 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.
Project 6: Space Shooter Game
A simple 2d space simulator with a pilotable/controllable ship. The environment should also have asteroids with gravitational pull, and other NPC ships. Your ship must be able to shoot at other ships. It should also be possible to upgrade the ship with new weapons, engines, hulls, and thrusters, which all should have their own distinct look.
Project 7: A Virtual Teacher/Mentor
A software that could, in a gaming format, teach the student words, arithmetic, and other things, scoring the answers of the student, keeping track of the person's progress, tell the student stories, entertain. Basically this virtual teacher should touch on all subjects, mathematics, language, logic, biology, evolution, etc.
Project 8: Typing Tutorial Visualizer
An electronic typing teacher, with a visualization of the typed words in some game format. Perhaps a turtle crawling over the characters as they are typed if typing is slow, or some other animal as speed increases. Or a race between two characters, where the speed of the player's character is dependent on the typing speed. A sprite could be used for the graphics.
Project 9: Multiplayer Chess Game
A chess game, with board and piece visualization, with the ability for the players to play against the computer, and each other over the internet. This should be not just a simple chess game, but visualization of the chess pieces fighting should also be implemented, one one chess piece takes another. It should be possible to switch this feature on and off.
Project 10: 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 11: 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 12: Virtual Pet (Android/iPhone)
A virtual pet, which you have to feed and play with, implemented on iPhone or Android.
Project 13: Auction Website
A website where people can put up things for an auction, upload pictures, descriptions, use buy-now and timers. This should be an ebay clone, with some new an innovative features which ebay does not yet have.
Project 14: 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 15: 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 16: 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 17: Deals aggregator/alert generator
Develop a website that can give information for all the deals available for a particular item. If you specify the resources where you would like the search to be performed, it will pull information from those websites only. Otherwise, information from all available resources will be provided. It should also give the user the option of requesting an alert if an item matching his/her required specifications becomes available.
Project 18: Scrum Manager
This is a website for scrum approach to software development.