Introdução à Programação - 2007/1

Esta é a página da disciplina Introdução à Programação ministrada para as turma de 1o período de Sistemas de Informação e Tecnologia em Análise e Desenvolvimento de Sistemas da Faculdade Salesiana. 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]

 

Notas de Aulas

ATENÇÃO: Usaremos o ambiente TeleEduc nessa disciplina: clique aqui para fazer sua inscrição.

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

Teórica

Prática

1

05/02

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

X

 

2

07/02

Introdução – Conceitos básicos (história da informática)

X

 

3

12/02

Algoritmos - Estrutura seqüencial

X

 

4

14/02

Estruturas de desvio condicional

X

 

5

26/02

Estruturas de desvio condicional

X

 

6

28/02

Laboratório – Conceitos básicos

 

X

7

05/03

Estruturas de repetição

X

 

8

07/03

Laboratório – Estruturas condicionais e de repetição

 

X

9

12/03

Estruturas de repetição

X

 

10

14/03

Laboratório – Estruturas condicionais e de repetição

 

X

11

19/03

Primeira Avaliação

X

 

12

21/03

Laboratório – Estudo dirigido:  O compilador C

 

X

13

26/03

Convertendo Algoritmos para a linguagem C

X

 

14

28/03

Laboratório - Convertendo Algoritmos para a linguagem C

 

X

15

02/04

Tipos agregados homogêneos (vetores)

X

 

16

04/04

Laboratório – Vetores

 

X

17

09/04

Tipos agregados homogêneos (Matrizes)

X

 

18

11/04

Laboratório – Vetores e Matrizes

 

X

19

18/04

Laboratório – Vetores e Matrizes

 

X

20

23/04

Exercícios de fixação (vetores e matrizes)

X

 

21

25/04

Laboratório – Vetores e Matrizes

 

X

22

30/04

Segunda Avaliação

X

 

23

02/05

Laboratório – Estudo dirigido: Tratamento de caracteres

 

X

24

07/05

Tipos agregados heterogêneos (registros)

X

 

25

09/05

Laboratório – Registros

 

X

26

14/05

Tipos agregados heterogêneos (registros)

X

 

27

16/05

Laboratório – Registros

 

X

28

21/05

Arquivos em C (texto e binário)

X

 

29

23/05

Laboratório – Arquivos. Obs: Início do trabalho final

 

X

30

28/05

Arquivos em C (texto e binário)

X

 

31

30/05

Laboratório – Arquivos

 

X

32

04/06

Funções e Procedimentos

X

 

33

06/06

Laboratório – Funções

 

X

34

11/06

Funções e Procedimentos

X

 

35

13/06

Laboratório – Funções

 

X

36

18/06

Funções e Procedimentos

X

 

37

20/06

Laboratório – Funções

 

X

38

25/06

Terceira Avaliação

X

 

39

27/06

Entrega do trabalho final (Quarta avaliação)

 

X

40

02/07

Divulgação das notas finais da disciplina

X

 

41

04/07

Exame especial (prova final)

X

 

 

Objetivos da Disciplina

O objetivo geral da disciplina Introdução à Programação é capacitar o aluno a analisar problemas, 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, habilidades e atitudes necessários para para as disciplinas do segundo semestre que irão dar continuidade ao aprendizado de programação: 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. Veja o Plano de Ensino no modelo Salesiano.


Bibliografia

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

 

Bibliografia Complementar

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

GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e estruturas de dados. 1.ed. Rio de Janeiro: LTC, 1985. 

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

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

ZIVIANI, Nivio. Projeto de algoritmos. 2ª edição. Thomson / Pioneira, 2004


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