Skip to content

psmorandi/cic_ufrgs

Repository files navigation

cic_ufrgs

All my works done at UFRGS as BSc Computer Science student.

pt-BR (copy and past of a really old webpage):

TRABALHOS

Classificação e Pesquisa de Dados:

TRABALHO 1: Implementação do Quick Sort e do Buble Sort em C++ (Versão para Unix (Linux) 6,0 KB - Para descompactar a versão Linux use $tar zvxf sort.tar.gz) TRABALHO 2: Implementação do Merge Sort e do Heap Sort em C++ (Executável (Win32)) TRABALHO 3: Leia o comentário no fonte e você vai entender tudo (ou não...Executável Win32, Fonte da Versão para Win32) TRABALHO FILNAL: Trabalho final, click no link para descrição completa.

Arquitetura de Computadores:

SEMANA: Calcula o dia da semana da data que o usário digitar. Trabalho feito em ASSEMBLER (Código Fonte). Obs: os dados devem ser digitados em MAIÚSCULO Trabalhos em C: SOMATÓRIO: Somatório de Números, com início e fim dados pelo usuário. CONTADOR DE LETRAS: Conta o número de letras que o usuário digitou. CPUID: Imprime o fabricante do processador. Esse é apenas um exemplo de como colocar códigos ASSEMBLER em C. ANALISANDO O DISQUETE: Imprime o conteúdo das 4 primeiras entradas do disquete. Este programa faz uso das bibliotecas conio.h e dos.h, sendo portanto executável apenas no DOS.

Organização de Computadores B:

MULTIPLICAÇÃO: Multiplicação de dois números inteiros sem sinal para o processador MIPS utilizando o simulador SPIM.

Modelos de Linguagens de Programação:

RACIONAL CLASS: Classe desenvolvida em java para suporte de números complexos (Link para o javadoc). DIGITO: Programa desenvolvido em uma linguagem funcional denominada ML (mosML). Esse programa calcula o dígito de verificação de uma lista de 10 números. MAIN: Programa desenvolvido em uma linguagem de programação lógica (PROLOG). Esse programa lista várias coisas sobre filmes e cinemas levando em consideração as bases de dados presentes dentro do zip.

Tecnicas de Construcao de Programas:

Planilha Eletronica Beta: Planilha de Calculos desenvolvida na disciplina Tecnicas de Construcao de Programas utilizando o Turbo Pascal. Codigo Fonte zipado

Linguagens Formais e Automatos:

DFA Minimizer®: Programa desenvolvido em java que minimiza automatos finitos determinísticos.

Teoria das Categorias:

CatRON® Versão 1.0 Final: Programa desenvolvido em java que reconhece categorias e funtores, verifica se uma categoria é subcategoria de outra e compõe funtores. Exemplo de um arquivo de categorias: 1+1.ctg. Exemplo de um arquivo de funtores: f07.fnt. Código Fonte: source.zip. CatRON® Versão 2.0 Final: Programa desenvolvido em java que, além das funcionalidades da versão 1.0, trabalha com conceitos de monomorfismo, epimorfismo e isomorfismo, bem como, produto binário, equalizador, objeto inicial. Este trabalho explora também a dualidade das categorias: apenas 1 rotina foi implementada para calcular o equalizador, para o co-equalizador basta usar a categoria dual e calcular o equalizador (o mesmo para objeto terminal, co-produto binário e epimorfismo). Exemplo de um arquivo de categorias: 1+1.ctg. Exemplo de um arquivo de funtores: f07.fnt. Código Fonte: fonte.zip.

Fundamentos de Processamento Gráfico:

Museu 3D: Programa desenvolvido em C++ com OPENGL que modela 4 salas de um museu 3D. Trabalha com iluminação, texturas e detectação de colisões.

Fundamentos de Inteligência Artificial:

HEX 11x11 Second Round Version: Jogo desenvolvido em C++/Opengl que visa implementar e trabalhar com o algoritmo MINIMAX para jogos de 2 jogadores. Após o desenvolvimento do jogo, participa-se de um campeonato entre os alunos para saber qual programa possui uma inteligência mais apurada. Resultado do Campeonato: 3 vitórias, 18 derrotas. Relatório do Jogo. Código Fonte: hex.zip.

