This is an archive of the site as it was in May 2009. Please go to www.rajeshgoli.com/ for latest content.

VTU Projects - Description

This page lists all the engg projects, engineering project reports, mini projects and microcontroller projects that were undertaken as an engineering student's academic projects. All of these are one of computing projects, computer engineering projects or information technology projects (IT projects). A few of them may be worthwhile for you to explore as final year project ideas as some of them ARE final year students' projects. In any case these are strictly my (or a few of my friends') projects done when we were students out of academic interest or for fun and not for profit. The difference between this page and the projects page is that this one lists all projects that were strictly academic students' projects done as per requirements of our university, the Visveswariah Technological university, VTU for computer science and engineering (and some for information technology (IT) engineering.

The following projects are available for download:

  • 8th Semester - Project Work - Integration of a Light Weight TCP/IP Stack with a HTTP server for an 8051 microcontroller used for Remote Data Access
  • 7th Semester
    • Networking Project - RNF (RNF is Not Flashget) - A download manager
    • Project using Graphics capabilities of Java - Polygon morphing and Quake II Model Animation - Demonstration of polygon morphing and its applications
    • CGI Project - E-Auction - Electronic Auction
  • 6th Semester
    • Mini Project (Project work) - Face Recognition using Neural Networks - Biometric security system
    • 2D Graphics Editor (Raster graphics package) - R H Factor - A MS Paint clone
    • 2D Graphics Editor - Banna - A 2D graphics editor - By Rajashekhar M A and Pavan V A
    • Database Project - Exam Section Automation - An Attempt to automate examination section of BMS College of Engineering.
  • 5th Semester
    • Text editor using ncurses - Phaser - A buggy but feature laden text editor for linux
    • Text editor using ncurses - Text Editor for Linux - A feature laden editor with small code footprint - By Harish D
  • 4th Semester - BCS Lab (Powerpoint presentation) - Holographic Data Storage Systems - The future of data storage systems.

Programs - VTU Projects (10)

1. Implementation of TCP/IP Stack and HTTP server on 8051 microcontroller

Authors: Rajesh Goli, Harish D, Pavan K Rao

This microcontroller project was our final year project, the last of my engg projects. We were fortunate to have gotten our final year project idea from an esteemed faculty member of Indian institute of science.

This project is officially called "Integration of a Light Weight TCP/IP Stack with a HTTP server for an 8051 microcontroller used for Remote Data Access". The objective of this project is to design and implement a TCP/IP stack and a HTTP server for an Intel 8051 microcontroller. The requirements of this project being that the micro controller must be able to be accessed through the Internet via HTTP, thus enabling us to monitor the working of the micro controller from a remote location. The project was completed as part of 8th semester B.E. course. This project was completed under the guidance of Dr. R Bhaktavatsalam, SERC, IISc, Bangalore.

View - Download - Executable - Screen Shot

2. RNF (RNF is Not Flashget)

Authors: Rajesh Goli, Harish D

RNF was a computing project or an academic project that we did during our final year. One of the last of my engineering projects.

RNF is a download manager. It splits the file to be downloaded into parts and downloads the parts in parallel. It uses the Berkley sockets API to create TCP connections with the server. The program itself is composed of ten worker processes per download and one supervisor process to report status. The lower layer abstractions are encapsulated in objects. Higher level program abstractions make use of these objects. The project was completed as part of 7th semester B.E. course.

View - Download - Executable - Screen Shot

3. Polygon morphing and Quake II Model Animation

Authors: Rajesh Goli, Harish D

This is one of the computer science project that is of academic interest. It is one of those academic projects where we had opportunity to be creative about our project topic and come up with our own project ideas. We did some brainstorming and used two project ideas to create one computing project.

The project exploits graphics capabilities provided by the Java language. It has two parts. In the first part, the project demonstrates application of linear interpolation technique to morph between two polygons. The second part demonstrates a practical application of polygon morphing. This is done by animating a set of Quake II models. The linear interpolation algorithm is applied to create smooth transitions between key frames of models. This project was done as part of 7th semester B.E. course.

View - Download - Executable - Screen Shot

4. E-Auction

Authors: Rajesh Goli, Harish D

As budding engineers' projects go, this is another engg project of academic interest. It was a mandatory computer science project that made use of web technologies. Hence, not much creativity in terms of project topic selection. However this information technology project is a ebay wannabe. So it isn't easily written off ;)

E-Auction is a dynamic database driven site. It is an auction site, where users can put items for sell, buy items, manipulate items they have put on sale etc. It consists of dynamic pages written in perl (using Common Gateway Interface). It has some rudimentary session management features. The project was completed as part of 7th Semester B.E. course.

View - Download - Executable - Screen Shot

5. Face Recognition using Neural Networks

Authors: Rajesh Goli, Harish D, Sandeep Hebbar

This too was an academic computer engineering project that was supposed to be a mini project. However, the idea I think was very well of the caliber of final year project ideas. We started off with an ambitious idea to create engg project that final year students would envy ;) and did largely succeed in creating one.

