|
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): 60 horas-aula
Carga-horária de atividades assíncronas (videoaulas, listas de exercícios): 12 horas-aula
Moodle:
Todas as informações relativas à disciplina estarão no Moodle.
Página da disciplina: https://www.moodle.ufu.br/course/view.php?id=5854
Os alunos matriculados receberão a senha de acesso à disciplina no Moodle por email 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 |
Introdução; Primeiro programa; Variáveis; |
2 |
Entrada e Saída; Expressões aritméticas; |
3 |
Expressões relacionais e lógicas; Comandos condicionais; |
4 |
Estruturas de repetição; |
5 |
Funções (parte 1); |
6 |
Funções (parte 2); Laços aninhados; |
7 |
Coleções (listas e vetores); |
8 |
Fatiamento de listas; Objetos na memória e suas referências; |
9 |
Matrizes; |
10 |
Strings; |
11 |
Tuplas; Sets; Dicionários; |
12 |
Módulos em Python; Classes (breve introdução); |
13 |
Busca sequencial; Ordenação; Custo computational; |
14 |
Busca binária; Recursão; |
15 |
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 através do Fórum de Dúvidas no Moodle.
AVALIAÇÃO
Sistema de Avaliação
Serão realizados 10 trabalhos práticos individuais, conforme apresentado na tabela a seguir.
Trabalhos |
Data de entrega |
Peso |
1 |
13/05 |
0,5 |
2 |
20/05 |
0,5 |
3 |
03/06 |
0,5 |
4 |
10/06 |
1,0 |
5 |
24/06 |
1,0 |
6 |
01/07 |
1,5 |
7 |
15/07 |
1,0 |
8 |
22/07 |
1,5 |
9 |
05/08 |
1,0 |
10 |
12/08 |
1,5 |
* 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 = ((T1+T2+T3)*0,5 + (T4+T5+T7+T9)*1,0 + (T6+T8+T10)*1,5) / 10
Obs.: Ti é a nota do Trabalho i.
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 no dia 17/08/2022 para a turma U e no dia 18/08/2022 para a turma V, e será cobrado todo o conteúdo ministrado. O estudante que realizar a atividade de recuperação e for aprovado (nota superior à 60 pontos) 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 Felipe Alves da Louza, Professor(a) do Magistério Superior, em 27/04/2022, às 11:39, 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 3548757 e o código CRC 8B28AFFB. |
Referência: Processo nº 23117.018223/2022-35 | SEI nº 3548757 |