Introdução a Programação (SI2)
Departamento de Estatística e Informática - DEINFO
Universidade Federal Rural de Pernambuco - UFRPE
Bacharelado em Sistemas de Informação - BSI
Professor: Cleviton Monteiro
Identificação da Disciplina
Código: 06236
Carga horária total: 90h
Carga horária semanal: 6h (2 teóricas, 4 práticas)
Número de créditos: 4
Área: Sistemas Computacionais
Turma: SI2
Objetivo da disciplina
O objetivo principal desta oferta de disciplina é fornecer ao estudante a introdução à lógica, às técnicas e às principais estruturas de programação.
Comunicação
Grupo do Facebook: https://www.facebook.com/groups/1503082710009897/?ref=browser
Ementa
Fundamentos da construção de algoritmos e programas. Ambientes de programação: uso de uma linguagem de programação. Conceitos básicos: variáveis, operadores e expressões, estruturas de controle (atribuição, seleção, repetição). Dados estruturados: listas, cadeias, dicionários, tuplas). Subprogramas: funções, procedimentos. Parâmetros locais e globais. Recursão. Ordenação interna: bublesort, inserção, shellsort, heapsort, quicksort. Pesquisa interna: seqüencial, binária. Modularização. Complexidade temporal de algoritmos. Introdução a programação orientada a eventos. Introdução a programação orientada a objetos. Introdução a programação orientada a aspectos. Projeto: desenvolvimento de um programa de porte médio.
Conteúdo Programático - Unidades e Assuntos
1. Algoritmo e linguagens
1.1 Algoritmo (fluxograma). 1.2 Instruções de um algoritmo. 1.3 Tipos de linguagens. (máquina, simbólica, abstrata). 1.4 Programa, compilação, interpretação e execução.
2. Ambiente de programação
2.1 Conceitos básicos de uma linguagem: variáveis, tipos, estruturas de controle. 2.2 Declaração de tipo simples. 2.3 Comandos de entrada e saída. 2.4 Comando de atribuição. 2.5 Operadores e expressões. 2.6 Exercícios em laboratório.
3. Tipos estruturados
3.1 Listas 3.2 Filas 3.3Array unidimensional (vetor). 3.4 Array bidimensional (matriz). 3.5. Arquivos. 3.6. Exercícios em laboratórios
4. Subprogramas
4.1 Função com parâmetro. 4.2 Subroutine com parâmetro. 4.3 Passagem de parâmetro. 4.4. Exercício em laboratório
5. Algoritmos
5.1 Pesquisa sequencial e binária 5.2 bublesort 5.3 inserção 5.4 shellsort 5.5 heapsort 5.6 quicksort.
6. Noções de Complexidade e Paradigmas de Programação
6.1 Notação o, O, Ω e Ө. 6.2 Introdução a programação orientada a eventos. 6.3 Introdução a programação orientada a objetos. 6.4 Introdução a programação orientada a aspectos.
7. Projeto de Implementação.
Monitoria
Monitor: Bernardo de Moraes - email: bernardodemsj@gmail - Whatsapp 99633-5770
Cronograma das aulas, trabalhos e avaliações
aula | data | assunto | Divulgação |
---|---|---|---|
1 | 10.mar.16 |
Apresentação e introdução (00 Apresentação do Curso) | Livros digitais de Python no Ebrary - intranet UFRPE: clique aqui Instruções da Biblioteca Central para acesso ao Ebrary: clique aqui |
2 | 11.mar.16 | Algoritmos Introdução (01 Introdução) | Ler o primeiro capítulo (motivação) do livro "Introdução à Programação com Python" de Nilo Menezes, disponível online no site da editora: clique aqui |
3 | 15.mar.16 | Algoritmos - conceitos básicos (02 Algoritmos) | |
4 | 17.mar.16 | Algoritmos - conceitos básicos (02 Algoritmos) | Lista de exercícios 2 - Algoritmos |
5 | 18.mar.16 | Algoritmos - Exercícios (03 Algoritmos - Exercícios) | Resolução dos exercícios (Solução - 03 Algoritmos) |
6 | 22.mar.16 | Python - Introdução (04 Python - Introdução) | Site com muitos exercícios: http://wiki.python.org.br/ListaDeExercicios Site com desafios e questões resolvidas: http://www.checkio.org/ Que tal criar aplicativos programando em blocos? http://appinventor.mit.edu/ |
7 | 24.mar.16 | Python - Introdução (04 Python - Introdução) | Resolução - 04 Introdução |
8 | 29.mar.16 | Python - Condicionais e loops (05 Python - Condicionais e Loops) | Lista de exercícios 3 - Introdução a Python Resolução - 05 Condicionais e Loops |
9 | 31.mar.16 | Python - Condicionais e loops (05 Python - Condicionais e Loops) | |
10 | 01.abr.16 | Python - Condicionais e loops (05 Python - Condicionais e Loops) | |
11 | 05.abr.16 | Exercícios - Condicionais e loops | Resolução - Lista 03 |
12 | 07.abr.16 | Mini teste 1 (valor: ponto) - Algoritmos e Python (condicionais e loops) | |
13 | 08.abr.16 | Python - Strings (06 Python - Strings) | Lista de exercícios 4 - Strings |
14 | 12.abr.16 | Python - Strings (06 Python - Strings) | |
15 | 14.abr.16 | Python - Listas (07 Python - Listas) | Lista de exercícios 5 - Listas Resolução - 07 Listas |
16 | 15.abr.16 | Python - Listas (07 Python - Listas) | |
17 | 19.abr.16 | Python - Listas (07 Python - Listas) | |
18 | 22.abr.16 | Exercícios - Strings e listas | Resolução - Lista 4 (String) Resolução - Lista 5 (Listas) |
19 | 26.abr.16 | Mini teste 2 (Valor: 1 ponto) - Strings e Listas | |
20 | 28.abr.16 | Busca/pesquisa sequencial e binária (08 Pesquisa sequencial e binária) | |
21 | 29.abr.16 | Prova 1 (VA) (valor: 5 pontos) | |
22 | 03.mai.16 | Python - Funções (09 Python - Funções) | |
23 | 05.mai.16 | Python - Funções (09 Python - Funções) | Resolução - 09 Funções |
24 | 06.mai.16 | Python - Dicionários (10 Python - Dicionários) | Lista de exercícios 6 - Dicionários Dicionários - Resolução exercícios e lista |
25 | 10.mai.16 | Python - Dicionários (10 Python - Dicionários) | |
26 | 12.mai.16 | Exercícios - Funções e dicionários | |
27 | 13.mai.16 | Mini teste 3 (valor: 1 ponto) - Funções e dicionários | |
28 | 17.mai.16 | Apresentação do projeto 1 (valor: 3 pontos) | |
29 | 19.mai.16 | Python - Arquivos (11 Python - Arquivos) | Lista de exercícios 7 - Arquivos |
30 | 20.mai.16 | Python - Arquivos (11 Python - Arquivos) | Resolução - 11 Arquivos |
31 | 24.mai.16 | Aula prática: Projeto 2 | |
32 | 27.mai.16 | Python - Ordenação (12 Ordenação) | |
33 | 31.mai.16 | Python - Ordenação (12 Ordenação) | |
34 | 02.jun.16 | Exercícios - Arquivos e ordenação | Resolução - Lista 7 (Arquivos) |
35 | 03.jun.16 | Mini teste 4 (valor: 1 ponto) - Arquivos e ordenação | |
36 | 07.jun.16 | Python - OO (13 Python - OO Parte 1) | Lista de exercícios 8 - OO |
37 | 09.jun.16 | Python - OO (13 Python - OO Parte 1) | |
38 | 10.jun.16 | Python - OO (13 Python - OO Parte 1) | |
39 | 14.jun.16 | Exercícios - OO | Resolução - 13 OO |
40 | 16.jun.16 | Python - OO (parte 2) (14 Python - OO Parte 2) | Resolução - 14 OO |
41 | 17.jun.16 | Exercício especial | Resolução - 14 OO - Ex5 |
42 | 21.jun.16 | Python - OO (parte 3) (15 Python - OO Parte 3) | |
43 | 23.jun.16 | Exercícios - Python OO (partes 2 e 3) | Resolução - 15 OO - Slide e Lista |
44 | 28.jun.16 | Prova 2 (VA) (valor: 5 pontos) | |
01.jul.16 | Envio do projeto 2 por e-mail (valor: 3 ponto) | ||
45 | 05.jul.16 | Prova 3 (VA) (valor: 10 pontos) | |
07.jul.16 | Prova final |
Plano de Ensino
Clique aqui para ver o plano de ensino
Referências Bibliográficas
1. Menezes, Nilo. Introdução à Programação com Python: algoritmos e lógica de programação para iniciantes. Editora Novatec, 2010.
2. Lopes, Anita e Garcia, Guto. Introdução a Programação. Editora Campus, 2002.
3. Cormen, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002.
4. Ziviani, Nivio. Projeto de Algoritmos. Editora Nova Fronteira, 2004.
5. Sebesta, Robert W. Conceitos de Linguagens de Programação. Bookman, 2001.
6. Van Rossum, Guido. Tutorial de Python. Disponível gratuitamente em http://python.org/, 2004.
7. Nieto, T. R. Internet & World Wide Web. Como Programar. Bookman, 2003.
8. Deitel, Harvey M. et. al. XML Como Programar. Bookman, 2003.