This was a project is a part of a Biometric security system. It can be given a face in real time and it tries to match the given face to a face in the database. It was done in a 3 people team of which I was a member. It used neural networks for the pattern matching. It used Win32 API to create frontend, TWAIN framework to aquire images from a digital camera. It was coded completely in C++. You can download the windows installer of the project sans the source code. The installer is 3.77MB.

PS: I've removed the project link due to privacy reasons (the images used for recognition belong to our friends and relatives). I may still allow you to get access to it sans the photos, if you really need it. I am not at the moment giving out the source code

View - Download - Executable - Screen Shot

6. R H Factor

Authors: Rajesh Goli, Harish D

When forced to do similar academic computer projects for students, project ideas tend to lack creativity. This mini project was one such casualty, while still a nice information technology project, this one was effectively M S paint clone for DOS.

This is a Graphics editor for DOS. It was designed as per syllabus prescribed by VTU for completion of VI Sem. It is completely coded in C++ with elegant Object Oriented Design. It has the following features. It was made to resemble MS Paint bundled with Windows XP :

  • Cut, Copy, Paste a selected region
  • Undo, Redo upto 25 operations ( is a compile time constant )
  • Resize, Rotate and Clip ( Clear ) Options
  • Windows XP Style interface
  • 256 Color mode operation
  • Support for PCX file format
  • Drawing support for Spiral, freehand, line, bezier curve, Polygon, Text, Ellipse, Rectangle, Brush and Spray Paint
  • Supports picking background and foreground colors

The project requires fastgraph graphics library. It can be downloaded from www.fastgraph.com. It is extremely powerful library and allows 256 color mode in DOS. It is far more versatile than TC++ Standard BGI interface.

View - Download - Executable - Screen Shot

7. Phaser

Authors: Rajesh Goli

This is one more of academic engineering project that our esteemed university in all its wisdom decides that all of us had to do. This is one of those student projects that all of us did. Thankfully, we were allowed to be creative about our project ideas in other times including the final year.

This is a light weight ncurses based text editor. Phaser was coded and tested almost exclusively on Linux. Though the backend and Interface layers were tesed and worked fine under Visual C++ ( Windows ) system , the frontend which heavily depends on curses is non-portable. It was designed as per syllabus prescribed by VTU for completion of V Sem. Though curses is basically a C style library, phaser is almost completely coded in C++ with elegant Object Oriented Design. It has the following features :

  • Mulitple Window support
  • Word Wrap Support ( Not character wrapping )
  • Onscreen Left and right margin changing support ( you dont fiddle around with numbers for margins )
  • Undo Redo Support
  • Cut Copy Paste
  • Tabs that indent properly , not just insert spaces
  • Find , Find , Next , Replace , Replace Next
  • Insert Line , Insert Word , Delete Line , Delete Word
  • 3D looking buttons
  • Continual time display ( Using a thread )
  • Forms using insert mode
  • Standard Insert and Replace Modes
  • Option for saving the file with alignment ( as produced by margins )
  • Crash recovery program . ( executed automatically if you use script "./Edit" that is provided as a part of standard distribution )

