Top Banner
Department of Computer Science The University of Akron April 20, 2006 2 nd Annual Computer Science Da Poster Session
40

SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

Jun 20, 2018

Download

Documents

duongtruc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

Department of Computer ScienceThe University of Akron

April 20, 2006

2nd Annual Computer Science DayPoster Session

Page 2: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

WELCOME!WELCOME!

Thank you for coming to our 2nd Annual Computer Science Day poster session. We are excited to present over 70 students and 40 posters this year from five courses, independent study, senior honors projects and master’s thesis research. The idea of a poster session came from our sister department, Theoretical and Applied Mathematics. The concept was appealing and so we started a tradition that we hope will continue for many years.

Our students have worked hard and appreciate your participation, as you will see when you walk around and talk with them individually.

JUDGING PANELJUDGING PANELWe would like to extend our warm appreciation to our four judges. They have taken time out of their very busy work schedules to join us and participate in judging the posters. We hope that they remember our students and their efforts in putting together this event.

Jim Cossler Keith RupnikYoungstown Business Incubator Consultant

Chris Bolinger Earl BerrySummit Data Communications J. M. Smucker Company

WITH MUCH APPRECIATIONWITH MUCH APPRECIATION

Nothing happens in isolation, nor does one individual make such an event as this happen. We would like to thank everyone who helped in large and small ways, including Mrs. Peggy Speck for everything she does, which is too numerous to count, Colin Turner, Dr. Tim O’Neil, and all the people who helped with setup and tear down including the Student Chapter of the ACM. It was a pleasure working with everyone to make today such a success!

Dr. Kathy J. Liszka Dr. Wolfgang PelzEvent Coordinator Chair, Computer Science

Page 3: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

HALL OF FAMEHALL OF FAME

1st Annual Computer Science Poster SessionApril 21, 2005Prize Winners

Firefighting RobotJohn Perry, Mike Gill, Bob Miller

Mobile Robotics

DNA Sequence AlignmentBrett Cooper, Ryan Posgai, Amy Mathias

Introduction to Bioinformatics

Page 4: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

SENIOR SEMINARSENIOR SEMINAR

This course is taught by Dr. Timothy Margush. He covers professional software development, surviving “Mission Impossible” projects, computer ethics, intellectual property rights (patents and copyrights), and other current topics.

INTERACTING COMPUTERS THROUGH SPEECHJohn M. Perry

This project will focus on using the Microsoft Speech SDK 5.1 in the .NET framework to develop software that recognizes speech and provides some user interaction responding to commands and accepting answers to questions. The project will experiment with some different training techniques to see which obtains better results, and will also try to discover where the weaknesses are in current speech recognition capabilities.

GENETIC ALGORITHMS: AN IMPLEMENTATIONCurtis Bratton

My project is an implementation of a genetic algorithm in the form of an amoeba simulator. The amoebas have genes which determine their movement speed, aptitude for navigation, and appetite. These amoebas move throughout a 2D world searching for and consuming food, at the end of each generation the amoebas breed and create new amoebas by splicing and mutating the genes of the parent amoebas. The breeding selection process is based on the amount of food each amoeba is able to consume during it’s life.

As the simulation progresses the overall quality of the gene pool improves and eventually an amoeba with a perfect set of genes emerges.

On my poster I plan to give an overview of what genetic algorithms are, what type of problems they are used to solve, and an overview of the simulator itself.

ADAPTIVE REASONING IN ROBOTICSTim Reynolds, Jarod Rose

Creating an intelligent program can be a difficult task. Numerous algorithms have been developed in attempts to make computers smarter, with some success. When applied to mobile robotics these algorithms need to perform in a variety of situations and environments that can not be predicted ahead of time. Can and how they adapt are two questions that make mobile robotics programming a unique field in which algorithms are required to interact with and process a physical environment directly. Using an open source robot simulator, we will attempt to study the ability of specific algorithms to adapt

Page 5: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

to a variety of environments and situations. The algorithms themselves will be monitored for their qualities as well as shortcomings, including difficulty of implementation and overall performance in measurable categories. In particular we will be looking at creating a finite state machine, swarm intelligence, and a genetic algorithm to test on a simulator and document the results.

To test these algorithms we will be using a door and key based puzzles. The robots will have limited predefined knowledge of the game, knowing the relationship between a door and a key; however the robots will have to determine two things. First the robot will have to recognize what a door is. Since this simulator can’t define shapes for the robot we will be basing this off of color. Secondly the robot will have to find and acquire a key to open the door. This seems like a simple task but there will be multiple keys that can be acquired and multiple doors that can be opened. To test the fitness of the robots there will be antagonists that will attempt to stop the test robot from completing its task. These will also have a basic goal system so they can attempt to stop the test robot. The goal of these tests is to determine which of these algorithms will give a robot the ability to adapt and ‘learn’ about its environment, which is why machine learning is used.

BANDAID: MUSIC COMPOSITION & PLAYINGKevin Scheutzow

Any beginning or established musician can realize a need for software to compose and play music. The Java Sound API provides a solid base for creating such a program. BandAid provides a simple user interface for even a novice musician to create his/her own songs. This project focuses on object oriented design principles. BandAid encompasses much of the knowledge I’ve learned while at the University of Akron, including OOP, event driven programming, GUI, as well as the software process.

SUBMISSIONSMatt Kunkel

Computer Science students have been submitting programming assignments to their instructors for years; but to this day, there is no standardized method of submission. Currently, a professor may request that students copy their program to a floppy disk, or burn it to a cd, or even attach it to an email. Due to the ubiquitous nature of computers and Internet access, it is amazing that the submission of programming assignments has not moved to a web-based solution.

A web-based assignment submission system, integrated into the University of Akron’s current set of web-based services, could authenticate students, show each student’s courses, and allow each student to upload their programming assignments to a server. Most of the University of Akron’s web-based services already utilize a form of

Page 6: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

distributed authentication; this allows each student to have one set of user credentials that is used each web-based service.

This system could allow the instructor to create new courses, assign students to those courses, and add lecture notes and programming assignments to the course page. Instructors would then be able to determine if all of the students had submitted their assignments, as well as when each assignment was submitted and names, sizes, and types of the files submitted. Instructors could also assign graders to each course. This would facilitate in the grading of each assignment, and would be far more efficient and reliable than extracting files from email attachments.

My implementation of this system uses a MySQL database-driven web application written in PHP to track students, instructors, courses, and all other data. I feel this combination of technology leads to a reliable and highly accessible medium that facilitates the submission of assignments in an organized manner.

PROJECT MANAGEMENTJohn Rummell, Jared Frank, Nick Perkins

Team collaboration in projects is a vital part of running a development project. One aspect that is exceptionally difficult to combat is the physical distance that may separate the members of the project team. A solution is needed to centralize the access to project information and allow for collaboration between all involved parties in the process. Another problem is the ability for the project manager to assign task of various difficulty to the appropriately skilled developer.

Our Project Management Tool is an ASP .NET application that can handle multiple projects at a time. The tool utilizes a web based interface that allows users to be physically distant from each other. An administrator account is provided for system management and performs such tasks as approving user requests as well as creating projects. Each project has single project manager who assigns tasks to developers. Each task is rated based on its difficulty and each developer is rated on their skill. These metrics are then used to calculate the estimated complete time of each aspect of the project as well as the project as a whole. Lastly, there will be a customer user type that will allow the customer to check on these statistics and also interact with the product manager via the messaging system. All users will have access to a messaging system to allow for efficient collaboration between all parties.

This project will demonstrate Object Oriented design complete with UML and the software engineering process. Introducing our visitors to this development process will be our main objective in our display. We can also show other aspects such as examples of software used for testing, examples of .NET code etc.

Page 7: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

GAME DEVELOPMENT ON A SYSTEM WITH LIMITED RESOURCES(USING RAW CODE AND REUSABLE CODE APPROACHES)

Ryan Novak, Jim Neumann

The purpose of our project is to demonstrate methods of approaching game programming on a system with limited resources compared to the average PC, in particular lower CPU speed and smaller RAM capacity (and no virtual memory). The target platform for development was chosen to be Nintendo’s Game Boy Advance handheld. During development, the goals were split into two approaches; with Ryan’s core code mostly complete, the original approach of using raw memory accesses and simpler, faster code was maintained. Jim’s code, on the other hand, was modified to support a more library-like reusability approach. The basic reusable parts to the code include:

Loop Handler Sprite List Handler Collision Engine (very simple)

The poster will include some basic universal information about how memory is laid out in the Game Boy Advance, how the video system works, etc. There will then be a split, where one side will focus on Jim’s reusable code approach, with information about how his goals were implemented. The other side will do the same regarding Ryan’s code. Finally, each side will employ a Game Boy Advance handheld with the compiled code running off a flash cartridge, and a laptop will be placed in the center for more interactive documentation, and the code can also be run on the laptop using an emulator.

RSA COMMUNICATION SYSTEMAaron Luscre

This project consists of a peer to peer communication system, using public key encryption technology for authentication and transmission of data. The system consists of person to person chats, along with the ability to send other data such as images. All data sent through the system will be converted to cipher text prior to its transmission. In order to send data, it will first be encrypted using the pre-shared public key of the recipient. Sharing of public keys can also be managed by the communication system project. After the data is received by the intended client, it will be decoded using their own private key. This system of communication not only protects data in the process of transmission, but may also be used to verify the authenticity of of the sender's data.

