Welcome to my Electrical and Computer Engineering (ECE) project portfolio! This repository showcases my academic and personal projects developed throughout my ECE studies. It represents my journey through various aspects of electrical engineering and computer science, demonstrating my growth in areas such as:
- Electronics
- Programming
- Control Systems
- Embedded Systems
- Digital Signal Processing
- VLSI Design
- And more!
Subject | Project | Semester | Languages/Tools | Description |
---|---|---|---|---|
Structured Programming | Hangman Game | 1st | C | A console-based hangman game for basic C programming practice. |
Computer Organization | Various Operations | 2nd | Assembly, C | Fibonacci calculator, half-precision adder, and block matrix multiplication to understand how computers work. |
Object-oriented Programming | Survivor Game | 2nd | C++ | A three part console-based game of Survivor (reallity show) for basic C++ object-oriented programming practice. |
Electronics I | Various Tasks | 3rd | SPICE | Analyze and simulate the behavior of fundamental electronic components and circuits, including diodes, BJTs, and FETs. |
Discrete Mathematics | Spanning Trees Finder | 4th | Python | Graph theory concepts. |
Electronics III | Operational Amplifier | 7th | Matlab, SPICE | Design an Op-Amp, from initial theoretical calculations to practical implementation and optimization. |
Low-level HW Digital Systems I | Custom Processor | 7th | Verilog | Custom processor design using basic Verilog Hardware Description Language (HLD). |
Parallel and Distributed Systems | VP-Tree, kNN Search | 7th | C, Matlab | Solve concurrent computational problems using libraries such as Pthreads, OpenMP, CUDA, and MPI. |
Operating Systems | Various Tasks | 7th | C, Matlab, Fish | Demonstrate concepts such as process management, inter-process communication, memory management, and file operations. |
Computational Intelligence | Various Tasks | 8th | Matlab, Python | Fuzzy logic, neural networks, and machine learning techniques for control, regression, and classification problems. |
Low-level HW Digital Systems II | Various Tasks | 8th | SystemVerilog, Questa | Design and verification process of an Up-Down Counter and a Simple Synchronous FIFO. |
Microprocessors and Peripherals | Various Tasks | 8th | C, Assembly | Palindrome Checker, Reaction Time Measurement, and Smart Thermostat on the STM32, using interrupts and counters. |
Modeling & Simulation of Dynamical Systems | Various Tasks | 8th | Matlab | Implementations of various system identification and parameter estimation techniques. |
Real Time Embedded Systems | Producer - Consumer | 8th | C | Explore fundamental concepts in real-time systems, including task scheduling, resource sharing, and performance analysis. |
Software Engineering | ThesSpace | 8th | StarUML | Apply software engineering principles and methodologies to design a complex software system. |
Design of VLSI Systems | SR Flip-Flop | 9th | Cadance | Design, analyze, and implement an SR Flip-Flop at the transistor level. |
Digital Image Processing | Various Tasks | 9th | Matlab | Implement image manipulation techniques, explore image segmentation methods, and create HDR images from LDR. |
Pattern Recognition | Various Tasks | 9th | Python | Pattern recognition and machine learning algorithms. |
Software Hardware Co-design | Matrix Multiplication | 9th | C/C++, OpenCL, Vivado, Vitis | Design a matrix multiplication accelerator, implementing it on an Alveo U200 FPGA, and optimize data transfers. |
Each project is contained within its own directory with a README that provides detailed information about its purpose.
All projects are categorized by subject and semester, making it easy to follow my learning journey.
Feel free to explore the repository, and if you have any questions or suggestions, don't hesitate to reach out!