Simple video games
A set of simple single player games.
We were a group of four and we made three games: Dominos, BlackJack and Arkanoid).
These games were selected carefully to gain experience in some programming techniques.
From Dominos we learnt displaying the pieces and turning the round between players.
We made simple AI strategies in the BlackJack game.
The Arkanoid game was a real time game which needs some synchronizing techniques.
|
Source code: not avaialable.
Binary files: not available.
|
|
| | |
|
Basic Data structures
Implementation of basic data structures using C language.
These data structures are: sparse matrix, Linked List, Linked Queue.
|
Source code: download
Binary files: not available.
|
|
Source code: download
Binary files: not available.
|
Applications for Data Structures
Some applications that use the data structures implemented previously.
The applications include Mail Server (don't be fooled with the name), Arithmatic Parser and
Huffman Compression/Decompression.
|
|
Graphics Algorithms
Simple algorithms that are used extensively in graphics.
Algorithms are Bresenham (mid-point) line algorithm, Bresenham (mid-point) circle algorithms
and Bezier curves.
|
Source code: download
Binary files: not available.
|
|
Source code: not avaialable.
Binary files: not available.
|
Signal Flow Graph
This program is an implementation for the
Signal Flow Graph algorithm originally invented by Mason.
The program is used to find the transfer function (gain) between
two nodes in a system modeled by a graph.
The program was coded in the C language.
I have made this program with one of my colleagues (namely Mohamed Nashat),
so I will not be able to put the program here till I get his approval.
|
|
Root Locus
This program was also made for the Automatic Control.
It is used to find the locus of all roots for a rational function changing with
the absolute term k in the denominator.
The program was made using Visual C++ 6.0. However, it was purely C language;
no OOP techniques was used.
This program was shared with my colleague Ahmed Aglan, so ,again, I will not be
able to publish it here without his approval.
|
Source code: not avaialable.
Binary files: not available.
|
|
Source code: download
Binary files: download
|
IBM 360 Assembler
As a part of the system programming course, we have made an assembler
for a subset of the IBM 360 assembly language.
It was made using C language for fast assembling.
|
|
| | |
|
Search Algorithms
An implementation for most well known search algorithms in array.
For unsorted list: Sequential Search, Fast Sequential Search and
Self-Organizing Search (Move-to-front and Transpose).
For sorted list: Sequential Search, Binary Search, Ternary Search, Interpolation Search and
Random Search.
|
Source code: download
Binary files: download
|
|
Source code: download
Binary files: download
|
Telephone Book
This program is an implementation for the AVL tree. It stores
telephone entries in an AVL tree and implement some operations like:
add, edit, delete and find.
The program is made with Borland C++ Builder 5.0.
|
|
Sorting Algorithms
This is an implementation for may sorting alogrithms.
They are made with Borland C++ Builder 5.0. A comparison is made between them
by the means of displayed bars. The implemented algorithms are:
Selection sort, Insertion sort, Bubble sort, Shell sort, Merge sort, Heap sort and
Quick sort.
|
Source code: download
Binary files: download
|
|
Source code: download
Binary files: download
|
Graph Algorithms
In this program I implemented many basic algorithms for directed and undirected graphs.
Again the program is made with Borland C++ Builder 5.0. There is GUI to be able
to add nodes, move it around and implement some algorithms.
Implemented algorithms for directed graphs: Find source, sink and root nodes.
Find shortest paths using Dijkstra's and Floyd's.
Implemented algorithms for undirected graphs: Find a cycle, all bridges in the graph and
minimum cost spanning tree using Kruskal's and Prim's.
Find shortest paths using Dijkstra's and Floyd's.
|
|
Symbol Table Construction using Hashing Techniques
This program is an application for hashing techniques.
This time it is programmed using Visual C++ and the GUI is made using Visual Basic.
Hashing techniques used are: External Chaining, Open Addressing using Linear Probing,
Open Adressing using Psuodo-Random Probing, Open Addressing using Quadratic Residue
Search, Open Addressing Using Double Hashing.
|
Source code: download
Binary files: download
|
|
Source code: not avaialable.
Binary files: not available.
|
Subset of MIPS processor
In architecture course we designed a processor that is based on MIPS architecture.
The processor was made using pipelining. It was tested and simulated using Xilinx.
|
|
| | |
|
Student Registeration System
In DBMS (Database Management System) course, the term project was a
Student Registeration System for the faculty. A student can register
for courses for the next term. Professors can enter final grades
for the courses assigned to each one. A student can view a status report
with the courses he has finished.
The system was designed and implemented using Oracle 8i. The forms and reports
were developed using Oracle Designer 6i.
|
Source code: download
Binary files: not available.
|
|
Source code: download
Binary files: download
|
Simulation to Bank System
In Internet Programming course we have studied Java as a language
for internet. We have taken an assignment about threading in Java.
We were asked to simulate to queue systems and analyze the differences.
|
|
| | |
|
New Arkanoid
New Arkanoid is a brick-out clone using Pascal. It supports different
levels. You can buy some items to use during the game play.
See the New Arkanoid page for more details.
|
Source code: download
Binary files: download
|
|
Source code: download
Binary files: download
|
Haridy Columns
This game is a mixture of puyo-puyo and columns. You have to arrange
the colored blocks in order to form a line of three similar colors.
See the Haridy Columns page for more details.
|
|
Root Locus
This program was first made during the 2nd year class.
It was made using C language under Visual Studio 6.
After that I found it will be good to remake it using OOP techniques
under different IDE (Borland C++ Builder 5).
You can see the Root Locus page for more details.
|
Source code: download
Binary files: download
|
|
Source code: download
Binary files: download
|
CD Builder
I have made this program for my own sake.
I wanted to backup my hard disk on CDs. No problem with that,
but the files I wanted to put were larger than one CD.
So, I had to split them on many CDs, and this is the job of CD Builder.
You can drag and drop the files and/or folders you want to burn from your computer to this program,
then it will automatically split them on different CDs trying to minimize
the total number of CDs and maximize the utilization of each CD.
The program was made with Java, and I found it a good chance to learn
about many features in Java GUI building. I learnt Drag'n'Drop and many
other features in Swing.
|
|
Database for library
While I was training at the Informatics Technology Institute in Mubarak City,
I made a database for the library with another trainee (Mahmoud El-Komi).
We used the MS Access for the database and Visual Basic to build the GUI.
Of course the source code and binary files will not be available as it is not mine :).
|
Source code: not avaialable.
Binary files: not available.
|
|
| | |
|
|
|