I have been programming in C/C++ for six years, including bachelor degree tenure. During the academic years, the degree curriculum covered many courses which involved C/C++ programming such as Introduction to Programming in C, Data Structures, Object Orient Programming, System Programming, Computer Graphics, etc. Some of these courses included C/C++ projects as an essential part of the course.
In Data Structures, our team of two students had developed Airline Management System in C. In the project, we developed a software which possessed features such as airline registration, management of arrival and departure of planes, ticket booking facility, weather details, etc. The project employed various concepts of Data Structures such as linked lists, queues, searching and sorting algorithms, etc. Graphics.h library was used for coding user interface, data was stored in and retrieved from binary file by using fstream.h and iostream.h library. We used structural programming methodology and subroutines were coded for various operations. The project size was more than thousand lines of code.
As a part of Computer Graphics, I developed graphics programs such as Graphical Binary Search Tree and game projects using C++ and OpenGL library. Graphical Binary Search Tree program was a graphical demonstration of formation of Binary Search Tree for a given set of elements and searching of a particular element within the tree. The project involved C++ object oriented programming concepts to create binary tree objects and its methods such as drawing tree nodes and searching an element. The project used OpenGL graphics library for rendering graphics on the screen. The project size was around 500 lines of code.
In System programming course, I developed many programs in C using GCC compiler and Linux. These projects demonstrated various system programming concepts such as process synchronization, data sharing, pipes, fifos, message queues, semaphores, server/client Socket programming, etc. The programs size varied around 50-300 lines of code.
My final year research project was titled “Data Sensing & Secured Data forwarding in serial multi-hop wireless sensor networks (WSN) using MicaZ based motes”. In the project, we implemented data sensing using inbuilt sensors in (MicaZ) motes and secure data forwarding to the (MIB 520) base station in a WSN setup using TinyOS platform. Motes and base station are programmed in NesC language. NesC is an extension of C language designed to embody the structuring concepts and execution model of TinyOS and requires GCC compiler. For secure communication among nodes, Diffie-Hellman key exchange algorithm was implemented in NesC to model a pair-wise key exchange mechanism. The Miller-Rabin Primality Test and Prime number generator algorithms were coded to implement Diffie-Hellman key exchange algorithm. After initial key generation message exchange between motes, consequent communication was encrypted using Skipjack encryption.