This project is an implementation of the RSA public key encryption algorithm. This algorithm involves creating long encryption keys using large prime numbers. RSA has been shown to be a very secure method of encryption and signing as long as the key is sufficiently long. This project implements such keys in order to ensure a high level of actual security. Encryption of both text and data being sent over a public network may be useful in any number of situations. This project provides for these needs in an easy to use graphical interface that is trivial to set up and use for the end user. Limited interface

Page 8: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

capabilities have also been included for use with AOL's Instant Messenger network. This allows communications to be sent over the instant messenger network, using the interface program developed for this project.

A BASIC STUDY IN A MMORPGHarlan W. Frerking III, James Moore

We did a basic study in what goes into a MMORPG. The project was designed by us to cover what we didn’t learn in class in regards to network and game programming. This project is done in C#.NET using MySQL as a storage medium. It demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets and TCP streams, reflection, multi-threading and thread handling, and object layer abstraction. We also included some of the appropriate UML as part of our designing the project.

A MULTI TIERED APPLICATIONJoe Duke

A Multi-Tiered application is a computer application that has multiple programs, each of which can run on separate systems. This project uses this approach to create a grocery shopping list generation system. This system includes both a Web and a Palm Pilot user interface. The data that is collected is stored in a SQL database.

The Web interface is the user’s primary interface to this system. The general flow of the data entry into the system is as follows: First the user enters their favorite recipes into the system. Next, the user selects the recipes that he or she wishes to cook in the near future. The system then generates a printable list of the grocery items needed for the recipes. Additional Web features have been added to give the user a better grocery shopping and planning experience. The additional Palm Pilot user interface allows the user to download a shopping list to their Palm Pilot and use this in place of the printed list.

MAKING TECHNOLOGY ACCESSIBLE TO PEOPLE WITH DISABILITIESMichael Gill

My project will present a laptop administered survey utilizing video, audio, and text-to-speech technology to allow those with physical disabilities, including the blind, to interact with and navigate the program. I will review accessibility to software for people with disabilities according to the U.S. Federal Section 508 of the Rehabilitation Act and its guidelines for software accessibility. And I will also explain the requirements of the standards as they relate to software design including website design.

Page 9: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

MOBILE ROBOTICSMOBILE ROBOTICS

This course is taught by Dr. Wolfgang Pelz. Students learn about the variety of types of robots, locomotion and sensors. The theories and algorithms presented in the course are applied to real robots so that students can understand the difficulties associated with real-time applications. 

ROBOTIC NAVIGATION WITH RFIDBranden Archer, John McGonnell, Nathan Danals, Shannon Whalen

Radio Frequency Identification, or RFID, is a fast emerging technology. New uses for this technology are emerging daily. In robotics, a common use for RFID is in navigation. Our project demonstrates this use for robotics.

Our implementation includes using a higher level co-processor to interface with the BasicStamp2 processor provided with the Arrick Arobot. The AVR Atmega16 gives us a faster processor in which to process our tag input and actions, as well as provide more space for code and other things such as sound files. The AVR processor interfaces with the BasicStamp2, using a custom communication protocol, by giving it commands to control our speed and direction. The AVR processor also interfaces with an NES remote and LCD screen which allows the user to choose a program to run and receive output to the screen. In addition to the RFID search program, there are other fun programs to entice the passers-by to play with our robot.

The main program, the RFID search program, allows the user to select which tags to find. The robot will then wander around its bounded area and “search” for the tags it has been tasked to find in the order they appear in the index table. For instance, if the user specifies to find the tag numbers 2, 4, and 6 it will find them in that order. If it encounters tag 4 before it finds tag 2, it will pass it by and come back to find it later. This behavior demonstrates how a robot will take tag information and be able to perform an action associated with it, know its current location or follow a pre-designated path.

A-ROBOT: DOG, CAT, AND MOUSE SCENARIOBrian Wood, Matt Kunkel, John Rummell

This A-Robot is equipped with an RFID Sensor. Multiple objects in the environment are configured as either “Dogs” or “Mice.” The A-Robot reacts to these objects as a Cat might. It runs from “Dogs” but pounces on “Mice.”

Page 10: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

A STUDY IN DEAD RECKONING WITH ROBOTICSBrett Cooper, Rob Heinen, Bob Kocisko, Michael LiCause

The purpose of this project was to build and program an off the shelf robotic kit to be able to draw simple lines and shapes on a sheet of paper. Software for both the robot and an IBM compatible PC was written to accomplish this goal. The GUI and path planning software were written in C#. A user will be able to draw lines and simple shapes on a PC with a predefined available drawing area. Instructions will then be sent to the robot telling it what to draw.

