Programação I - 2007/1

Esta é a página da disciplina Programação I ministrada por Francisco Rapchan para a turma de 1o período de Tecnologia em Sistemas de Informação do Cefetes. Nesta página você encontra: as Notas de Aulas, o Cronograma das Aulas, os Objetivos, o Plano de Ensino, a Bibliografia e alguns Sites Interessantes sobre a disciplina. Muitos arquivos disponíveis nesta página estão no formato PDF e você precisará do software Acrobat Reader para visualizá-los.

Francisco Rapchan
[email protected]

 

Trabalho de Implementação

Definição do trabalho de implementação

 

Notas de Aulas

1. Introdução

- Como funciona o computador (Material de referência da UFMG).

- Artigo da revista Mundo Digital sobre software livre.
- Entrevista com Sílvio Meira sobre o pólo de software de Recife - PE

 

2. Conceitos de Algoritmos - Estrutura seqüencial (Capítulos 1 e 2 do livro texto).

- Notas de aula de Estrutura Seqüencial

- VisuAlg 2.0. Ambiente para desenvolvimento de algoritmos. Manual. Download: Superdownloads
 

3. Estruturas de desvio condicional 

- Notas de aula de Estruturas Condicionais

 

4. Estruturas de repetição 
- Notas de aula de Estruturas de Repetição

 

Exercícios complementares (para a 1a prova)
- Exercicios_Complementares_01_Decisao_Repeticao.pdf

 

Convertendo algoritmos de Portugol para a linguagem C 
- Notas de aula de introdução à linguagem C
- Veja alguns sites interessantes sobre Linguagem C

- Veja alguns compiladores C.

- Para o Linux vamos usar o gcc (esse será nosso compilador oficial!)

- Para o windows, pode usar o DevC++.

 

5. Vetores
- Notas de aula sobre vetores.

 

6. Matrizes
- Notas de aula sobre matrizes.

 

Exercícios complementares (para a 2a prova)
- Exercicios_Complementares_02_Vetores_Matrizes.pdf

 

7. Tratamento de caracteres (strings)

- Notas de aula sobre strings.

 

8. Registros (structs)

- Notas de aula sobre registros.

 

9. Arquivos

- Notas de aula sobre arquivos

 

10. Funções

- Notas de aula sobre funções


- Material da UFMG sobre funções

- Material do NCE/UFRJ sobre funções
- Funções em C (Unicamp)
- C Programming/Procedures and functions
- Functions in C
 

 

Cronograma de Aulas

Aula

Data

Atividade Planejada

1

08/02

Apresentação do plano da disciplina. Avaliação diagnóstica.

2

13/02

Algoritmos - Estrutura seqüencial

3

15/02

Estruturas de desvio condicional

4

27/02

Estruturas de desvio condicional

5

01/03

Estruturas de repetição

6

06/03

Estruturas de repetição

7

08/03

Estruturas de repetição

8

13/03

Estruturas de repetição

9

15/03

Estruturas de repetição

10

20/03

Primeira Avaliação

11

22/03

Convertendo Algoritmos para a linguagem C

12

27/03

Convertendo Algoritmos para a linguagem C

13

29/03

Tipos agregados homogêneos (vetores)

14

03/04

Tipos agregados homogêneos (vetores)

15

10/04

Tipos agregados homogêneos (vetores)

16

12/04

Tipos agregados homogêneos (vetores)

17

17/04

Tipos agregados homogêneos (Matrizes)

18

19/04

Tipos agregados homogêneos (Matrizes)

19

24/04

Tipos agregados homogêneos (Matrizes)

20

26/04

Tipos agregados homogêneos (Matrizes)

21

03/05

Segunda Avaliação

22

08/05

Tratamento de caracteres

23

10/05

Tipos agregados heterogêneos (registros)

24

15/05

Tipos agregados heterogêneos (registros)

25

17/05

Tipos agregados heterogêneos (registros)

26

22/05

Tipos agregados heterogêneos (registros)

27

24/05

Tipos agregados heterogêneos (registros)

28

29/05

Arquivos (texto e binário)

29

31/05

Arquivos (texto e binário). Obs: Início do trabalho final

30

02/06

Sábado – Orientação e acompanhamento dos trabalhos

31

05/06

Funções e Procedimentos

32

12/06

Funções e Procedimentos

33

14/06

Funções e Procedimentos

34

16/06

Sábado – Orientação e acompanhamento dos trabalhos

35

19/06

Funções e Procedimentos

36

21/06

Funções e Procedimentos

37

23/06

Sábado – Orientação e acompanhamento dos trabalhos

38

26/06

Terceira Avaliação

39

28/06

Entrega do trabalho final (Quarta avaliação)

40

03/07

Divulgação dos resultados finais

41

05/07

Exame especial (prova final)

 

Objetivos da Disciplina

O objetivo geral da disciplina Introdução à Programação é capacitar o aluno a analisar problemas e projetar, implementar e avaliar soluções através do uso de metodologias que envolvam os elementos básicos da construção de algoritmos e programas de computador.

Pretende-se, dessa forma, ajudar os alunos a desenvolver os conhecimentos e habilidades necessários para para as disciplinas do segundo semestre que irão dar continuidade ao aprendizado de programação: Introdução a Programação Orientada a Objetos e Estrutura de Dados.

Como Objetivos específicos, temos:

Plano de Ensino

O conteúdo está dividido em 3 Módulos conceituais e um Projeto Integrado (trabalho). Ao final de cada módulo haverá uma prova cuja nota, somada à das atividades desenvolvidas ao longo do módulo, irão compor a Nota do Módulo.


Bibliografia
   

GUIMARAES LAGES
Algoritmos e Estruturas de Dados
.
Editora: LTC. ISBN: 8521603789.

 

ASCENCIO, Ana Fernandes G, CAMPOS, E A V de.
Fundamentos da Programação de Computadores
.
São Paulo: Prntice Hall, 2002.

 

SCHILDT, Herbert. C completo e total. 3 ed. São Paulo: Pearson Makron Books, 2006.

FARRER, H. Algoritmos Estruturados. 3ª edição. Rio de Janeiro: LTC- Livros Técnicos e Científicos, 1999.

WIRTH, Niklaus. Algoritmos e estruturas de dados. Rio de Janeiro: Prentice-Hall, 1989.


Sites Interessantes

Veja algumas técnicas para ser ser reprovado em programação.

História da linguagem C
Wikipéida sobre Linguagem de programação C com um breve histórico dessa linguagem.
O Desenvolvimento da Linguagem C contado por Dennis Ritchie, o autor da linguagem.
Quadro histórico das linguagens de programação contendo a árvore genealógica de cada linguagem.
Comparison of programming languages. Comparação entre várias linguagens. Muito interessante.
Why Pascal is Not My Favorite Programming Language. Brian W. Kernighan (co-autor da linguagem C).
Why C Is Not My Favourite Programming Language. (só leia isso depois de terminar a disciplina!).
Criticism of the C programming language. (só leia isso depois de terminar a disciplina!).
 

Livros, apostilas e cursos on-line da linguagem C
Curso de Linguagem C implementado pelo DEE da UFMG.
Curso de Linguagem C implementado pelo Prof. Adriano Cruz do NCE/UFRJ.

Outras referências sobre
C
Cartão de referência da linguagem C no Quick Reference Cards.
Everything you need to know about pointers in C (tudo o que você precisa saber sobre ponteiros em C).
Essential C. Stanford CS Education Library: A 45 page summary of the C language.
The C Book. A free online version of second edition by Mike Banahan, Declan Brady and Mark Doran.
Programming in C. From Wikibooks, the open-content textbooks collection.
The current standard for Programming Language C
C Programming
. Steve Holmes, University of Strathclyde.

Outros materiais
Guia Foca GNU/Linux
: traz desde explicações básicas sobre computadores e o sistema GNU/Linux até a administração e segurança do sistema.
História do computador. Página com muitas curiosidades (fotos, anúncios antigos, etc.) mantida pelo jornal Novo Milênio de Santos-SP.
Técnicas não convencionais de programação: POG - Programação Orientada a Gambiarras (só leia isso depois de terminar a disciplina).
 

Hosted by www.Geocities.ws

1