Posts Tagged - project

Project: A Presence-based Messaging Application

Date Completed: December 2009

Here is the Report of this project.

As per the specification, a presence-based messaging and file-exchange application has been designed and implemented. Here is the scenario:

  • Clients connect to the server and immediately declare their presence.
  • A connected client can initiate a session by sending the request to the server along with the preferred number of clients in the session.
  • The server application checks the number of available clients for the session.
  • The server application initiates a session between the clients, if preferred number of clients are available.
  • When the session is underway, participants can exchange messages and files.
  • Only the session initiator can terminate the session.

Read More

Project: Vigenere Cipher --A Case Selected for Properly Designing a Software before Realizing It

Date Completed: December 2005

Introduction to the project:

The Vigenere cipher is a cipher based on using successively shifted alphabets, a different shifted alphabet for each of the 26 English letters.

The carried out task: Writing a program in Java that ciphers and deciphers messages. The system will take a text file, a keyword, and the desired operation (ciphering or deciphering) as inputs from its user. The output of the system consists of the creation and display of original and ciphered/deciphered files.

Here is the Report , the Presentation and the Project Files.

Read More

Project: Simulator of a New Approach in Matrix Inversion Calculation: Conical Systolic Array

Date Completed: September 03, 2003

The way that this array calculates the inverted matrix has been thoroughly studied in this paper: "Conical Systolic Array for Matrix Inversion" by H.S.Shahhoseini, A.Khayatzadeh, and M.Naderi (The paper). Herein, I explain the structure of the simulator program which was written by me with C++ language (2800+ LOC).

The mentioned conical systolic array (CSA) uses three types of processing elements (PEs). Each PE has been defined as an object in C++. For writing the program as modular as possible and taking advantage of virtual functions and also gathering the common functionalities of the PEs, a base class with the name of PE has been defined. The three types of PEs have been derived from this base class using public inheritance and the exclusive functionalities of each PE have been implemented in the respective class. These classes have been named according to their shapes in the paper as: EllipticPE, CircularPE, SquarePE. It should be mentioned that all four classes have been implemented regardless of the matrix dimension but due to some synchronization difficulties in one of the clock calculations, the main() function has some irregularities which prevents its generalization to any matrix dimension and in its current state, it is capable of matrix inversion calculation for a 3×3 matrix. The issue was under consideration of the authors of the paper but in the mean time, I was asked to conclude the project; in case that the problem is resolved, only the main() function will need modifications and the PEs' implementations won't need further changes.

Read More

Project: A DSP Educational Package

Date Completed: June 09, 2003

This project has been conducted in a teamwork manner. Some important concepts of an introductory course on DSP were chosen. First, few were responsible for implementing the code in Matlab using M-files, and at the next stage, others were responsible for transferring the code to GUIs so that the users can enjoy the comfort of windows-based execution. This package was supposed to serve as an educational aid package for the DSP course at MS level and the book “Discrete-time signal processing” by: Alan V. Oppenheim, Roland W. Schafer, and John R. Buck was chosen as the reference.

Read More

Project: Linear Control: Position Control Systems Response Optimization

Date Completed: November 20, 2002

The objective of this experiment is investigating the response of a system with velocity & position feedback and the effect of addition of a controller to this system.

The output potentiometer shows the current angle (position) of the output, the input potentiometer specifies the desired angle which should be followed by the output potentiometer.

Read More