Este repositório contém os meus trabalhos, atividades, anotações e exercícios realizados ao longo das diciplinas do curso de Ciência da Computação e palestras / minicursos que assisti.
Usada a Linguagem C para para aprender os conceitos básicos de programação.
Professor: Ednaldo Brigante Pizzolato
- Tipos de dados
- Condicionais
- Geração de números aleatórios
- Laços de repetição
- Vetores
- Operação modular
- Funções
- Ordenação de vetores
- Ponteiro
- Alocação dinâmica
- Ponteiro de função (aprendi por minha conta e acho que tem apenas um exemplo)
- Estrutura (
struct
) - Mudar o idioma para aceitar acentuação (
setlocale
) - Jogo da forca
- CGI (escrevi um artigo para ajudar a entender um pouco mais, basta clicar neste link)
Usada a Linguagem Verilog, FPGA Quartus e programa Altera.
Professor: Fredy Joao Valente
- Display de 7 segmentos
- Meio somador
- Somador completo
- Maquina de estados
Usada a Linguagem C++ para aprender programação orientada a objetos.
Professor: Renato Bueno
- iostream
- Classe
- Métodos e atributos privados, públicos e protegidos
- Makefile
- Construtor e Destrutor
- UML
- Alocação dinâmica
- Sobrecarga de operadores
- Resolução da prova
- Herança
- Método abstrato
- Classe template
- Trabalho usando GTK 3
Usada a Linguagem C++ para entender as estruturas de dados e a biblioteca SFML para criar os trabalhos.
Professores: Roberto Ferrari Junior & Diego Furtado Silva
- Buscar em lista
- Trocar elementos de duas filas
- Comparar filas
- Inserir elemento numa filas
- Desempilhar elemento da pilha
- Árvore balanceada
- Jogo usando as estruturas Pilha e Fila
Usada a Linguagem Verilog, FPGA Quartus e programa Altera para aprender a arquitetura MIPS.
Professor: Ricardo Menotti
- Contador
- Contador em código Gray
- Crossbar
- Busswire
- Unidade lógica e aritmética (ULA / ALU)
Usada a linguagem Python e a biblioteca NetworkX.
Professor: Alexandre Luis Magalhaes Levada
- Busca em largura (BFS)
- Busca em profundidade (DFS)
- Gale Shapley
- Árvore geradora de custo mínimo (MST)
- Problema snake and ladders
Usada a linguagem C para fazer a recuperação de informações do disco.
Professor: Jander Moreira
- Leitura e escrita de arquivos binários
- Armazenando os dados em padrão little endian
- Escrita em blocos
- Ordenação interna e externa
Usada a linguagem Python para implementar os algoritmos.
Professor: Mario Cesar San Felice
- Divisão e conquista
- Ordenação
- Dijkstra
- Árvore geradora de custo mínimo
- Mochila
Usada a linguagem Java e a biblioteca ANTLR para criar um compilador para a linguagem LUA.
Professor: Daniel Lucrédio
- Análise sintática
- Análise semântica
Usado o banco de dados Oracle.
Professora: Marilde Terezinha Prado Santos
- Modelagem de banco
- Criação das tabelas usando SQL
Professora: Heloisa de Arruda Camargo
- PROLOG para programação lógica
- LISP para programação funcional
- C para programação imperativa
- Java para programação orientada a objetos
- Java para programação paralela
Usada a linguagem C.
Professora: Kelen Cristiane Teixeira Vivaldini
- Criação de processos
- Criação de threads
- Semáforos
Aprendendo sobre o sistema operacional Linux, desde a compilação até os módulos do kernel
Professor: Rafael Vidal Aroca
- Quizzes
- Chamada de sistema
- Fork e exec
- Criação de um shell simples
- Pipe da saída
- Sockets
- Substituição de bibliotecas padrões
Aprendendo sobre sistemas distribuídos, desde o que são até como lidar com sincronização de eventos. Professor: Hermes Senger
- Algumas técnicas de sincronização
- Tipos de transparências
- Serviços de mensageria
- RPC
- Eleição de líder
- Nomeação
Aprendendo sobre alguns princípios de orientação a objetos, como Open-Close, Liskov Substitution e Single Responsibility em diferentes linguagens.
Professor: Daniel Lucrédio
- Princípio da responsabilidade única
Aprendendo sobre como é feito o desenvolvimento para web e suas principais nuances. Professor: Delano Medeiros Beder
- Arquitetura Cliente-Servidor
- Funcionamento do protocolo HTTP
- Redirecionamento, encaminhamento e inclusão
- Atributos no escopo da requisição, da aplicação e da sessão
- Java Server Page
- Expression Language
- JSP Standard Tag Library
- Internacionalização
- Java Database Connectivity
- AJAX
- Autenticação de usuário
- React JS
- PythonQt
- Workshop de programação funcional com Haskell