Semântica Formal:

Semântica Operacional da Linguagem IMP: Trabalho que desenvolve uma semântica operacional BIG STEP para a Linguagem IMP, além da Semântica de Tipos. Implementação do parser e do interpretador com checagem de tipos da linguagem IMP em OCaml: imp.zip.

Compiladores:

Trabalho 1: Dado um arquivo de entrada, este programa desenvolvido em C++ insere os números das linhas e das áginas do documento. Trabalho 2: Respostas de alguns exercícios do livro do dragão de Compiladores. Analisador Léxico: Implementação do Analisador Léxico para a linguagem SOOP (Simple Object-Oriented Programming). Dentro do arquivo zip encontra-se o arquivo das definições da gramatica da linguagem (soop.l) para ser utilizado junto com o LEX (flex para Windows). Trabalho 4: Respostas de alguns exercícios dados em aula.

Interação Homem-Computador:

Trabalho 1: Dados sobre a estação de trabalho atual utilizada pelo presente autor. Trabalho Final: Trabalho onde foi feita a análise de IHC de quatro sites: Detran-RS, Detran-MA, Saraiva e Cultura.

Engenharia de Software:

Trabalho Final: Especificação de um sistema de contas a pagar/receber.

Tolerância à Falhas:

Notas de Aula: Notas feitas por mim na aula de tolerância à falhas. ATENÇÃO: Não me responsabilizo por anotações que por ventura estejam erradas. Trabalho: Trabalho feito na disciplina sobre uma arquitetura tolerante a falhas. No caso, foi analisada a arquitetura do NEC Express 5800.

Sistemas Operacionais 2:

SOPA Sistema Operacional Para Avaliação, desenvolvido em java, para a MÁ-QUINA. No semestre em que esse trabalho foi desenvolvido, a parte de hardware já estava pronta, o que se deveria implementar era o sistema operacional (SOPA - Sistema Operacional para Avaliação). Foi requisitado também a criação de uma rede virtual de MÁ-QUINAS, logo deveria ser implementado a parte física (placa de rede) e a parte de interconexão (hub, por exemplo). Array Distribuído: Desenvolvido em C++, o objetivo deste trabalho é trabalhar um pouco com sockets e experimentar um pouco o trabalho com dados distribuídos e programação de sockets.

Protocolos de Comunicação:

Notas de Aula: Algumas anotações feitas durante as aulas de protocolos.

Atividades Prátifcas:

HTTP: Atividade prática onde foi implementado o protocolo HTTP para pegar informações de páginas html. Feito em PHP. Modo de usar: digita http://www.inf.ufrgs.br/:80 e clica no botão. É necessário digitar todo o caminho, inclusive a porta. (Código Fonte). Obs.: Não funciona no portal.inf.ufrgs.br, não pode criar sockets. WEBSERVICES: Atividade prática onde o cliente faz uma requisição para um servidor para somar ou multiplicar dois números. Para funcionar é necessário que os arquivos estejam na máquina servidora com apache rodando e configurado para rodar php. A máquina cliente deve rodar o client.php (Código Fonte do Servidor, Código Fonte do Cliente). obs.: É necessário o arquivo nusoap.php para funcionar, o mesmo segue dentro do tar.gz dos arquivos. SMTP: Atividade prática onde devemos desenvolver um programa que recebe mensagens acessando um servidor smtp. Desenvolvido em PHP. Código Fonte POP: Atividade prática onde foi desenvolvido um programa de envio de e-mail utilizando o protocolo POP. Desenvolvido em PHP. Código Fonte

Trabalhos:

ICMP: A descrição desse trabalho encontrasse no link. WEBSERVICES: A descrição desse trabalho encontrasse no link.

Empreendimentos em Informática:

Plano de Negócio Individual: Plano de negócio requisitado pelo professor. Para obtê-lo clique aqui.

Inteligência Artificial Avançada:

Anasazi: Modelagem do cenário Anasazi no ambiente de agentes do SeSAm. Resumo do artigo modelado. Cenário do SeSAm. Apresentação utilizada em aula.

About

All my works done at UFRGS as BSc Computer Science student.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors