Skip to content

LorhanSohaky/UFSCar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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