Pick your Look:     Standard - Rising Blue - Retro Curves

VTU Projects - Description

This page lists the Projects that have been carried out as per syllabus prescribed by Visveswariah Technological university, VTU for computer science and 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 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 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

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

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 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.

View - Download - Executable - Screen Shot

6. R H Factor

Authors: Rajesh Goli, Harish D

This is a Graphics editor ( A MS Paint clone ) 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 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 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

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