Department of Computer Science

Student Research and Capstone/Thesis Presentation

  • "Winning Strategy in Programming Game Robocode" by Casmon Gordon (CSC303, Spring 2013. Advisor: Dr. Xiang Fu, Committee: Dr. Krishnan Pillaipakkamnatt and Dr. Chuck Liang)
    This report presents a Robocode robot named “WallsKiller Robot”. In a 1-on-1 battle with the Walls Robot, which is initially included in the game, WallsKiller Robot can beat the Walls robot in every match with a hit rate greater than 90%. Its algorithm applies trigonometry and solves quadratic equations to accurately calculate the trajectory of bullets. The algorithm also incorporates adaptive learning to achieve a higher hit rate. It accomplishes this be taking a statistical sample of the calculated hit rate at different distances to determine the optimal range at which to open fire. The WallsKiller robot also has the ability to avoid getting hit by the bullets fired by the Walls robot. It is able to detect when the opponent fires a bullet and then moves away from its current position. The project is fully implemented and tested.
    Presentation with Sound Tracks
  • "Winning Strategy in Programming Game Robocode" by Michael Varin (CSC303, Spring 2012. Advisor: Dr. Xiang Fu, Committee: Dr. Krishnan Pillaipakkamnatt and Prof. Vincent Costa)
    This paper presents a strategy for a programming game named Robocode. Within this game environment, we will apply a shooting algorithm to an in-game robot known as Wallskiller, while going through the entire design process of each the algorithm. The purpose of this strategy is to defeat the Walls robot, which is included with the game. We will use trigonometry and quadratic equations to calculate the trajectory of bullets that will be fired upon the enemy robot, and then analyze the results and effectiveness of how well our robot performs. After implementation is complete, unit testing will be applied to ensure that the algorithm is working properly and that there is no unexpected behavior in the final product.
    Presentation with Sound Tracks
  • "Robocode: Outsmarting Walls Robot with Trigonometry" by Jeffrey W. Hiltpold (CSC303, Spring 2012. Advisor: Dr. Xiang Fu, Committee: Dr. Krishnan Pillaipakkamnatt and Prof. Vincent Costa)
    This report presents a robot that employs a precise shooting algorithm to defeat Walls, one of the best performers shipped with the Robocode programming game. The shooting algorithm is based on trigonometry and quadratic equations. Given the velocity, heading and other relevant battlefield data, the algorithm precisely computes the trajectory of the bullet to hit the opponent. The project follows an object oriented software engineering process, beginning with a formal specification, and continues with OO design, implementation, and unit testing. The experimental data of this project shows that all preset goals are well met.
    Presentation with Sound Tracks
  • "Malware Analysis: Reversing Engineering of Max++" by Nikia Lubin (CSC303, Spring 2012. Advisor: Dr. Xiang Fu, Committee: Dr. Krishnan Pillaipakkamnatt and Prof. Vincent Costa)
    This paper presents a static and dynamic analysis of the kernel details and behavior of malware called ZeroAccess/Max++. When Max++ initializes in a Microsoft Windows XP environment, the virus performs a series of actions that attacks the operating systems core components. Such malicious activity is observed through a process of reverse malware engineering. The project employs the use of debugging software, network protocol analyzers, and virtualization software to create the ideal environment. The system and network modifications executed are thoroughly analyzed in the controlled environment.
    Presentation with Sound Tracks
  • "Breaking Walls: Developing a Successful Robot in Robocode" by Chris Velez (CSC303, Summer 2011. Advisor: Dr. Xiang Fu, Committee: Dr. Habib M. Ammari and Chuck Liang)
    This paper discusses the design of a robot called WallsKiller, who purpose is to defeat a robot named Walls in a battle that takes place in the Robocode system. To accomplish this task, a firing algorithm was created based on trigonometric properties. Through proper implementation and testing of this algorithm, WallsKiller is able to successfully defeat the robot Walls in 1-on-1 combat in a Robocode battle. The WallsKiller Robot maintains a hit rate of 70% and an average remaining energy of 77 while combating the Walls robot.
    Presentation with Sound Tracks
  • "Aircraft Trajectory Simulation" by Nathan M. Clark (CSC303, Spr 2011. Advisor: Dr. Xiang Fu, Committee: Dr. Habib M. Ammari and Prof. Vincent J. Costa)
    Current cruise missile training lacks the ability to simulate a launch aircraft and limits the fidelity of training available. This project is intended to add this capability to existing training systems. The project focus is the creation of a two dimensional aircraft trajectory with realistic turning and simulated flight with timing driven by the training system clock. An experimental comparison with existing software, used solely to create trajectories, indicates that the software succeeds in creating a reasonable and realistic trajectory. Furthermore, the flight simulation capability shows that the simulated aircraft is able to progress along the trajectory path as expected allowing appropriate time synchronization between the training system and the aircrafts projected time-space-position information.
  • "A Framework to Aggregate and Report Textual Data Without Editorial Bias " by Keerat Sharma (CSC302, Spr 2011. Advisor: Dr. Krishnan Pillaipakkamnatt, Committee: Dr. Habib Ammari and Dr. Xiang Fu)
    A system to harvest facts and their relationships while eliminating editorial bias from the news in near-real-time is presented. In addition, the imple- mentation of wordsinmedia.com is documented as a working implementation of the described framework.
  • "Defeating the Crazy Robot" by Daniel Joseph Calvanese (CSC303, Spr 2011. Advisor: Dr. Xiang Fu, Committee: Dr. Gerda Kamberova and Dr. Chuck Liang)
    This paper presents CrazyKiller, which is designed to defeat Crazy, a robot included in the game. CrazyKiller defeats Crazy by using its four main components: a shared data repository, a lock on system, a movement system, and a firing system. CrazyKiller's shared data repository stores information about the battle environment and predicts Crazy's future locations. CrazyKiller's Lock-On System locks onto Crazy and keeps track of him by radar. CrazyKiller's movement system dodges bullets fired directly at CrazyKiller and also moves towards the center when CrazyKiller moves too close to the walls. CrazyKiller's firing system assumes that Crazy will not change its movement pattern and then fires at the position that a certain type of bullet will collide with Crazy if fired immediately. Further, we note that we can modify CrazyKiller's behavior for maximum performance. CrazyKiller wins all duels against Crazy, and hits Crazy with a hit rate of 90% when fully upgraded.
  • "Settlers and Sentience - An Emotional Model of Settlers of Catan" by James Price (CSC302, Fall 2010. Advisor: Dr. Krishnan Pillaipakkamnatt, Committee: Dr. Gerda Kamberova and Dr. Xiang Fu)
    The field of game-playing artificial intelligence is in need of new direction and innovation. As human players become more interconnected through the advances in and the mainstreaming of networking technology, as well as the availability of servers to handle high player throughputs continues to rise, computer AI is likely to receive less emphasis. A common complaint among gamers is that their AI opponents are simply neither real nor an adequate substitute. This complex problem can be simply stated How do we make our AI better?
    The purpose of this thesis is to explore an emotional model of game AI as visualized in Settlers of Catan, a multiplayer board game by Klaus Teuber. Settlers of Catan serves as the introductory vehicle for this new area of research. The diversity of moves within the game des, purchases, expansion decisions and others llow for multiple personalities to approach the decision making process from an array of perspectives. As a result, this research is not only interested in what choices are made, but why they are made. Two or more personalities can agree on an identical outcome, though the bias and criteria for such decisions may be largely different.
    This complex task requires one to answer four important questions. First, we must consider what we can model; what are the emotions to include and why are they relevant? Second, we must address how to construct the model; this implementation approaches the model through a consistent use of emotional characteristics in all actions. Third, we must be able to measure how our emotional models perform in order to validate their usefulness; though it is desirable to provide a new experience, it is better to provide one that is both new and challenging. Finally, we must consider how to improve and expand our models utility.
  • "Winning Strategy in Programming Game Robocode " by Daniel L. Rapp (CSC303, Summer 2010. Advisor: Dr. Xiang Fu, Committee: Dr. Habib M. Ammari and Dr. Krishnan Pillaipakkamnatt)
    This paper presents a winning strategy in Robocode, a programming game. A robot named WallsKiller Robot is designed. When battling 1-on-1 with the Walls Robot that is initially included in the game, WallsKiller Robot can beat Walls with an overall winning percentage of 100%. The algorithm applies trigonometry and solves quadratic equations to accurately calculate the trajectory of bullets. The project is fully implemented and tested.
  • "Winning Strategy in Programming Game Robocode - Study Your Enemy First " Richard Lysakowski (CSC303, Summer 2010. Advisor: Dr. Xiang Fu, Committee: Dr. Habib M. Ammari and Dr. Krishnan Pillaipakkamnatt)
    This paper presents a winning strategy in Robocode, a programming game. A robot named Opportunist robot is designed to battle 1-on-1 with an enemy robot that is initially included in the game. It was designed to achieve at least a 75% winning rate against any of the twelve sample robots included in the robocode game and the potential to deal with any introduced enemy with an unknown algorithm. The Opportunist robot will take an approach to learn from enemy robots tactical abilities by monitoring and analyzing its maneuvering patterns and firing techniques. The system will take the unique approach to generate an exact representation of the many states of the enemy robots motion programmed by its designer. Once the enemys behavioral characteristics are learned and defined, the right tactics will be selected and appropriately executed to accurately fire and to properly defend from attack. The project is fully implemented and tested with the results from battle with each of the twelve robots.
  • "The Robocode Project: Design, Implementation, and Impact " by Jeffrey Santos (CSC303, Spring 2010. Advisor: Dr. Xiang Fu, Committee: Dr. Gerda Kamberova and Dr. Chuck Liang).
    This report presents the design and implementation of the CrazyDestroyer robot in the Robocode system. It was designed to compete against a prebuilt robot named CrazyBot and to succeed 100% of the time. The targeting algorithm uses point sampling to predict future locations. The project is fully implemented and tested as designed. In addition, the pedagogical implications of the use of Robocode are examined. A sample project requirements timeline is presented as a modification of the one detailed here to meet the requirements of a secondary (9-12) classroom and the AP Computer Science curriculum.
  • "WallsKiller : Destroying the Walls Robot in Robocode" by Joseph Dembek (jdembe1@pride.hofstra.edu). (CSC303, Spring 2010. Advisor: Dr. Xiang Fu, Committee: Dr. Habib M. Ammari and Prof. Douglas Moody).
    This paper presents a project based on the Robocode programming game, where we have developed a strategy for defeating the Walls Robot. The robot studied, WallsKiller, is developed to battle one on one with the Walls robot. WallsKiller has a winning rate of 100%, a score of around 90% and a hit rate of 62%. The firing algorithms used in this game applies trigonometry and solves quadratic equations in order to calculate the trajectory of bullets. This project has been fully implemented and tested. We present the complete software engineering process that produces the robot.
  • "Overcoming the Walls: Building a Better Robocode Robot " by James Matias. (CSC300, Spring 2010. Advisor: Dr. Xiang Fu, Committee: Dr. Krish Pillaipakkamnatt)
    This paper presents a winning strategy in Robocode, a programming game. A robot named WallsKiller Robot is designed. When battling 1-on-1 with the Walls Robot that is initially included in the game, WallsKiller Robot can beat Walls with a consistent hit rate between 75% and 85%. This number climbs a bit higher when considering that many misses are the result of Walls being defeated before shots that have already been fired can hit it. The algorithm applies trigonometry and solves quadratic equations to accurately calculate the trajectory of bullets. The project is accomplished using a complete software engineering process from specification and design to implementation and testing.
  • "Design and Implementation of a Robocode Robot Capable of defeating WALLS" by Brian Pursley. (CSC300, Summer 2009. Advisor: Dr. Xiang Fu, Committee: Dr. Krish Pillaipakkamnatt)
    This paper describes the creation of a Robocode robot capable of beating the WALLS robot that comes with Robocode. A specialized firing algorithm is developed that takes into account the relative position, direction, and velocity of the enemy robot, uses trigonometry, and solves quadratic equations. With this algorithm, WallsKiller is able to achieve an average hit rate of 98.4 percent over the course of a 100-round battle. Finally, research is presented showing the effectiveness of WallsKiller in different configurations.
  • "Strategy Programming in Robocode Game" by Kimberly Pellechi. (CSC300, Summer 2009. Advisor: Dr. Xiang Fu, Committee: Dr. Krish Pillaipakkamnatt)
    This paper presents a winning strategy in Robocode, a programming game. The objective is to design an intelligent robot that can easily defeat the Walls robot coming with the Robocode game. We present an algorithm that can calculate the right angle to fire against Walls robot, which applies trigonometry and quadratic equations. A robot named Hulk (WallsKiller) has been successfully designed, implemented, tested, and deployed in a the Robocode system to achieve the objective.
  • "Portable Web Statistics Analysis System" by Raymond Cantwell. (CSC300, Summer 2009. Advisor: Dr. Xiang Fu, Committee: Dr. Krish Pillaipakkamnatt)
    This paper describes a powerful, reconfigurable, portable, and user friendly statistical analysis tool called PWSAS for web applications. PWSAS parses the Apache log file, extracts user access data, maintains the data using a back-end relational database, and analyzes and displays data using the Google Maps technology. Compared with related tools on the market, PWSAS is portable, i.e., it does not need root privileges to run and is easy to set up. This paper presents the design, implementation, testing, and deployment of PWSAS. The study also explains a new discovery that the author made on the user access pattern of two multi-media websites.