Sample Projects Page

Hani Al-Banai's photo

MovieMadness database system

Given Problem: Julya Roberts, a famous movie buff in the area has over 30,000 classic and current movies on VHS and DVD formats. She wants to track the directors, actors, actresses and titles of the movies as well as when they were made, the format that she has the movie in, the MPAA rating for each movie (PG-13, R, etc.), the running time, the average critics rating (1-4 stars, 4 being the best) and which awards the movie has won (Sundance Award, AFI Award, the Oscar, the Golden Globe or no award). She also wants to know what the movie grossed and what the movie cost to make.


Movie Madness Database

View the proposed solution

EER Diagram for University Database System
EER Diagram


The Food Store website

Given Problem: Using PHP, MySQL, JavaScript, HTML, CSS and other required technologies program the following graphic website design


The Food Store website

View the proposed solution


Artificial Intelligence

Project Description: Develop a software product using Artificial Intelligence language that will generate the Proportional-Integral-Derivative control on a water level in a tank.


PID Controller


PID Controller in CLIPS with Sample output data:

         CLIPS (V6.24 06/15/06)
CLIPS> (defglobal ?*pe* = 0 ?*integral* = 0 ?*error* = 0 ?*derivative* = 0
                  ?*op* = 0 ?*cycle* = 1 ?*sp* = 0 ?*ap* = 0 ?*wt* = 0 ?*newPos* = 0
                  ?*kp* = 0 ?*ki* = 0.0041666 ?*kd* = 0.01 ?*dt* = 30)
CLIPS> (deffunction pid_func (?sp ?ap)
(bind ?*sp* ?sp)
(bind ?*ap* ?ap)
(bind ?*pe* (- ?*sp* ?*ap*))
(bind ?*integral* 0)
(
while (> 1 0.9)
(bind ?*error* (- ?*sp* ?*ap*))
(bind ?*integral* (+ ?*integral* (* ?*error* ?*dt*)))
(bind ?*derivative* (/ (- ?*error* ?*pe*) ?*dt*))
(bind ?*op* (+ (+ (* ?*kp* ?*error*) (* ?*ki* ?*integral*)) (* ?*kd* ?*derivative*)))
(bind ?*pe* ?*error*)
(printout t "Current error value is: " ?*error* crlf)
(printout t "The output pid value is: " ?*op* crlf)
(bind ?*newPos* (/ ?*ap* ?*op*))
(printout t "The theoretical new error will be: " (- (abs ?*newPos*) ?*sp*) crlf)
(printout t "The theoretical new position will be: " (abs ?*newPos*) crlf)
(bind ?*cycle* (+ ?*cycle* 1))
(loop-for-count 3 do (printout t "Waiting time.." crlf))
(printout t "Going to cycle " ?*cycle* " , what is the actual valve position?" crlf)
(bind ?*ap* (read))
(printout t "===========================================" crlf)
))
CLIPS> (defrule pid_control
(start pid control)
=>
(printout t "Please enter the values for set-point, and actual-position: " crlf)
(pid_func (read) (read))
)
CLIPS> (assert (start pid control))
[Fact-0>
CLIPS> (run)
Please enter the values for set-point, and actual-position:
50
60
Current error value is: -10
The output pid value is: -1.24998
The theoretical new error will be: -1.99923198771181
The theoretical new position will be: 48.0007680122882
Waiting time..
Waiting time..
Waiting time..
Going to cycle 2 , what is the actual valve position?
48.0007680122
===========================================
Current error value is: 1.9992319878
The output pid value is: -0.996080255993042
The theoretical new error will be: -1.81034086018939
The theoretical new position will be: 48.1896591398106
Waiting time..
Waiting time..
Waiting time..
Going to cycle 3 , what is the actual valve position?
48.1896591398
===========================================
Current error value is: 1.8103408602
The output pid value is: -0.773853976854896
The theoretical new error will be: 12.2722898390376
The theoretical new position will be: 62.2722898390376
Waiting time..
Waiting time..
Waiting time..
Going to cycle 4 , what is the actual valve position?





Machine Intelligence and Business Intelligence

Machine Intelligence (Two-Spiral problem)

Spiral Diagram

Spiral Diagram

Business Intelligence (Oil Production Forecast problem)

Forecast

Neural Network


Computer Networks

Given Problem 1: Develop a program that implements the Cyclic Redundancy Check (CRC)


Checksum Calculation Program

View the proposed solution

Given Problem 2: Develop a program that measures data throughput in a communication channel


MaxPut Program

View the proposed solution


Assembly language for x86 microprocessor programming

Given Problem 1: Develop a program in assembly language that simulates the traffic light system
Given Problem 2: Develop a program in assembly language that computes Fibonacci numbers
Given Problem 3: Develop a program in assembly language that computes the greatest common divisor for two natural numbers

Traffic light program

View the proposed solutions


Computer Graphics

Given Problem: Develop a graphics program that displays the Chess Game


OpenGl Graphics Program

View the proposed solution
Copyrights 2021-2023 for Hani Al-Banai