Skip to content

Lilia10010/ecole_42sp_software_engineering

Repository files navigation

logo ecole 42 sp

42 Projects

Repository of projects developed in Common Core - Training

Minha Jornada na 42 📖

Este repositório tem o intuito de reunir minha trajetória pela 42, apresentando os projetos, desafios, e experiências ao longo da minha jornada no Core Curriculum.

Sobre a 42

A Ecole 42 é uma renomada escola de programação e inovação, sem fins lucrativos, que oferece uma abordagem revolucionária de aprendizado. Sem professores ou aulas tradicionais, a 42 se baseia em aprendizado peer-to-peer, onde os alunos colaboram para superar desafios em um ambiente intensivo e imersivo. A Ecole 42 tem valores como autonomia, aprendizado colaborativo e resolução prática de problemas.


Next => ... 🦇

⚠️ Work in Progress ⚠️


philosophers

     

  • Objetivo: O projeto Philosophers é um exercício de programação voltado ao estudo e à aplicação prática de conceitos de concorrência e sincronização em sistemas operacionais. Inspirado no clássico problema dos "Filósofos Jantando", o projeto busca implementar uma solução eficiente e segura para gerenciar o acesso concorrente a recursos limitados (garfos) por múltiplas threads (filósofos), evitando condições de corrida (race conditions), deadlocks e fomes (starvation), e garantindo a integridade do sistema durante a execução simultânea das threads.
  • Habilidades: Programação concorrente e paralela Prevenção de deadlocks e starvation evitar deadlocks Sincronização com mutexes e controle de acesso a recursos críticos Criação e gerenciamento de threads Uso de estruturas de monitoramento para detectar estados críticos Manipulação precisa de tempo com gettimeofday, usleep e controle de tempo absoluto

     


so long

     

  • Objetivo: Desenvolver um jogo 2D simples, no estilo de um labirinto, onde o jogador deve coletar itens e alcançar a saída do mapa. O projeto foca na leitura e validação de mapas, movimentação do personagem e renderização gráfica utilizando a MLX42, uma biblioteca gráfica baseada em OpenGL.
  • Habilidades: Gerenciamento de Memória leitura de arquivos validação de mapas eventos de teclado lógica de jogo renderização com MLX42 controle de janelas depuração e tratamento de erros

     


push swap

     

  • Objetivo: O objetivo deste projeto é criar um programa que ordena uma pilha de números inteiros, utilizando duas pilhas auxiliares e um conjunto limitado de operações. O desafio é encontrar a sequência de operações mais eficiente para ordenar a pilha, minimizando o número de movimentos necessários.
  • Habilidades: Algoritmos estruturas de dados pilhas ordenamento

     


pipex

     

  • Objetivo: Criar um programa que simula o comportamento do comando pipe do shell, permitindo o encadeamento de comandos. O programa deve ser capaz de: -Redirecionar a saída de um comando para a entrada de outro, utilizando as chamadas de sistema pipe e fork. - Executar múltiplos comandos em um pipeline, passando a saída de um comando como entrada para o próximo. - Utilizar execve para executar os comandos no sistema operacional. - Gerenciar arquivos de entrada e saída, manipulando-os com as funções de abertura, leitura, escrita e fechamento. - Garantir que o programa não tenha falhas de memória e que erros sejam tratados de maneira eficiente, seguindo as boas práticas de programação.
  • Habilidades: Compreensão do funcionamento de processos no sistema operacional Uso de pipes e redirecionamento de dados Gerenciamento de arquivos e I/O Execução de comandos com execve Controle de erros e tratamento de falhas Gerenciamento de memória Compreensão de chamadas de sistema: Conhecimento prático de funções de baixo nível do sistema, como pipe, fork, wait, execve, dup2, exit, entre outras.

     


Born2beRoot

     

  • Objetivo: Este projeto introduz os conceitos de virtualização e administração de sistemas. O objetivo é configurar e administrar uma máquina virtual com um sistema operacional Linux, focando em práticas como a instalação e configuração de um ambiente de desenvolvimento.
  • Habilidades: Virtualização Linux administração de sistemas e redes

     


ft printf

     

  • Objetivo: Este projeto visa recriar a função printf da biblioteca padrão C, implementando a formatação de strings de maneira personalizada. O desafio é trabalhar com diferentes tipos de dados e criar uma implementação eficiente e segura.
  • Habilidades: Manipulação de strings variáveis de argumento controle de saída

     


get next line

     

  • Objetivo: O objetivo desse projeto é criar uma função que leia uma linha de um arquivo ou de um fluxo de entrada (stdin) sem carregar o arquivo inteiro na memória. A função deve ser capaz de lidar com múltiplas chamadas e ler até o final do arquivo ou até encontrar uma linha completa.
  • Habilidades: Manipulação de arquivo buffers e leitura eficiente de dados

     


     

  • Objetivo: O projeto Libft consiste em criar uma biblioteca de funções essenciais em C, que inclui funções de manipulação de strings, memória, listas encadeadas, e outros utilitários que são comumente usados em projetos subsequentes na 42.
  • Habilidades: Programação em C manipulação de memória listas e estruturas de dados básicas

     

Gráfico curricular mais f# das galáxias! 🚀

gráfico do curso

About

Repository of projects developed in Common Core - Training

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published