Gustavo Cunha's repositories
bank-system
Com o objetivo de aplicar os conceitos de análise de qualidade, refatoração e testagem em Engenharia de Sofware, projetei um pequeno sistema que simula um sistema bancário.
gustavofcunha
Config files for my GitHub profile.
sistema-construtora
Utilizando orientação a objetos em Java, implementei as classes que compõe o sistema de uma construtora simples e fictícia.
blog
Neste trabalho, implementei um blog que permite a múltiplos usuários criar e compartilhar conteúdos de texto. O conteúdo do blog é organizado em tópicos, que são categorias de conteúdo que os usuários podem seguir, recebendo notificações quando houverem novos posts.
campo-minado
Neste trabalho, criei uma versão do Campo Minado que permite a interação entre um cliente e um servidor usando sockets em linguagem C. O servidor foi projetado para acomodar a conexão de um único cliente, proporcionando uma experiência de jogo remoto.
tp-icd
Neste trabalho em Ciência de Dados, queremos entender se há correlação entre a taxa de desmatamento e a taxa de homicídios de cidades da amazônia legal ao longo dos anos.
paginador-de-memoria
Neste trabalho é desenvolvido um paginador, um programa para gerenciar quadros de memória física e implementar memória virtual. O paginador desempenha funções similares aos gerenciadores de memória virtual em sistemas operacionais modernos.
d-flip-flop
Em Verilog, implementei um flip-flop do tipo D. Inclui a especificação descritiva e comportamental e testbench, além dos diagramas de tempo. Também implementados os registradores e stream cypher.
listas-alc
Listas de Exercícios da disciplina Álgebra Linear Computacional.
listas-icd
Listas de Exercícios da disciplina Introdução à Ciência dos Dados
PLC-language
Implementação de parser, lexer, verificador de tipos e interpretador para a linguagem de programação PLC.
Memoria
Este trabalho consiste na implementação de uma pequena hierarquia de memória. Nessa hierarquia, existe uma CPU que irá realizar operações de leitura e escrita em um subsistema de memória. Esse subsistema consiste em uma pequena memória cache e uma memória de dados.
Maior-Retangulo-na-Matriz
O objetivo deste trabalho é encontrar o maior espaço contíguo com determinado tipo de caracteres em uma matriz com dimensões compatíveis com as entradas do problema.
Gargalo-em-Grafo
Este trabalho tem como objetivo encontrar o gargalo maximal dos caminhos entre dois nós de um grafo de arestas com pesos.
Aloca-Bicicletas
Esta implementação tem como objetivo a implementação de um algoritmo que aloca bicicletas disponíveis em um mapa para usuários interessados. A alocação entre bicicletas e visitantes foi feita com base no algoritmo de Gale-Shapley, considerando as duas entidades do problema, sendo o visitante a parte que “propõe” o casamento/alocação, isto é, a alocação final é ótima para os visitantes.
Bubble-Sort
Implementação do algoritmo de ordenação Bubble Sort em assembly. Considera-se que o começo do array localiza-se no registrador x10 e seu tamanho no registrador x11.
Fibonacci-em-Assembly
Implementação em assembly do algoritmo que calcula o n-ésimo elemento da sequência de Fibonacci. Considera-se que n está no registrador x10. É usado o stack pointer (x2) para recursão.
Capacitancia
A capacitância C ́e calculada pela relação entre a diferença de potencial V (ou tensão elétrica) existente entre as placas do capacitor e a carga elétrica nele armazenada, Q. Este é um programa assembly que, dadas duas dessas grandezas quaisquer, calcula e retorna o valor da terceira grandeza. Os registradores x10, x11 e x12 são tomados, respectivamente, como capacitância (C), carga (Q) e a diferença de potencial (V). A variável com valor zero ́e a que deve ser calculada. Caso mais de uma variável tenha valor zero, o programa também retorna zero.
Maquina-de-Busca
Neste trabalho, foram implementados os dois principais componentes de uma máquina de busca: o indexador de memória que, de acordo com o vocabulário e os documentos que compõem o corpus da web, cria um índice invertido, mapeando os termos e documentos e um processador de consulta, que ordena os documentos recuperados de acordo com sua similaridade com a consulta.
Ordenacao-em-Memoria-Extra
Neste trabalho foi desenvolvido, utilizando algoritmos de ordenação como QuickSort, estruturas de dados como Heap (fila de prioridade) e, ainda, uma memória externa, aqui denominada fita, um programa que faz a busca em um arquivo (que simularia a grande base de dados da web) dos links que direcionam para as páginas mais acessadas, retornando-os.
Escalonador-de-URLs
Neste trabalho foi desenvolvido um escalonador, um dos principais elementos de uma máquina de busca, junto com o coletor, que faz o download de conteúdos apontados por URLs. O escalonador auxilia a coleta de URLs na web, bem como define a ordem em que estes serão apontados. Por meio dos ferramentais de que dispõe a linguagem utilizada, bem como dos princípios de Programação Orientada a Objetos e utilização de estruturas de dados, o programa implementado coloca à disposição do usuário funções que o permitem controlar o funcionamento do escalonador mediante entradas providas por um coletor, através de um arquivo recebido como entrada.
Matrix
Neste projeto foi desenvolvido ferramental para operações com matrizes alocadas dinamicamente, com interação do usuário na linha de comando. Também disponíveis bibliotecas para análise de desempenho, acesso à memória, complexidade computacional, e memória.
Combat-ATARI
Desenvolvido em Allegro uma versão do jogo COMBAT - ATARI.