|
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 assíncronas (videoaulas, listas de exercícios, trabalhos práticos): 30 horas
Moodle:
- Todas as informações relativas à disciplina como materiais, trabalhos, vídeo-aulas, entre outros, serão informadas 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.
Atividades:
- As aulas serão realizadas a cada semana através de links no Moodle, 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; |
Atividades síncronas:
- Os encontros síncronos serão realizados todas às terça-feiras, das 10:40 às 12:20, por meio de ferramentas como o Google Meet, Microsoft Teams, Zoom, ou MConf/RNP.
- Os links serão divulgados no início de cada semana no Moodle.
Dia |
Horário |
Terça-feira |
10:40 - 12:20 |
Atendimento aos alunos:
- O atendimento aos alunos será realizado de forma remota durante as aulas na modalidade síncrona, ou através do Fórum de Dúvidas no Moodle.
Sobre a presença:
- A presença no curso será contabilizada semanalmente por chamada durante as aulas síncronas.
AVALIAÇÃO
Sistema de Avaliação
- O aluno deverá ter acesso a um computador para implementar os trabalhos (em linguagem Python). O interpretador Python pode ser instalado diretamente no computador do aluno, ou alternativamente, o aluno poderá utilizar softwares gratuitos via navegador WEB, como: https://repl.it/, https://paiza.io/en/languages/python3, https://www.python.org/shell/, e outros.
- Serão realizados 10 trabalhos práticos individuais, conforme apresentado na tabela a seguir.
Trabalhos |
Data de entrega |
Peso |
1 |
29/07 |
0.5 |
2 |
05/08 |
0.5 |
3 |
19/08 |
1.0 |
4 |
26/08 |
1.0 |
5 |
09/09 |
1.0 |
6 |
16/09 |
1.0 |
7 |
30/09 |
1.0 |
8 |
07/10 |
1.5 |
9 |
21/10 |
1.0 |
10 |
28/10 |
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 quinta-feira (da semana seguinte) até às 11h59.
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)*0.5 + (T3+T4+T5+T6+T7+T9)*1.0 + (T8+T10)*1.5) / 10
Obs.: Ti é a nota do Trabalho i.
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 24/06/2021, às 17:45, 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 2858750 e o código CRC 9A39C25D. |
Referência: Processo nº 23117.039263/2021-30 | SEI nº 2858750 |