Hello, I'm Mohamed Ait Tajante

Back-end
Developer

Junior Software Engineer | Passionate About Coding & Building Solutions.

Contact Me
MOHAMED AIT TAJANTE

About Me

Currently studying at 1337 Coding School.
I have a passion for working with low-level languages like C, C++, and Java.
I absolutely love problem-solving and enjoy building efficient and scalable solutions that tackle complex challenges.

Skills

C

Expert in C programming, with a strong understanding of core concepts such as memory management, pointers, and data structures...

C++

Proficient in C++ programming, with expertise in object-oriented programming (OOP) principles...

Java

Intermediate in Java, with a solid understanding of object-oriented programming (OOP) concepts...

Java-Script

Intermediate in JavaScript, with a solid understanding of core concepts like functions, objects, and asynchronous programming...

HTML

Expert in creating semantic and accessible web pages.

CSS

Familiar with creating responsive designs using CSS3, and actively working to improve my skills in layout techniques...

Projects

minishell

View the Project on GitHub

The 42-minishell project involved building a basic shell program that mimics a Unix shell environment. I developed functionality for handling commands, managing processes, implementing piping, redirection, and environment variables. The project helped me deepen my understanding of system-level programming, process management, handl signals, and shell behavior.

philosopher
(Multithreading)

View the Project on GitHub

The 42-philosophers project focused on implementing a multithreading solution to the classic dining philosophers problem. I developed a simulation where multiple threads (representing philosophers) shared resources (forks) while avoiding deadlock and race conditions. The project helped me strengthen my understanding of synchronization, mutexes, and thread management in C.

philosopher
(Multiprocessing)

View the Project on GitHub

The 42-philosophers project involved simulating the dining philosophers problem using processes and semaphores to manage multi-tasking. I implemented concurrent processes where each philosopher (represented as a process) needed to acquire resources (forks) without causing deadlock or race conditions. The use of semaphores allowed for efficient synchronization and mutual exclusion, ensuring that philosophers could safely interact with shared resources while maintaining system stability and performance.

get-next-line

View the Project on GitHub

The get-next-line project involved creating a function that reads a line from a file descriptor, handling dynamic memory allocation to store the line and ensuring it can be called multiple times to read successive lines. I focused on efficient memory management, handling edge cases (like EOF and errors), and ensuring the function works for both standard input and files. This project helped me improve my understanding of file I/O, buffers, and dynamic memory handling in C.

push swap

View the Project on GitHub

The push-swap project involved implementing an efficient sorting algorithm for a stack of integers, using only basic operations like push, swap, and rotate. I focused on optimizing the algorithm to minimize the number of operations, exploring different sorting strategies such as selection sort and quicksort. This project helped me improve my problem-solving skills, deepen my understanding of algorithmic complexity, and work with low-level data structures like stacks.

minitalk

View the Project on GitHub

The minitalk project involved implementing a simple communication protocol between processes using Unix signals. I created a client-server application where the client sends messages to the server, and the server responds using signals to confirm message receipt. This project helped me deepen my understanding of signal handling, inter-process communication (IPC), and the limitations and performance considerations of signal-based communication in C.

solong

View the Project on GitHub

The so_long project involved creating a 2D game using the C programming language and the MiniLibX graphics library. The game requires navigating through a maze, collecting items, and reaching the exit, all while avoiding obstacles. I focused on implementing basic game mechanics, handling user input, and rendering graphics, as well as managing memory and game states. This project helped me improve my skills in graphics programming, event handling, and overall software development in C.

Contact

Find Me