|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902 |
|
Plano de Ensino
IDENTIFICAÇÃO
Componente Curricular: |
|||||||||
Unidade Ofertante: |
|||||||||
Código: |
Período/Série: |
Turma: |
|||||||
Carga Horária: |
Natureza: |
||||||||
Teórica: |
Prática: |
Total: |
Obrigatória: |
Optativa: |
|||||
Professor(A): |
Ano/Semestre: |
||||||||
Observações: |
EMENTA
Desenvolvimento de aplicações práticas em linguagens de script, com abordagem algorítmica e conceitos de avaliação de valores e de expressões; constantes, variáveis, strings, arrays e objetos; controle de fluxo de execução de código (sequência, instruções condicionais, laços, funções, encapsulamento). Noções de estrutura de dados, interpretadores, análise de algoritmos, computabilidade e complexidade. Conceitos de computação nas nuvens. Noções de empreendedorismo e de inovação.
JUSTIFICATIVA
O curso tem como objetivo capacitar os alunos para o desenvolvimento de algoritmos de acordo com o paradigma de programação script a partir de práticas de programação em linguagem Python.
OBJETIVO
Objetivo Geral: |
Desenvolver as habilidades dos discentes em programação de computadores para resolução de problemas em suas rotinas pessoais e profissionais através do emprego de linguagens de script. |
Objetivos Específicos: |
1. Desenvolver a compreensão de conceitos fundamentais de programação e de computação; |
PROGRAMA
1. Introdução
1.1. Programação de computadores
1.2. Linguagens de Script e Interpretadores
1.3. Repositórios (Github) e plataformas de desenvolvimento (servidores e computação nas nuvens)
1.4. Aplicativos e inovação
2. Programação Web
2.1. HTML e CSS
2.2. Primitivas, tipos de dado e estruturas: constantes, variáveis, strings, arrays
2.3. Instruções condicionais, laços, funções
2.4. Estrutura de dados composta: objeto JSON
2.5. Implementação e análise de algoritmos, estudo de complexidade
2.6. Rapid application development (RAD): Node-RED, Django
2.7. Desenvolvimento de aplicações
3. Linguagem Python
3.1. Primitivas, tipos de dado e estruturas: variáveis, strings, arrays
3.2. Instruções condicionais, laços, funções, recursão
3.3. Estruturas de dados compostas: Listas, arquivos, dicionários, classes
3.4. Implementação e análise de algoritmos, estudo de complexidade
3.5. Tópicos avançados, desenvolvimento de aplicações em nuvem
4. Cursos online abertos e massivos
4.1. HTML & CSS: https://www.codecademy.com/learn/learn-html-css
4.2. Javascript:
4.2.1. https://br.udacity.com/course/javascript-basics--ud804/
4.2.2. https://www.codecademy.com/learn/learn-javascript
4.3. Python:
4.3.1. https://br.udacity.com/course/programming-foundations-with-python--ud036/
4.3.2. https://www.codecademy.com/pt-BR/learn/python
METODOLOGIA
Distribuição das atividades:
Carga-horária de atividades presenciais (aulas): 72 horas-aula
Moodle:
Todas as informações relativas à disciplina estarão no Moodle.
Página da disciplina: https://moodle.ufu.br/course/view.php?id=11367
Os alunos matriculados receberão a senha de acesso à disciplina no Moodle na primeira semana de aula.
Cronograma:
Serão realizadas aulas presenciais expositivas com uso de projetor, quadro negro, e demais materiais, conforme o cronograma apresentado na tabela a seguir.
Semana |
Conteúdo |
1 |
Recepção dos calouros |
2 |
Introdução; Variáveis; Atribuições; |
3 |
Entrada e Saída; Expressões aritméticas; |
4 |
Expressões relacionais e lógicas; Comandos condicionais; |
5 |
Estruturas de repetição; |
6 |
Funções (parte 1); |
7 |
Funções (parte 2); Laços aninhados; |
8 |
Coleções (listas e vetores); |
9 |
Prova 1 |
10 |
Fatiamento de listas; Objetos na memória e suas referências; |
11 |
Matrizes; |
12 |
Strings; |
13 |
Tuplas; Sets; Dicionários; |
14 |
Busca sequencial; Ordenação; Custo computational;Busca binária; Recursão; |
15 |
Feriado - Não haverá aula |
16 |
Prova 2 |
17 |
Recuperação |
18 |
Revisão de notas e considerações finais |
Conteúdo extra:
1 |
Módulos em Python; Classes (breve introdução); |
2 |
Manipulação de arquivos; |
Atendimento aos alunos:
O atendimento aos alunos será realizado uma vez por semana na sala do professor na modalidade presencial, ou por meio do Fórum de Dúvidas no Moodle.
AVALIAÇÃO
Sistema de Avaliação
Serão realizadas 2 provas individuais, conforme apresentado na tabela a seguir.
Prova |
Data da prova |
Peso |
1 |
27/04 |
0,30 |
2 |
15/06 |
0,30 |
Serão realizados 10 trabalhos práticos individuais, conforme apresentado na tabela a seguir.
Trabalho |
Data de entrega |
Peso |
1 |
24/03 |
0,04 |
2 |
31/03 |
0,04 |
3 |
07/04 |
0,04 |
4 |
15/04 |
0,04 |
5 |
21/04 |
0,04 |
6 |
12/05 |
0,04 |
7 |
19/05 |
0,04 |
8 |
26/05 |
0,04 |
9 |
02/06 |
0,04 |
10 |
09/06 |
0,04 |
* O enunciado de cada trabalho será disponibilizado no início de cada semana, na segunda-feira às 08h00, e prazo para a entrega será na sexta-feira (da mesma semana) até às 17h59.
Sobre os trabalhos:
Cada trabalho abordará um tema referente ao conteúdo apresentado até a semana correspondente.
Os trabalhos serão propostos no modelo de programação para resolução de problemas e competições (ex: ICPC, OBI, maratona de programação da SBC) e serão avaliados por um sistema de correção automática e posteriormente verificados pelo professor.
Caso haja a detecção de plágio em um trabalho, todos os envolvidos receberão nota zero.
Distribuição da Pontuação da disciplina:
A nota final NF será calculada da seguinte forma:
NF = (P1*0,3 + P2*0,3 + (T1+T2+T3+T4+T5+T6+T7+T8+T9+T10)*0,4)) / 10
Avaliação de recuperação:
Será oferecida uma avaliação de recuperação para os discentes que não obtiverem o rendimento mínimo para aprovação e com frequência mínima de 75%.
A avaliação de recuperação será composta por uma prova escrita realizada no dia 22/06/2023, e será cobrado todo o conteúdo ministrado.
A nota da recuperação substituirá a menor nota de prova obtida pelo estudante.
O estudante que realizar a atividade de recuperação e for aprovado terá limitada a sua nota final em 60 pontos.
BIBLIOGRAFIA
Básica
1. MENEZES, Nilo Ney Coutinho. Introdução à programação com Python: algoritmos e lógica de programação para iniciantes. São Paulo: Novatec, 2010. 222 p., il. Inclui bibliografia e índice. ISBN 9788575222508 (broch.).
2. LUTZ, Mark. Aprendendo Python. Porto Alegre: Bookman, 2007. 566 p., il. Inclui índice. ISBN 9788577800131 (broch.).
3. FREEMAN, Elisabeth. Use a cabeça!: HTML com CSS e XHTML. 2. ed. Rio de Janeiro: Alta Books, 2008. viii, 580 p., il. (Use a cabeça!). ISBN 9788576082187 (broch.).
Complementar
1. DEWDNEY, A. K. The (new) turing omnibus: 66 excursions in computer science. New York: W.H. Freeman, 2001. 455 p., il. Inclui bibliografia e índice. ISBN 9780805071665 (broch.).
2. BRAD Miller; DAVID Ranum, Como pensar como cientista da computação. Aprendendo com Python: Edição interativa (usando Python 3.x) (Tradução do livro “How to Think Like a Computer Scientist: Interactive Version”, de Brad Miller e David Ranum). Versão online disponível em: https://panda.ime.usp.br/pensepy/static/pensepy/
3. SWEIGART. Al, Automate the Boring Stuff with Python, No Starch Press, 1ed.,2015, 504 p. Versão online disponível em: https://automatetheboringstuff.com/
4. LUTZ, Mark. Aprendendo Python. Porto Alegre: Bookman, 2007. 566 p., il. Inclui índice. ISBN 9788577800131 (broch.).
5. LINDLEY, Cody. JavaScript Succinctly. Editora Syncfusion, Inc., 2017. Versão online disponível em: https://www.syncfusion.com/ebooks/javascript
APROVAÇÃO
Aprovado em reunião do Colegiado realizada em: ____/____/______
Coordenação do Curso de Graduação: _________________________
| Documento assinado eletronicamente por Pedro Cunha Carneiro, Professor(a) Substituto(a) do Magistério Superior, em 03/02/2023, às 16:33, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
| A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 4240388 e o código CRC 92DE888B. |
Referência: Processo nº 23117.002527/2023-61 | SEI nº 4240388 |