Skip to content

GustavoPereira-Dev/Projs-Fatec-ADS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

241 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projs-Fatec-ADS

Seja bem vindo ao repositório de alguns projetos, códigos e conversões de conteúdos de disciplinas para linguagens de programação essencialmente em Python ou em Java

1º Semestre

  • Arquitetura e Organização de Computadores (AOC): Contém códigos essencialmente de Assembly e que, em algum momento terá também sobre alguns outros conteúdos da mesma (como fórmulas, cálculos binários, conversões,etc.)
  • Matemática Discreta (MD): Códigos em Java sobre conteúdos como Equivalência e Operações de Conjuntos, Lógica Proporcional (Tabela Verdade)

2º Semestre

  • Engenharia de Software I: Exercícios de enunciados desenvolvidos no primeiro módulo da disciplina para código (Diagrama de Caso de Uso e Textual, Diagrama de Atividades, Casos de Testes, Requisitos, tipos de perguntas, protótipos e Matriz de Rastreabilidade)
  • Linguagem de Programação: Listagem das minhas atividades feitas anteriormente na disciplina de ALP (Algoritmo e Lógica de Programação do 1º Semestre) e convertidas para o Java em LP com alguns exercícios extras na Fatec

3º Semestre

  • Estatística Aplicada (EA): Possuí códigos utilizados e feitos em aula com datasets dentro do Colab (Google Colaboratory) e itens de códigos em Python da área Descrititva, Probabilistica e Inferencial da Estatística
  • Estrutura de Dados (ED): Projetos usando as mais variadas Estruturas de Dados (Listas,Stacks,FIFOs,Árvores e Grafos) em Java nos mais variados contextos específicos além do uso de HashTable ou acomplamento de uma Estrutura de Dados em uma outra para se chegar ao objetivo que se deseja com a arquitetura MVC (Model-View-Controller) usando o terminal do Windows, o Notepad++ e a linhas de comando do java no cmd para compilar e executar o projeto
  • Sistemas Operacionais I (SOI): Projetos em Java que abordam o uso de funcionalidades específicas de um Sistema Operacional (como o taskmanager no Windows e o gerenciador do Linux), uso de Threads e Semáforos, manipulação de arquivos e diretórios e uso da IDE do Android Studio para o desenvolvimento de pequenos aplicações que possam ser utilizadas em um celular de SOs Android (LG,Samsung,Motorola, etc.), além de todo o conhecimento adquirido pelo uso da IDE e da lógica do MVC (Model-View-Controller)
  • Engenharia de Software II: Continuação de Engenharia I, que se revisita os conceitos de Diagramação de Caso de Uso e de Pesquisa e análise de Requisitos e parte para o início do paradigma de Orientação a Objetos (OOP), muito utilizado em Java e outras linguagem dinâmicas que possuí pilares como encapsulamento, abstração, polimorfismo e herança, além da Diagramação de Classes (Com VCP - Visão de Classes Participantes em um Caso de Uso) e no de Sequência

