Skip to content
LorhanSohakyPublic

Latest commit

 

History

965 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UFSCar

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.

CONSTRUÇÃO DE ALGORITMOS E PROGRAMAÇÃO (CAP)

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)

LABORATÓRIO DE CIRCUITOS DIGITAIS (Lab CD)

Usada a Linguagem Verilog, FPGA Quartus e programa Altera.

Professor: Fredy Joao Valente

  • Display de 7 segmentos
  • Meio somador
  • Somador completo
  • Maquina de estados

PROGRAMAÇÃO DE COMPUTADORES (PC)

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

ESTRUTURAS DE DADOS (ED)

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

LABORATORIO DE ARQUITETURA E ORGANIZACAO DE COMPUTADORES 1 (Lab Arq1)

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)

TEORIA DOS GRAFOS (GRAFOS)

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

ORGANIZACAO E RECUPERACAO DA INFORMACAO (ORI)

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

PROJETO E ANÁLISE DE ALGORITMOS (PAA)

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

CONSTRUÇÃO DE COMPILADORES 1 (CC1)

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

LABORATÓRIO DE BANCO DE DADOS (Lab BD)

Usado o banco de dados Oracle.

Professora: Marilde Terezinha Prado Santos

  • Modelagem de banco
  • Criação das tabelas usando SQL

PARADIGMAS DE LINGUAGENS DE PROGRAMAÇÃO

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

SISTEMAS OPERACIONAIS 1 (SO1)

Usada a linguagem C.

Professora: Kelen Cristiane Teixeira Vivaldini

  • Criação de processos
  • Criação de threads
  • Semáforos

SISTEMAS OPERACIONAIS 2 (SO2)

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

SISTEMAS DISTRIBUÍDOS

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

PROGRAMAÇÃO ORIENTADA A OBJETOS AVANÇADA

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

DESENVOLVIMENTO DE SOFTWARE PARA WEB 1

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

Consultoria e Aplicações em Tecnologia de Informação (CATI Jr.)

  • React JS

Semana Acadêmica da Computação da Universidade Federal de São Carlos (SECOMP)

  • PythonQt

Programa de Educação Tutorial (PET-BCC)

  • Workshop de programação funcional com Haskell