Welcome to my Milestone-2 repository at Campus 42 Barcelona! This repository showcases the projects I have worked on during this milestone, focusing on advanced algorithmic challenges and system-level programming. Here, I am primarily working on Push_swap and Pipex, two pivotal projects in my journey towards mastering C programming.
Push_swap is a project where I implement an algorithm to sort numbers using two stacks with minimal operations. The challenge lies in optimizing the number of operations performed to sort the numbers efficiently. This project has significantly deepened my understanding of data structures and algorithms, particularly stack management, and it helps sharpen my problem-solving skills.
Pipex is about developing a simplified version of the Unix pipe
command to handle inter-process communication (IPC) and execute commands sequentially using pipes. This project enhances my skills in system-level programming, process management, and understanding of how Unix handles processes and input/output redirection.
Fractol is a graphical programming project where I generate and render fractals like the Mandelbrot and Julia sets. The project involves creating an interactive program that allows the user to zoom in and explore various parts of these complex mathematical structures. This project enhanced my understanding of graphical programming using MinilibX and improved my ability to handle user inputs and mathematical concepts simultaneously.
- Programming Languages: C, with a focus on algorithms, system-level programming, and graphical programming.
- Problem-Solving: Advanced problem-solving, stack manipulation, and inter-process communication.
- System Programming: Deepened my understanding of Unix processes, input/output management, and system calls.
- Graphics Programming: Gained hands-on experience with graphical libraries, such as MinilibX, to develop visual applications.
- Mathematics & Algorithms: Strengthened my knowledge of complex mathematical concepts like fractals and efficient algorithm design.
- Data Structures & Algorithms: Mastering stacks, sorting algorithms, and memory management.
- System Programming: Process management, inter-process communication (IPC), and low-level systems programming.
- Graphics Programming: Practical experience with MinilibX for graphical rendering and UI design.
- Mathematics: Working knowledge of fractals, complex numbers, and algorithmic visualization techniques.
Maksim Georgiev Marinov - mks1313
Feel free to reach out if you have any questions or feedback.
Your thoughts and suggestions are always welcome! 💬