The ARobot by Arrick Robotics is the starting point for our robot platform. This robot has three wheels, one front drive wheel and two rear wheels used for steering. Out of the box; the ARobot kit only has two cat whisker sensors and is controlled by the BASIC Stamp 2 microcontroller. The BASIC Stamp 2 is programmed using the PBASIC language. Additional hardware such as an apparatus to hold a marker and allow the robot to lift and lower the marker has been added to the basic design.

WAREHOUSE PICK-BOTLoren C Fortner, Carmen Roscoe, Curtis Bratton, CJ Lynce

Robots can quickly and accurately do many routine or boring jobs for us. Programming a simple Arobot to traverse a warehouse, going to the bin needed and back to the goal, will show the ability to increase productivity by picking stock for orders in factory warehouses and other applicable applications. The difficulty with having a fully automated warehouse is cost, downtime, reliability and change from the old to the new ways. Every company tries to keep supply chain costs as low as possible in order to be competitive in the market. An automated warehouse is one way of increasing productivity in warehouses. Part of this problem can be solved by making a module of a simple warehouse and creating a way for a robot to navigate threw it. With the help of RFID tags, the Arobot is able to navigate the warehouse going to the bin needed and arriving back at the goal. There are more problems to be solved then just traversing the warehouse in order to automate any warehouse, but it can be done. Further research would need to be done to determine cost vs. productivity.

Page 11: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

AURAL RESPONSES IN THE AROBOTJarod Rose, Mingjian Si, Matthew Bungard

There are a variety of sensors that a robot can use to view its environment. A few examples of types of sensors include, infrared, light, and sound. Our experiments are going to focus on the sound sensors. The more common form of a sound sensor comes in the form of a sonar sensor. This device works by sending out a sound wave and measuring the time that it takes to return, calculating distance from this measurement. This device is simple to implement and produces predictable results. We will focus only on receiving sound. In particular we will equip a robot with a microphone and a frequency converter in attempts to make the robot dance to music.

To implement this we will have the robot receive the frequency from the music, translate that into a format readable by the processor of the robot, then the robot will move in a predefined motion based on the signal it receives. The purpose of this experiment is to analyze the varying frequencies of music and attempt to make the robot respond in a manner that would be considered dancing. Of course, being able to move with the beat and the frequency would be able to produce a more lifelike appearance, but that extends beyond the scope of the ARobot’s capabilities without extensive modifications. The circuit that the ARobot will use to detect varying frequencies works by monitoring the changes in the voltage produced by the microphone. This change is then amplified and sent to an analog to digital converter that translates the voltage into a binary number. After constructing this circuit, we found that the greatest challenge was to make the hardware meet our needs.

Page 12: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

INTRODUCTION TO BIOINFORMATICSINTRODUCTION TO BIOINFORMATICS

This course is team taught by Dr. Zhong-Hui Duan and Dr. Moore from the Department of Biology. They introduce major themes in bioinformatics. Topics include concepts of molecular genetics, biological databases, database searching, sequence alignments, phylogenetic trees, structure prediction, and microarray data analysis.

PHYLOGENETIC ANALYSIS USING PARSIMONY (PAUP)Ben Stewart, Justin Pennington, Mihir Sewak,

Pratibha Chapagain, Saket Kharsikar, Tom Fister

The aim of this project is to study the software PAUP (Phylogenetic Analysis Using Parsimony) and exemplify its application by making use of a phylogenetic analysis problem, details of which are mentioned below.

PAUP is a program for inferring phylogenies from discrete-character data under the principle of maximum parsimony. Parsimony methods search for minimum-length trees. This concept is utilized in generating trees of taxa with the least evolutionary changes as possible. PAUP has many features, including:

1. A wide array of techniques of tree construction, using UPGMA, WPGMA, neighbor joining, neighbor-interchange, etc.

2. An equally wide array of search techniques using principles of heuristics.3. Ability to predict possible evolutionary changes using consensus based

methodologies to estimate probabilities.

The usage of the software will be exemplified by an analysis to determine whether RNA editing creates a biasing when generating a Phylogenetic tree of the Hornwort clade. The problem under study is one in which a genus of Hornwort namely Liesporocerus, which does not edit the gene and ends up falling outside of the Hornwort clade after performing a Phylogenetic Analysis.

The analysis will be carried out using PAUP. The following features of the software would be demonstrated:

1. Bootstrapping and Jackknifing2. Majority rules based consensus building

The PERL programming language will be used to code a few supplementary modules, which would aid our investigation. The modules are as follows:

1. A module to create a file containing sites that are informative within the Hornworts and are edited

Page 13: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

2. A module to write a .PAUP file from the .DAT files which contains the tree information.

POLYMERASE CHAIN REACTION SIMULATIONAlicia Carosielli, Scott Collier, Aruna Kodali, Mike Potesta

This project is a computerized simulation of the polymerase chain reaction, or PCR. The polymerase chain reaction is a method commonly used to amplify specific DNA sequences.

