DCC001Programação de Computadores

 

Carga Horária (Teórica): 60 Horas

Professor: Martín Gómez Ravetti (martin@dcc.ufmg.br)

Professor colaborador: David Menotti Gomes

 

1º Semestre de 2007

Horário:

·         (Teórica) Segunda-feira das 09:25h às 11:05h, Ciclo Básico – Instituto de Ciências Exatas – ICEx - Sala 2069

·         (Laboratório-Prática) Quarta-feira das 09:25 às 11:05, Ciclo Básico – Instituto de Ciências Exatas – ICEx - Sala 1010

§         Primeira meia turma das 9:25 às 10:15

§         Segunda meia turma das 10:15 às 11:05

Ementa

Metodologia de Desenvolvimento de Programas. Programa em Linguagem de Alto-Nível. Comandos Básicos, Estruturas de Dados, Modularização.

Objetivos

Objetivos Gerais

Introduzir os conceitos associados à informática e a sua utilização em um contexto de suporte às atividades do aluno e do futuro profissional. Ajudar a desenvolver o raciocínio lógico e a capacidade de abstração do aluno através da solução de problemas técnicos e científicos, utilizando eficientemente um sistema de computação e diferentes paradigmas de programação como ferramenta de apoio e uma metodologia para o domínio da complexidade de problemas típicos.

Objetivos Específicos

Ao final do curso, espera-se que o aluno seja capaz de:

·         Descrever a evolução dos sistemas de computação, situando as principais contribuições científicas e tecnológicas para a are;

·         Perceber o impacto da tecnologia da informática na sociedade e no sistema cognitivo humano devido ao aumento do poder computacional;

·         Descrever a estrutura, o funcionamento e os componentes de um computador;

·         Especificar um pequeno sistema de computação capaz de ajudar na solução de um problema a partir da caracterização da situação e do fornecimento de descrições de componentes;

·         Resolver problemas contextualizados, utilizando a informática na editoração eletrônica de idéias, na documentação e no suporte à resolução de problemas;

·         Utilizar redes de comunicação de dados, para pesquisa bibliográfica, troca de experiências e contatos;

·         Utilizar novas formas de representação de problemas associadas aos raciocínios algorítmico e heurístico e a organização da complexidade;

·         Utilizar recursos de informática, de forma, integrada, na produção de material impresso e não impresso, para divulgação e apresentação de idéias;

·         Utilizar diferentes paradigmas de programação (funcional, procedural e orientação ao objeto) na solução de problemas;

·         Utilizar a informática como suporte às atividades de estudo, pesquisa e solução de problemas;

·         Utilizar uma metodologia na solução de problemas;

·         Decompor a solução de um problema em módulos capazes de serem implementados em um computador, adotando uma disciplina de programação, reconhecendo as limitações e dificuldades do processo de programação;

·         Desenvolver algoritmos estruturados para a solução de problemas;

·         Submeter programas ao computador, utilizando módulos funcionais em um ambiente visual, corrigindo erros de sintaxe e de lógica, obtendo resultados satisfatórios;

·         Utilizar os conceitos básicos e a terminologia básica da área de computação;

·         Pesquisa referências bibliográficas primárias e secundárias consultando banco de dados bibliográficos e a Internet;

·         Utilizar estratégias de aprendizagem.

 

Programa

 

Módulo I: Algoritmos e Programação

·         Algoritmos

·         Algoritmos e Estruturas de Dados / Lógica

·         Construção de Algoritmos

·         Algoritmos e Pascal.

·         Algoritmos e Implementação / Funções

·         Linguagem de Programação / Depuração

·         Algoritmos e Implementação / Procedimentos

·         Procedimentos

 

Módulo II: Estruturas de Dados e Algoritmos

·         Estruturas de Dados

·         Estruturas de Dados – Vetores

·         Estruturas de Dados – Matrizes

 

Bibliografia Básica

·         Harry Farrer, Christiano Gonçalves Becker, Eduardo Chaves Faria, Helton Fábio de Matos, Marcos Augusto dos Santos, Miriam Lourenço Maia, Algoritmos Estruturados, LTC (Livros Técnicos e Científicos Editora LTDA) 3ª. Edição, 1999.

·         Ângelo de Moura Guimarães, Newton Alberto de Castilho Lages, Algoritmos e Estruturas de Dados, LTC (Livros Técnicos e Científicos Editora LTDA), 21a Tiragem, 1994.

·         Harry Farrer, Christiano Gonçalves Becker, Eduardo Chaves Faria, Frederico Ferreira Campos-Filho, Helton Fábio de Matos, Marcos Augusto dos Santos, Miriam Lourenço Maia, Pascal Estruturado, LTC (Livros Técnicos e Científicos Editora LTDA) 3ª. Edição, 1999.

·         Anita Lopes, Guto Garcia, Introdução à Programação: 500 Algoritmos Resolvidos, Editora Campus, 2002.

 

Avaliação da Aprendizagem

·         Quatro listas de exercícios: 20 pontos

·         Três testes: 80 pontos

 

Recursos

·Softwares

oTurbo Pascal 7.0

oPascal Zim [página oficial]

oBorland C

· Apostilas Pascal:

oTurbo Pascal – Ricardo Tolentino – FACE/FUMEC

oEssential Pascal [code] – Marco Cantù

oEssential Delphi [code] – Marco Cantù

· Apostilas C:

oRenato Cardoso Mesquita - DEE/UFMG

oCamillo - PUCPR

oGACLI - UNICAMP

oMenotiDCC/UFMG

· Aprenda Microsoft Visual C++ 5.0 em 24 horas (texto público, em inglês)

·Apostila de Matlab – Professor Frederico F. Campos – DCC/UFMG

·Tutorial Matlab On-line

Listas de Exercícios

·1ª. Lista de Exercícios

·2ª. Lista de Exercícios

·Trabalho prático

NOTAS PARCIAIS

·         Notas Finais ATUALIZADAS (formato pdf)

EXAME ESPECIAL

§         Dia 13/07/2007 às 16:00hs na sala 1014. (Somente para os alunos com notas finais  >= 40)