Convolution is a process that describes the interaction of signals with systems and the best example of that is ocean waves. As ocean going waves travel across the ocean, the waves will not interact with the seabed, due to the great depths of the ocean and when the waves approach land, the ongoing ocean waves begin to rise because the waves begin to interact with the rising seabed. This can obviously explain how the signals interact with systems. In this project 4 tasks were followed to apply the concept of convolution which they Decimal Manipulations, Binary Manipulations, Gates and Counters, and Implementation. In task 1 (Decimal Manipulations), the interaction of the wave, w(n), with the rising seabed, h(n) was obtained using the convolution process as follows: the order of the wave vector w(n) was reversed, and the wave vector w(n) was shifted to the right and multiplied with the intersected of h(n) to find the speed of the wave starting from τ = 0. These steps were repeated for task 2 (Binary Manipulations) in binary form. In task 3 (Gates and Counters), exactly same as concept of task 2 was done but it was done by C++ codes. In task 4 (Implementation), the C++ codes were Implemented using Logisim.