Repositório para Desenvolvimento de Projetos das Disciplinas de Programação do Curso de Engenharia de Computação CEFET-MG
Este repositório contém os projetos e atividades das disciplinas de programação do curso de Engenharia de Computação do CEFET-MG. Abaixo estão descritas as disciplinas abordadas, suas principais características e a forma como foram utilizadas para o desenvolvimento das atividades práticas e teóricas.
Descrição:
A disciplina de Introdução à Programação de Computadores (IPC) tem como objetivo trabalhar, de forma prática e teórica, conceitos fundamentais da computação. Entre os tópicos abordados estão:
- Lógica de Programação: Desenvolvimento do raciocínio lógico para resolver problemas e criar algoritmos eficazes.
- Utilização e Gerenciamento de Memória: Conceitos sobre como a memória é alocada, utilizada e gerenciada pelos programas.
- Organização de Código: Boas práticas na estruturação e organização do código para garantir clareza e manutenção eficiente.
- Estruturas de Dados Abstratas: Introdução a conceitos básicos como listas, pilhas, filas e árvores.
Linguagem Utilizada:
Nesta disciplina, a linguagem de programação utilizada foi C. O C é uma linguagem de programação de baixo nível que fornece um controle detalhado sobre o hardware e a memória, sendo essencial para entender o funcionamento interno dos computadores.
Conteúdo do Diretório:
O diretório correspondente a esta disciplina contém todas as atividades de laboratório concluídas, incluindo exercícios e projetos desenvolvidos ao longo do curso. Cada arquivo e projeto está organizado para refletir os conceitos abordados na disciplina.
Descrição:
A disciplina de Programação Orientada a Objetos (POO) explora o paradigma de programação orientada a objetos, que é amplamente utilizado em linguagens de programação modernas. Os principais conceitos abordados incluem:
- Abstração e Estruturação de Dados: Criação de abstrações para representar entidades do mundo real e sua organização em estruturas de dados.
- Herança: Mecanismo que permite criar novas classes baseadas em classes existentes, promovendo a reutilização de código.
- Polimorfismo: Capacidade de uma função ou método assumir diferentes formas, permitindo que o mesmo código possa ser utilizado para diferentes tipos de dados.
- Organização de Projetos: Atribuição de funções e atributos a classes para um melhor gerenciamento e modularização das funções do software.
Linguagens Utilizadas:
Nesta disciplina, foram utilizadas as linguagens Java e C++. Ambas são linguagens orientadas a objetos que permitem a implementação dos conceitos estudados de forma eficiente e robusta.
Conteúdo do Diretório:
O diretório correspondente a esta disciplina contém todas as atividades de laboratório concluídas, incluindo exemplos de código, exercícios e projetos desenvolvidos ao longo do curso. Cada projeto é estruturado para refletir a aplicação dos conceitos de programação orientada a objetos.
Descrição:
A disciplina de Algoritmos e Estruturas de Dados (AEDS) foca no desenvolvimento e análise de algoritmos e estruturas de dados fundamentais para a resolução de problemas computacionais. Os principais tópicos abordados incluem:
- Análise de Algoritmos: Estudo da eficiência de algoritmos, incluindo a análise de complexidade de tempo e espaço.
- Estruturas de Dados Lineares: Implementação e uso de estruturas como vetores, listas encadeadas, pilhas e filas.
- Estruturas de Dados Não Lineares: Análise e implementação de árvores (binárias, AVL, B-trees) e grafos.
- Algoritmos de Ordenação e Pesquisa: Desenvolvimento e análise de algoritmos como QuickSort, MergeSort, Busca Binária, etc.
Linguagem Utilizada:
A linguagem de programação utilizada para implementar os conceitos de AEDS pode variar, mas frequentemente inclui C, C++ e Java, devido à sua capacidade de manipulação eficiente de dados e estruturas.
Conteúdo do Diretório:
O diretório referente a esta disciplina contém atividades práticas, exercícios e projetos que ilustram a aplicação de algoritmos e estruturas de dados. Os projetos são organizados para demonstrar a eficiência e a complexidade das soluções propostas.
Descrição:
A disciplina de Arquitetura de Computadores (AOC) explora a estrutura e o funcionamento dos sistemas de computação, desde o hardware até a execução de programas. Os principais tópicos abordados incluem:
- Estrutura dos Sistemas de Computação: Estudo dos componentes fundamentais dos computadores, como CPU, memória, e periféricos.
- Conjunto de Instruções e Processamento: Análise do conjunto de instruções da CPU e como essas instruções são processadas para executar tarefas.
- Organização da Memória: Compreensão dos diferentes tipos de memória (RAM, cache, memória secundária) e seu gerenciamento.
- Pipeline e Processamento Paralelo: Técnicas para melhorar o desempenho do processamento através de pipeline e execução paralela.
Linguagem Utilizada:
Embora a AOC seja mais focada no hardware, algumas atividades podem utilizar linguagens de baixo nível, como Assembly, para ilustrar a interação com o hardware.
Conteúdo do Diretório:
O diretório desta disciplina contém exercícios e projetos relacionados à arquitetura de computadores, incluindo simulações, análise de desempenho e experimentos com o conjunto de instruções e gerenciamento de memória.
Este repositório é uma fonte abrangente de materiais e projetos desenvolvidos nas disciplinas de programação do curso de Engenharia de Computação do CEFET-MG. Cada diretório e arquivo está organizado para facilitar a consulta e o estudo dos conceitos abordados nas disciplinas.
Para mais informações ou dúvidas, por favor, entre em contato com o responsável pelo repositório ou consulte a documentação adicional disponível no repositório.