Undergrad Projects

Here is a list of the school programming projects from the Freshman year to the Senior one: From the basic calculator to the mind control…

CmpE492 Final Project

  • Ground Vehicle Navigation Using Wireless EEG (video)

CmpE493 Information Retrieval (C#)

CmpE434 Introduction to Robotics (Java)

  • All labs can be found in here.
  • Treasure Hunter autonomous NxT robot that wanders around in a 2-floor environment in order to gather as many treasures as it can within 20 minutes.

CmpE451 Software Engineering Project (Java, JSP, MySQL)

  • A web site in which the users can create/play social QR code games. Here is the google code page for that.

CmpE300 Analysis of Algorithms (C)

  • Implementing k-means algorithm in parallel C using MPI classes.

CmpE322 Operating Systems (C)

  • Implementing kernel module that prints running processes as a tree.

MA2821 Multi-agent Modeling of Complex Systems

  • Simulating the self-organized critical model; BTV Sand pile model in C++.

CmpE250 Data Structures and Algorithms (Java)

  • Discrete event simulator for a target tracking scenario using wireless sensor networks: There is a set of sensors which are distributed randomly or regularly. These sensors have a range of 60 meters to communicate each other. There is also a set of targets which are travelling to the 4 main directions with the velocity of 1 m/sec. One sensor can sense the target if the target is at most 30 meters away. We are given a map and asked to sense the targets and create packets for 3600 sec. By that time the main aim is to send the packet to the sink sensor, which is located in the right top of the map, using the shortest path through the sink. The user enters the width and the height of the map, number of sensors to be distributed and the distribution style in the console, we create the map with that number of sensors. We also read the targets’ initial positions from a file and assign the values. Moreover, every sensor has a buffer with a size of 10 packets. Each second a sensor can pass only one packet to its neighbour. If its neighbour’s buffer is full, it tries to send the packet for one more time, if it is not achieved, the packet will be dropped. We calculate the total number of the created packets and the total number of the dropped packets in this process.

CmpE260 Principles of Programming Languages (Prolog, Scheme)

  • Solving room assignment problem for the exams with Prolog and Scheme

CmpE 230 Systems Programming (C, Perl, C++ with Qt)

  • A simple web service client based on the libcurl library: Inputting a word on the command line, putting the input word in an xml document and send it to a server which returns the definition of the word in an xml document, extracting the definition from the xml document and print it on the screen
  • Developing a web server log file viewer using Perl. The program produces a KML file for viewing records associated with URLs matching a given pattern when it is run with a pattern argument. The KML file can be opened with Google Earth and dots occur on the world with associated IPs.
  • A simple ftp client interface with Qt.

CmpE 160 Introduction to Object Oriented Programming (C++ with OpenGL)

  • Creating student lists with linked-list structure
  • Creating and Displaying 3D geometrical shapes with OpenGL
  • Designing a scene with OpenGL

CmpE 150 Introduction to Programming (C)

  • A simple calculator for basic arithmetic operations
  • Maximum identical subsequence finder for given integer arrays
  • Word search puzzle solver