There is a standard MakeFile in the distribution , so you can use make i.e, change to the directory containing phaser source files and type in "make" in the command prompt. There is also a shell script ( not exactly ) that compiles the editor in one go and prints out time statistics , you can execute it as "./comp" make sure you chmod it to executable though.

The editor uses Standard Template Library, PThread library, Curses,Panel and Menu libraries.

All of the Backend ( Conatiner.cpp , Container.h , Container2.cpp , Container2.h ) and all of Interface layer ( Formatter.cpp , Formatter.h ) have elegant object oriented design , Most parts of the my frontend also follow object oriented design except for openfile.cpp and parts of my front end that use this part. This was because of lack of time, I could not complete my design in time for these files.

There is one important thing that most programs overlook - crash recovery system . Phaser provides "exitedit.cpp" as part of standard distribution which comes to your aid , should the editor crash. It safely brings back the shell to the point it was before the editor started . That is very important since most editors work in "no-echo" mode.

View - Download - Executable - Screen Shot

8. Holographic Data Storage Systems

Authors: Rajesh Goli

This is one of the few engineering project reports on this site, rather than an academic information technology project.

This download contains slides that I used to present Holographic data storage. It was done as part of 4th semester.

Holography is an optical method of storing very large amounts of data in relatively small areas by writing the data in pages, as three-dimensional holograms on a photosensitive crystal or polymer medium.

View - Download - Executable - Screen Shot

9. Banna

Authors: Rajashekhar M A, Pavan V A

This is an academic engineering project of a friend of mine. As with R H Factor, this was one of those project ideas that everyone had to follow. Hence the same graphics editor theme.

Banna is a user-friendly 2D graphics editor. It provides most of the features of a 2D graphics editor. It is written in C++ and it has been designed using generic Object Orient Programming methods. Though much of the code is specifically meant for the graphic editor application some useful programming idioms have been used to help software reuse.

  • Iconic interface in which all tool selection are done using icons.
  • Objects like straight lines, free-hand lines, rectangles, ellipses, spirals, Bezier curves, text can be drawn.
  • Translation and rotation of the selection area can be done.
  • Cut, copy and pasting of selected areas of the canvas are implemented.
  • Saving, opening, deleting operations can be done on files.
  • Clear selected area, crop selected area, clear entire screen functions are provided.
  • Flip horizontal, flip vertical are included.
  • Inverting of colors can be done.
  • Different fill patterns are provided for filling polygons, areas with a selected color.
  • Always the status bar provides information on the function of the icon on which the mouse is currently held.

Tips on how to compile the code :

  • First, open the file Banna.cpp with Turbo C++ editor.
  • Go to "Options" menu and select "Directories".
  • In the Include directories text box, at the end, put a semicolon and type the path name of the folder (usually, the folder containing Banna.cpp) that contains all files required by the Banna.cpp file (these are some .h or some .cpp files given together with Banna.cpp).
    • For example, if the text box contains something like - "c:\tc++\include" and
    • If the absolute pathname of the folder containing Banna.cpp and all other files is c:\Banna_files, then the final text in the text box would be - "c:\tc++\include;c:\Banna_files".
  • Now press Ctrl+F9 i.e., compile the file Banna.cpp

View - Download - Executable - Screen Shot

10. Text editor for linux

Authors: Harish D

This is a light weight ncurses based text editor. It was designed as per syllabus prescribed by VTU for completion of V Sem. It has the following features :

  • Mulitple Window support
  • Word Wrap Support ( Not character wrapping )
  • Onscreen Left and right margin changing support ( you dont fiddle around with numbers for margins )
  • Undo Redo Support
  • Cut Copy Paste
  • Find , Find , Next , Replace , Replace Next
  • Insert Line , Insert Word , Delete Line , Delete Word
  • Standard Insert and Replace Modes
  • Option for saving the file with alignment ( as produced by margins )

This editor is elegant in the its number of lines to features ratio. If you take the genral accepted notion of computer science that number of lines of code is directly proportional to the number of bugs in the project, then you can easily see that this project has very few bugs. At the same time it has all the features you would want in a editor. But beware of the single letter variable names that litter the code ;-), typical Harish style.

View - Download - Executable - Screen Shot