|
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.
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 |
Prova 1 |
9 |
Coleções (listas e vetores); |
10 |
Fatiamento de listas; Objetos na memória e suas referências; |
11 |
Matrizes; |
12 |
Strings; |
13 |
Tuplas; Sets; Dicionários; |
14 |
Prova 2 |
15 |
Recuperação e revisão de notas |
16 |
Busca sequencial, ordenação, busca binária e recursão |
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 com data e horários a serem definidos no primeiro dia de aula, ou por meio do Fórum de Dúvidas no Moodle à qualquer momento.
AVALIAÇÃO
Sistema de Avaliação
Serão realizadas 2 provas individuais, conforme apresentado na tabela a seguir.
Prova |
Data da prova |
Peso |
1 |
28/02 (A) e 01/03 (C) |
0,35 |
2 |
10/04 (A) e 12/04 (C) |
0,35 |
Serão realizados 10 trabalhos práticos individuais, conforme apresentado na tabela a seguir.
Trabalho |
Data de entrega |
Peso |
1 |
27/01 |
0,03 |
2 |
03/02 |
0,03 |
3 |
10/02 |
0,03 |
4 |
17/02 |
0,03 |
5 |
24/02 |
0,03 |
6 |
09/03 |
0,03 |
7 |
16/03 |
0,03 |
8 |
23/03 |
0,03 |
9 |
30/03 |
0,03 |
10 |
06/04 |
0,03 |
* O enunciado de cada trabalho será disponibilizado no início de cada semana, na segunda-feira às 08h00, e prazo para a entrega será no sábado (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,35 + P2*0,35 + (T1+T2+T3+T4+T5+T6+T7+T8+T9+T10)*0,3)) / 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 17/04/2024, e será cobrado todo o conteúdo ministrado.
A prova de recuperação valerá 10 pontos que serão somados à nota final 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 15/01/2024, às 11: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 5102267 e o código CRC D4EE4929. |
Referência: Processo nº 23117.002005/2024-41 | SEI nº 5102267 |