Introduzir as estruturas e formalismos computacionais básicos utilizados em Engenharia, aplicados à solução de problemas da Engenharia Elétrica e da Engenharia de Computação.

Goals:

The goal is to introduce the basic computational structures and formalisms used in the solution of problems in the area of Electrical Engineering and Computer Engineering.
· Familiarização com instrumentação de bancada.
· Observação prática e montagem de dispositivos de eletrônica digital.
· Treinamento em depuração.
· Treinamento de trabalho em grupo
· Aprendizado dos processos de documentação de circuitos digitais
Apresentar uma introdução aos fundamentos matemáticos da Ciência da Computação, com ênfase em linguagens, reconhecedores (autômatos) e geradores (gramáticas). Enfatiza-se o estudo de dois tipos de questões no nível teórico: (i) Quais computações podem ser feitas em um computador? (ii) Quão eficientemente podem ser realizadas?
Introduzir ao aluno os conceitos essenciais de Inteligência Artificial, enfatizando os problemas tratados, as linguagens utilizadas e principais aplicações práticas.

Goals:

Introduce students to the essential concepts of Artificial Intelligence, emphasizing the main languages used and practical applications.
O objetivo desta disciplina é o de familiarizar os alunos com a área de pesquisa de Sistemas Multiagentes. Nascida de interesses comuns das áreas de Inteligência Artificial, Lógica, Ciências Sociais e Sistemas Distribuídos, a área estuda modelos, teóricos e algorítmicos, de agentes artificiais autônomos que interagem para resolver um determinado problema. O objetivo da disciplina é o de introduzir os conceitos básicos da área, bem como o de apresentar os principais temas atuais de pesquisa.
Estudo e análise de teorias e técnicas de inteligência artificial. Desenvolver trabalhos baseados nos tópicos do curso. Motivar o desenvolvimento de teses e dissertações que usam técnicas de inteligência artificial.
Tópicos teóricos: Conceitos de linguagens de programação e seus processadores. Paradigmas. Componentes, itens léxicos e sintáticos. Semântica. Análise léxica. Meta-linguagens. Especificação formal da sintaxe de linguagens de programação. Análise sintática. Gramáticas e autômatos de pilha estruturados. Obtenção de reconhecedores. Métodos descendentes e ascendentes. Estruturas de controle. Ambientes de execução. Linguagens intermediárias. Código-objeto. Bibliotecas. Análise semântica e geração de código. Estruturas de dados. Tipos de dados. Declarações, manipulação de dados. Seleções, operações, expressões, atribuições, declaração e chamadas de funções e procedimentos. Parâmetros e argumentos. Conceitos de recuperação de erros e de otimização de código. Geração automática de analisadores léxico e sintático.