SIMULATION OF PCR USING PERLAsim Ahmed, Mike Cheung, Chip Dawes, Will Dudziak, Josh Fatica, Carmen Roscoe

PCR is the method by which DNA is replicated (amplified) in a laboratory process. This amplification process is used in amplifying crime scene evidence, cloning, and dna sequencing. To analyze this process statistically, we have created a program written in PERL.

BIOINFORMATICS: PROBABILISTIC PCR SIMULATIONAndy Bonecutter, Jason Choi, Jon Lee, Mike Richter

Modern DNA sequencing relies heavily on our ability to replicate individual DNA strands en masse in the laboratory. This process of replication is realized by a temperature-driven reaction called: Polymerase Chain Reaction (PCR). Biological reagents are mixed together and then processed over the course of a couple hours in thermocycler. For the reaction to occur correctly (where the number of copies of the desired DNA segments increases exponentially), the correct reagents must be present and in sufficient quantities, the temperature must be controlled precisely, etc. Our simulation divides the reaction time into a number of slices, assigns a probability to each major molecular event that can occur during that time-slice, and then evaluates the results of those events.

Page 14: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

COMPUTER NETWORKS AND DISTRIBUTEDCOMPUTER NETWORKS AND DISTRIBUTED PROCESSINGPROCESSING

This course is taught by Dr. Xuan-Hien Dang. Students learn about interconnection technologies, protocol layering models, datagram and stream transport services, client-server paradigm, principles and protocols of interconnected networks operating as unified systems, and TCP/IP technology.

PEER-TO-PEER SECURED FILE TRANSFER AND CHAT COMMUNICATIONKrishna Kanth Rayasam, Venkata Yedida, Rohit Matety

Resource distribution on the present day networks uses various service architectures ranging from client-server to fully distributed. Traditional client-server paradigm has so many problems like single point failure and server has to maintain state of each and every client connected to it. Rapidly developing Peer-to-Peer applications such as Gnutella, Napster and Kaaza indicate many potential benefits. Peer-to-Peer resource distribution provides more resilience and higher availability through wide-scale replication of content at large numbers of Peers. Also the resource distribution must be secured from all kinds of network security threats. The project is to implement a p2p secured File sharing along with a chat communication. The architecture chosen is a hybrid of Client-Server and a Pure P2P.

Implementation Objectives: Design and Create a good GUI for the chat communication and File Transfer. Implement network security for the file transfers. Design and implement the registry server.

Page 15: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

PACKET SNIFFERKomali Uppugandla, Varsha Mandyam, Preethi Srinivasamurthy

Sniffer is a program for capturing and analyzing packets transmitted on a network.It can monitor all traffic over the network including the packets not addressed to the chosen computer. It is also extensible with plug in for different protocols such as IP, TCP, and UDP etc

A Packet Sniffer is also called as "protocol analyzer" since it can decode the computer traffic and make sense of it. Sniffer program sets the network adapter in promiscuous mode(setting a network card so that it passes all traffic it receives to the CPU rather than just packets addressed to it.) which enables the Network Interface Card to listen to the data traffic. It provides an analysis of packets captured by packet size, protocols packet types and application etc.

IMPLEMENTATION OF PEER TO PEER COMMUNICATION IN A FIXED NETWORK WITH SECURITY

Prashanth Reddy Modugu, Naresh Muniganti, Uday Seelam

Implementation of a peer to peer communication model. A tracking system is developed to keep track of all the clients which are connected. File sharing application is developed in which a user can exchange files with the other users in the network. All the files are encrypted before transferring and decrypted after the transfer using a shared key.

DATA SECURITY OVER A NETWORK USING RSA ALGORITHM.Aditya Anne, Kalyani Anumalla

The objectives of data security are to prevent eavesdropping to get access of data and, in case data is stolen, make it difficult to understand the stolen data. These objectives are met through different approaches of data security. In data communication among computers, logical techniques are employed. These techniques include coding methods, spread spectrum, cryptography and digital signature.

This project implements secure transmission of information in a client server environment. In this environment when data is passed over the network in the form of a file, it is vulnerable to be accessed by anyone else on the network. Such a file can be read or modified by unauthorized users. So the problem is to implement a system in which the information can be sent securely over the network. Even if the file is in the possession of any unauthorized user, they should not be able to view the contents of the file. A system like this is needed to protect the files from being accessed by anyone else other than the sender and receiver.

Page 16: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

Design and Implementation of Data Security over a Network using RSA (Rivest Shamir Adleman) algorithm deals with cryptography. Cryptography is a method of mathematical encoding used to transform messages into an unreadable format in an effort to maintain confidentiality of data. In public key cryptography, each user has a public key and a private key. The standard cryptography algorithm used for this project is RSA.

OPEN CHAT SERVER WITH FILE SHARING ABILITIES AMONG AUTHENTICATED USERS

Pawan Seth, K M Asif

The idea of meeting at one place where people from different parts of world can interact with each other, share their ideas & work on a particular subject of interest is getting very popular. In this era of Information technology we can create a virtual place where people from different places and time zones can interact and share their ideas.

With this as the mainstream theme set in our mind we plan to build an Open Chat Server with File Sharing Abilities among Authenticated Users. We are planning to build an application where we are going to integrate a chat server with a file sharing tool which will allows only authenticated users to communicate with the other users in the group and share files among them. Users can login and access this application through an authentication process. This is a GUI (Graphical user interface) based chat application interface which will only allow authenticated users to share their ideas in a real time environment. Users can also upload and download the files which are stored on the HTTP (Hyper text transfer protocol) server through a file sharing tool. The information about these files will be stored on Database server. So in this way user will first interact with Database server which maintains the information about each and every file stored and then they will be directed to upload or download the file from the HTTP (Hyper text transfer protocol server. We are planning to use PHP because it is open source, platform independent, it runs on web browsers, and it is one of the popular language which supports network APIs very well.

CACHING OF XML WEBSERVICESElizabeth Joseph Thomas, Senthilnathan Doraiswamy, Subha Rudraraju

In this project we are trying to cache a XML web service using ASP.NET, thereby making use of its rich built in cache support. We are mainly interested in the ASP.NET output caching and we would be evaluating on how effectively it enhances the performance or at least offer the perception of enhanced performance.

Page 17: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

IP TRACEBACKSwathi Kasireddy, Sowjanya Duvvuri, Ramya Sri Perubhotla

The project is about being able to trace IP packets through the Internet from the destination to the source. The basic objective is to describe a technique for tracing anonymous packet flooding attacks in the Internet back tward their source. Various Denial of Service-causing exploits can cause server-running software to get confused and fill the disk space or consume all available memory or CPU time. The Traceback problem is to identify the machines that directly generate attack traffic and, the network path this traffic subsequently follows. Our project tries to give a solution for this kind of network flooding with lots of IP packets. We design a kind of security program that is activated immediately it receives a packet from the network on the host system and keeps track of time. If the same or similar kind of packets are being flooded on to the system within a less space of time, then the program starts the brute force method, that is track down each and every network hop the packet has been through because the actual source of the packet is “spoofed”. We plan to generate a spoofed server that bombard packets on to the destination server to check the working of our program.

Page 18: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

PARALLEL PROCESSINGPARALLEL PROCESSING

This course is taught by Dr. Kathy Liszka. Students investigate new paradigms of computing and models of parallel computation. Advanced parallel algorithms are studied and compared for computational speedup and efficiency.

SUDOKU IN PARALLELDarshana Puttarudraiah

Sudoku, also known as Number Place, is a logic-based placement puzzle. The name Sudoku is the Japanese abbreviation of a longer phrase, "suuji wa dokushin ni kagiru" meaning "the digits must remain single"; it is a trademark of puzzle publisher Nikoli Co. Ltd in Japan. The aim of puzzle is to enter a numerical digit from 1 through 9 in each blank spaces of a 9×9 grid made up of 3×3 subgrids or blocks, starting with various digits given in some cells. Each row, column, and block must contain only one of each digit.Each Sudoku has a unique solution .The puzzle can be solved with reasoning and logic. Depending on the skill and experience of a person, solving time is typically from 10 to 30 minutes. The Sudoku puzzle can be solved in parallel on a cluster using an algorithm. The parallel algorithm is implemented using a master-slave approach in MPI and algorithm analysis is done.

PARALLEL ALGORITHM FOR IMAGE ENHANCEMENT AND SEGMENTATION

Gaurav Garewal

The project is based on efficient and portable implementations of a useful image enhancement process, the Symmetric Neighborhood Filter (SNF), and an image segmentation technique, which makes use of the SNF and a variant of the conventional connected components algorithm, which we call Connected Components.

BENCHMARKING OF MPI CLUSTERSSubha Rudraraju

In this project I am trying to find the performance of cs and math clusters. Mpi is a machine independent standard that allows us develop parallel programs on clusters. By using a tool called Skampi I want to measure the performance of different mpi functions on our clusters. What is Skampi? The SKaMPI-Benchmark is a suite of tests designed to measure the performance of MPI. MPI (Message Passing Interface) is a machine independent standard to provide an efficient interface to message passing libraries of different parallel machines. Performance analysis is done on the results given by the benchmarking tool.

Page 19: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

The results helps us to find which functions are performed more efficiently on our clusters. So when we write programs on these clusters will use these functions more to improve the performance of our program.

Skampi measures for 1) Point-to- Point Pattern 2) Master-worker-pattern 3)Collective-pattern 4)Simple-pattern

It also gives different comparison results like comparison of MPI _Send-MPI _Recv and MPI_Isend-MPI_Recv etc. I then do an analysis on these results by presenting then in graphical format.

CLUSTER-CLUSTER: A PARALLEL APPROACH TO CLUSTERING LARGE DATASETS

Michael E. Richter

Clustering techniques are a type of unsupervised learning that allows relationships to be discovered in potentially vast multi-dimensional datasets. One considerable difficulty associated with clustering is a non-trivial time-complexity of associated processing. This problem is compounded as databases and data warehouses continue to grow in size. As processor manufacturers reach hard physical limits in terms of individual processor speed, increasingly efficient computational systems must embrace parallel processing. This project addresses the taxing computational requirements of k-means clustering of large datasets by employing a multi-level parallel design.

ARBITRARY SIZE PARALLEL SUDOKU CREATIONWilliam Dudziak

Creating large sudoku puzzles is a process that involves an extremely large degree of tree exploration. I present a method to parallelize this operation along with some some statistics and examples of large sudoku puzzles that have been discovered using my approach.

Page 20: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

A COMPUTER AIDED APPROACH TO SOLVING THE RUBIK’S TANGLENeha Choudhary

Rubik’s Tangle is a tile puzzle that was originally sold around 1990. It comprises of 25 square tiles arranged to form a 5x5 square with matching edges. Each tile is square, and shows four ropes of different colors so that each rope connects two sides of the square, and each side has two ropes leading to it. All the tiles have the same rope pattern and use the same four colors, though the color arrangement usually differs. When laying tiles next to each other the ropes connect up, but you should only connect ropes of the same color. The project demonstrates a computer aided approach to solving the Rubik’s tangle using a master/slave parallel processing approach and offers benchmarks against traditional sequential implementations.

PARALLEL HIERARCHICAL CLUSTERING OF WEB USAGE DATAAparna Konduri

Internet and the World Wide Web is the heart of communication across the world. Many organizations rely on the Internet and the World Wide Web to conduct business for day-to-day activities and generate/collect large volumes of data. Most of this information is usually generated automatically by Web Servers and collected in server access logs.  Analyzing such data can help these organizations to determine the life time value of customers, cross marketing strategies across products, and effectiveness of promotional campaigns, among other things. Analysis of server access logs and user registration data can also provide valuable information on how to better structure a Web site in order to create a more effective presence for the organization. As part of my study, I have chosen to analyze the web log data from University of Akron's website using the popular  hierarchical clustering technique. This technique groups similar objects into clusters by iterating through data and computing inter-cluster dissimilarities at each step. Parallel implementation of the algorithm can prove very effective by reducing the cost of each iteration from O(n2) to O(n). It will be compared with existing Sequential implementations to demonstrate the speedup.

Page 21: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

ANALYSIS OF ALGORITHMSANALYSIS OF ALGORITHMS

This course is taught by Dr. Zhong-Hui Duan. Students explore the design and analysis of efficient algorithms for random access machines and the derivation of pattern classification algorithms.

ASYMPTOTIC ANALYSIS OF SORT ROUTINES IN AN IMAGE FILTERDavid Sheets

This poster demonstrates the asymptotic analysis of insertion, quick, and counting sorts as they apply to an image filter. In order to demonstrate the relative growth of each sort, the filter routine processes a window around each pixel of a PGM file, sorting and extracting the median to generate the corresponding pixel in the filtered image. Methods of improving sorts are also discussed. Asymptotic analysis and empirical data are presented along with before and after images.

Page 22: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

VISUALIZATIONVISUALIZATION

This class is taught by Dr. Yingcai Xiao. He has recently acquired a very special piece of high tech equipment called a Haptic Interface and decided to incorporate into the curriculum immediately. The students are excited and worked hard to accomplish something to show today.

A THREE DIMENSIONAL MOUSE WITH FACE FEEDBACKPrashant Anantha Krishnan, Sunil Derasriya

With the advancement of virtual technology it is evident that the world of computers is attempting to imitate the real world. One of our primary interfaces with the physical world is our haptic sense (sense of touch). A Haptic Interface is a device which allows a user to interact with a computer by receiving tactile feedback. Haptic Interfaces enable person-machine communication through touching a stylus or a pen, and most commonly, in response to user movements. A Haptic device achieves this feedback by applying an opposing force to the user’s hand. Haptic devices can be used to conduct virtual surgery, remote robotic arm control, clay modeling and 3D painting, among other applications.

Page 23: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

SENIOR HONORS PROJECTSENIOR HONORS PROJECT

Every Honors College student must complete a senior honors project that must meet high standards of scholarship. We are proud to have two students from the Honor’s College graduating from our department this spring.

P2PCHAT: A DISTRIBUTED INSTANT MESSAGING CLIENT WITH AUTOMATIC DETECTION ON SUB-NETWORKS

Thomas McFarland

Advisor: Dr. Kathy Liszka

Using a distributed peer-to-peer design an instant messaging program was created to improve communication with nearby neighbors through technology. It is based upon a true peer-to-peer network with automatic detection on subnetworks through the use of multicasting. A graphical user interface allows for ease of use for even the simplest of computer users. The major technologies showcased were the Java programming language, multicasting, socket programming and GUI interface design.

A FRAMEWORK FOR OBJECT RECOGNITION USING GENETIC ALGORITHMS

Bob Kocisko

Advisor : Dr. Chien-Chung Chan

Object Recognition within images is already a relatively old field, as computer science goes, which has seen many rapid improvements in the last few decades. Many of its simple tasks, such as edge detection, are well understood, documented, taught, and optimized. However, the more complicated tasks of the field, such as effective “computer vision,” are still developing. There is much difficulty in attempting to make computers interpret what they are sensing with an effectiveness that comes anywhere close to that of human vision.

The framework that has been proposed takes an unconventional approach to object recognition. Most existing applications pre-process an image to separate its objects and then use pattern recognition techniques to identify those objects. Using genetic algorithms, the preprocessing step can be avoided since the algorithm attempts to ‘fit’ known objects onto the image and then analyzes the results based on the entire image. This approach is simple, flexible, and can be extended to many types of objects. Experiments with 2-dimensional images have shown good results in identifying simple objects, and have provided hopes that more complex derivatives of this framework will be successful as well.

Page 24: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets
Page 25: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

MASTER’S THESIS RESEARCHMASTER’S THESIS RESEARCH

DESIGN AND IMPLEMENTATION OF DATA ANALYSIS COMPONENTSGrace Shiao

Advisor: Dr. Chien-Chung Chan

Many features of modern database systems facilitate the decision-making process. Recently, Online Analytical Processing (OLAP) and data mining are increasingly being used in a wide range of applications. OLAP allows users to analyze data from a wide variety of viewpoints. Data mining is the process of selecting, exploring, and modeling large amounts of data to discover previously unknown patterns for business advantage. Microsoft® SQL server™ 2000 Analysis Services provides a rich set of tools to create and to maintain OLAP and data mining objects. In order to use these tools, users need to fully understand the underlying architectures and the specialized technological terms, which are not related to the data analysis. The complexities in the development challenges prevent the data analysts to use these tools effectively. In this work, we developed three data analysis components, which can be used as the foundation in the analytical applications. Using these components in the software applications can hide the technical complexities and can provide tools to build the OLAP and mining model and to access data information from these model systems. Developers can also reuse these data analysis components without coding from scratch. The reusability of these components enhances the application’s reliability and reduces the development costs and time. The data analysis components were also applied to a case study of a heart disease database. The implementations of the case study are used to illustrate the advantage of these data analysis components.

Page 26: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

INDEPENDENT STUDYINDEPENDENT STUDY

We offer Independent Study when an opportunity arises for a student to work on a topic in depth and one on one with a faculty member in a very specific area of Computer Science not addressed in our regular curriculum.

SYMBOLIC DISTRIBUTED THREE-DIMENSIONAL COMPUTER-AIDED DESIGN OVER THE INTERNET

Tim Reynolds

Advisor: Dr. Yingcai Xiao

This project presents a framework for collaborative 3D computer-aided design over the Internet. The framework separates the static and dynamic properties of the design objects and symbolically represents the static properties. By only transmitting the changing dynamic properties over the network, this SD3DCAD (Symbolic Distributed 3D CAD) framework significantly reduces bandwidth requirement of the network and makes real-time interactive collaboration of 3D design feasible over limited bandwidth. Using the MVC (Model-View-Controller) architecture, the framework allows each collaborating designer to control the designer’s own viewing orientation of the 3D design space. The SD3DCAD system has been implemented using the Java programming language and Java3D API to allow for a rich experience across a number of platforms.

JUST BECAUSE…JUST BECAUSE…

Our final poster is from one of our students who did some interesting work in the field of Computer Science not directly related to a class. This tells us that students see the value in sharing their ideas and enjoy showing their talent to other students, faculty, University community, and industry visitors.

TALK TO GOOGLE !D. Shanmuga Sundaram

The Poster is about my software which I wrote for Google. It was a freelance development I did for Google. The software is a plugin for Google Desktop Search. With this software you can query the Google with your voice. Just take the mic and talk to Google to do searches !

Google has officially recognized the software and has posted it in their official plugin pages. This is the first Voice Plugin in the World for Google Desktop Search !!

Page 27: SENIOR SEMINAR - Computer Science : The University … · Web viewIt demonstrates using C#.NET to do things such as interact with a database, communicate with clients using sockets

The official link is http://desktop.google.com/plugins/i/gtalksearch.html .