4º Semestre

  • Banco de Dados: Uso da linguagem SQL (Structured Query Language) via SQLServer usando criação, estruturação e atualização de tabelas ou DDL (Data Definition Language), manipulação e uso de dados da tabelas como CRUD (Create, Read, Update e Delete) ou DML (Data Manipulation Language) e Consultas (Condicionais, Procedures/Funções nativas, CASE WHEN, Subqueries, Junções e funções agregadas)
  • Programação Orientada a Objetos (POO): Atividades e projetos práticos do uso do paradigma de Orientação a Objetos (Abstração, Encapsulamento, Herança e Polimorfismo), uso de padrões de projetos (Observer, Factories, etc.) e desenvolvimento de Interfaces Gráficas (GUI) em Java usando JavaFX (Elementos, Layouts, Properties, Observable Lists, TableView, Canva) junto com boas práticas de estruturação de códigos via MVC + Persistence e projeto maiores que englobam a conexão com Bancos de Dados relacionais (SQL)
  • Programação para Mainframe: Atividades desenvolvidas referente a uso de linguagens de Mainframe (COBOL especialmente) utilizados em locais como áreas bancárias e outras partes mais reconhecidas e de longo uso de "negócios", pela sua versatibilidade e estabilidade de versões ao longo do tempo, junto com outras vantagens. Os códigos possuem o uso de Leitura e Escrita de Arquivos (Sequenciais ou Indexados), CRUDs por cima desses arquivos, consultas e outras propriedades que estão contidas no COBOL (COmmon Business Oriented Language), a Linguagem Comum Orientada para os Negócios
  • Sistemas Operacionais II (SOII): Diferente de SO I, ela foca bem mais e exclusiva no Linux (distro Debian 12). Revisa no geral bastante itens já conhecidos, contudo, implementados de forma prática e por, sua vez, de forma que se diferencia por bifurcações e diferenças do SO do Linux e Unix de Sistemas mais conhecidos, como o Windows. O uso de códigos são nas linguagens C++ e/ou C, Bash ou ShellScript e Python e tem dados como a integração dessas linguagens no próprio Linux com suas particulidades da GNU e do Kernel e de outras boas práticas de uso ao utilizar essa arquitetura baseada no Unix e o uso multiplataforma
  • Engenharia de Software III: Amadurecimento maior da Diagramação e design da Engenharia de Software, com maiores boas práticas (como SOLID e Clean Architecture), conhecimento dos diferentes níveis que um Diagrama pode estar (Análise, Design e Implantação/Desenvolvimento de Software) e outros Diagramas como o Diagrama de Estados e os de visões menos abstratas e mais concretas: A visão física do Diagrama de Implementação e lógica do de Implantação (Pacotes)

5º Semestre

  • Laboratório de Banco de Dados: Aprofundamento maior e prático do conteúdo de Banco de Dados, possuindo agora conceitos como UNIONS, VIEWS, Stored Procedures (SP) e User Definided Functions (USF) - ambas possuindo o contexto de programação lógica no SQLServer com declaração de variáveis, estruturas condicionais e de repetição e cada uma servido respectivamente como uma espécie e procedures e funções no âmbito do SQL -, Tabelas Dinâmicas, Triggers e Cursores. Além disso possuí a mesclagem prática de tudo isso utilizando o Java Web com Maven (WAR) puro e o início do uso do framework do Spring Boot (usando módulos como Spring Web e Spring Data/Hibernate) e o uso de Relatórios (oriundo JasperSoft Studio)

  • Laboratório de Engenharia de Software: Versão completamente prática de todos os conteúdos vistos nas três disciplinas anteriores de Engenharia de Software, possuindo um enfoque maior no uso do JPA, Hibernate, Thymeleaf (lib para o front com HTML ao invés de JSPs), Mappers e consumo e/ou uso de APIs

  • Testes de Software: Disciplina que estuda métodos, técnicas e ferramentas para verificar e validar sistemas, garantindo qualidade, confiabilidade e segurança no desenvolvimento de aplicações ou softwares. No caso dos projetos no diretório, ambos se referem ao uso de Testes no contexto de Clientes e Faturas desenvolvidas pelo professor, para misturar os conhecimentos teóricos adquiridos em aula nos utilizados na prática

  • Programação Linear e Aplicações: Alguns códigos no âmbito de uso da Programação Linear, com os usos de Métodos Gráficos, Analíticos, Solver, etc., sendo uma técnica matemática usada para otimizar o desempenho ou eficiência de um sistema, tornando-se amplamente utilizada no mundo dos negócios para solucionar problemas de planejamento, alocação de recursos e tomada de decisão.

  • Redes de Computadores: Códigos e algoritmos de conversão dos conhecimentos adquiridos na disciplina, como fórmulas, cálculos de conversões e detalhes de endereços, configuração de Subredes e Simulação prática

  • Estágio Supervisionado: Repositório que desenvolvi e utilizei na disciplina pelo Estágio Supervisionado no âmbito de Desenvolvimento. Consiste em uma aplicação de avaliação dos documentos de Trabalho de Conclusão de Curso dos alunos nas disciplinas de Trabalho de Graduação