UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Engenharia Elétrica

Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902
Telefone: (34) 3239-4701/4702 - www.feelt.ufu.br - feelt@ufu.br
  

Timbre

Plano de Ensino

IDENTIFICAÇÃO

Componente Curricular:

Programação Script

Unidade Ofertante:

FEELT

Código:

FEELT31107

Período/Série:

1º período

Turma:

B1/B2

Carga Horária:

Natureza:

Teórica:

30

Prática:

30

Total:

60

Obrigatória:

( X )

Optativa:

( )

Professor(A):

Igor Santos Peretta

Ano/Semestre:

2023/2

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

A disciplina de Programação Script foi cuidadosamente elaborada para proporcionar aos discentes uma experiência enriquecedora no desenvolvimento de habilidades fundamentais em programação de computadores, visando a resolução eficaz de problemas em suas rotinas pessoais e profissionais. O objetivo geral é dotar os alunos com sólidos conhecimentos em linguagens de script, em especial Python, capacitando-os a aplicar conceitos essenciais de programação e computação. Os objetivos específicos incluem a promoção da compreensão de conceitos fundamentais, o desenvolvimento de habilidades em trabalho em grupo, gestão de projetos e documentação, bem como a produção de códigos de qualidade através da adoção de boas práticas. Além disso, a disciplina busca cultivar a consciência, autonomia e responsabilidade dos alunos, tornando a atividade de programar computadores uma experiência prazerosa. Ao participar desta disciplina, os alunos estarão imersos em um ambiente propício ao aprendizado efetivo e à aplicação prática dos conhecimentos adquiridos, preparando-os para desafios e oportunidades no universo da programação e da tecnologia.

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:

- Desenvolver a compreensão de conceitos fundamentais de programação e de computação;

- Desenvolver as habilidades dos discentes tanto em trabalhar em grupo, gerenciar projetos e documentá-los quanto em produzir códigos de qualidade através da adoção de boas práticas de programação e de Test-Driven Development (TDD);

- Desenvolver a consciência, a autonomia e a responsabilidade dos discentes;

- Tornar prazerosa para os discentes a atividade de programar computadores.

PROGRAMA

Data    DDS    T/P    Eventos
11-Jan-2024    QUI        Recepção dos ingressantes e trote social PET/FEELT
18-Jan-2024    QUI    [T]    Introdução; Computadores e Hardware; Alan Turing e a Máquina de Turing; Turing-Completo e Programação (sequência, condição, repetição)
        [P]    Linguagem Python; Instalação (Interpretador, IDE, diferença); Estrutura básica de um programa; Testando o ambiente de desenvolvimento; Código fonte
25-Jan-2024    QUI    [T]    Tipos básicos (int, float, str); Variáveis e tipos; Variáveis e atribuições; Operações aritméticas (+, -, *, /, //, %, **); Codificação de caracteres (ASCII, UTF-8); Concatenando str
        [P]    Imprimindo na tela (print); f-String; Lendo dados do teclado (input); Exercícios sobre Operadores Aritméticos
01-Feb-2024    QUI    [T]    Tipo bool e operadores relacionais; Expressões relacionais; Expressões lógicas (and, or, not); Blocos de comando e o comandos operacionais de condição (if, if/else, if/elif/else); Aninhamento de condicionais
        [P]    Exercícios sobre Condições (desvios do fluxo do programa)
08-Feb-2024    QUI    [T]    Comandos de repetição (while/for+in range); Laços infinitos (break/continue/pass); Açúcar sintático (while/for + else); Aninhamento de laços
        [P]    Exercícios sobre Condições (repetições de trechos do fluxo do programa)
15-Feb-2024    QUI    [T]    Funções: o que são, pra que servem, como criá-las e como usá-las (princípios do reuso e da não duplicação de código); Escopo de Variáveis (global/local); Chamada e Retorno (simples) de Funções
        [P]    Exercícios sobre Funções
22-Feb-2024    QUI    [T]    Tipo composto [built-in]: tuple; Uso de tuple para retorno de múltiplos valores em funções; Funções recursivas
        [P]    Exercícios sobre Funções com múltiplos retornos e recursões
24-Feb-2024    SAB    [T]    Aulas extras (2ha): Listas em Python (list/append/len); Percorrendo listas (for+in); Acesso a elementos da lista
        [P]    Atividades acadêmicas extras (2ha): Revisão de conceitos e exemplos de códigos de programas
29-Feb-2024    QUI    [T]    Mais sobre Listas (del/clear/index/count/sort[ed]/reverse[d]); Pertinência em listas (in); Fatiamento de listas
        [P]    Exercícios sobre Listas
07-Mar-2024    QUI    [T]    Objetos mutáveis e imutáveis em Python (ex. tuple, list); Funções id/copy; Cópia de Listas por fatiamento; Concatenação (+) e extensão (extend); Compreensão de listas; Resumo sobre Listas
        [P]    Exercícios extras sobre Listas
14-Mar-2024    QUI        Vem pra UFU em Uberlândia
21-Mar-2024    QUI    [T]    Matrizes (listas de listas); Iniciação de matrizes por compreensão de listas; Imprimindo matrizes; Operações de matrizes: soma, transposta, multiplicação; Matrizes multidimensionais
        [P]    Exercícios sobre Matrizes
28-Mar-2024    QUI    [T]    Strings; Maiúsculas e Minúsculas (upper/lower/capitalize/title); Remoção e substituição (strip/replace); Busca por substrings (count/find); Separação e junção de strings (split/list/join); Métodos ord/chr; Módulo unidecode
        [P]    Exercícios sobre Strings
04-Apr-2024    QUI    [T]    Mais sobre Tuplas (tuple); Conjuntos (set -> add/remove/clear/copy/difference/intersection/symmetric_difference/union/update); Dicionários (dict -> keys/values/items/clear/get/setdefault/update); operadores e métodos mais utilizados
        [P]    Exercícios sobre Tuplas, Conjuntos e Dicionários
11-Apr-2024    QUI    [T]    Módulos: importação e uso; Criação de módulo; Testando seu módulo; Introdução a Classes em Python
        [P]    Exercícios sobre Módulos e Classes
13-Apr-2024    SAB    [T]    Aulas extras (2ha): Busca (sequencial e binária) e Ordenação (bolhas e binária)
        [P]    Atividades acadêmicas extras (2ha): Revisão de conceitos e exemplos de códigos de programas
18-Apr-2024    QUI    [T]    Arquivos: criação, leitura e manipulação; Arquivos Texto; Arquivos Binários; Módulo pickle
        [P]    Exercícios sobre arquivos
25-Apr-2024    QUI        Recuperação: Entrega de todos os projetos atrasados
02-May-2024    QUI        Período destinado a outras atividades acadêmicas (10 dias) para os campi de Uberlândia, Patos de Minas e Monte Carmelo

METODOLOGIA

Parte teórica: Aulas expositivas dialogadas com demonstrações práticas, diagramas e codificação-exemplo, acompanhadas de indicação para materiais de apoio.

Parte prática: Aulas práticas em laboratório com roteiros e apoio de sítios informativos de internet com discussão sobre dúvidas, exposição de exemplos e orientação em projetos.

Observação: Os materiais de referência e de apoio, assim como links relevantes, avaliações e repositório de materiais complementares, serão disponibilizados com o suporte do Moodle da UFU (https://moodle.ufu.br/course/view.php?id=12164).

AVALIAÇÃO

Parte teórica
- Avaliação continuada: atividades avaliativas do tipo questionário no Moodle quase toda semana + Projeto em grupo. Total máximo possível: 50% da nota final.
Parte prática
- Entrega de programas e avaliação dos mesmos, com diferentes níveis de dificuldade. Total máximo possível: 50% da nota final.
ATIVIDADE DE RECUPERAÇÃO (REC)
- Aceite da entrega de trabalhos atrasados com 10% de desconto na nota dos trabalhos entregues até o final do semestre letivo.

BIBLIOGRAFIA

Básica

1. FREEMAN, Elisabeth. Use a cabeça!: HTML com CSS e XHTML. 2. ed. Rio de Janeiro: Alta Books, 2008.

2. LUTZ, Mark. Aprendendo Python. Porto Alegre: Bookman, 2007.

3. MENEZES, Nilo Ney Coutinho. Introdução à programação com Python: algoritmos e lógica de programação para iniciantes. São Paulo: Novatec, 2010.

Complementar

1. DEWDNEY, A. K. The (new) turing omnibus: 66 excursions in computer science. New York: W.H. Freeman, 2001.

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/. Acesso em: 10 dez. 2018.

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/. Acesso em: 10 dez. 2018.

4. DAWSON, Mike. Python programming for the absolute beginner. 3rd ed. Boston: Course Technology Cengage Learning, c2010. Disponível em: http://www.loc.gov/catdir/enhancements/fy1105/2009933304-b.html. Acesso em: 10 dez. 2018.

5. LINDLEY, Cody. JavaScript Succinctly. Editora Syncfusion, Inc., 2017. Versão online disponível em: https://www.syncfusion.com/ebooks/javascript. Acesso em: 10 dez. 2018.

6. OEHLMAN, Damon. Aplicativos Web pro Android: desenvolvimento Pro Android usando HTML5, CSS3 & JavaScript. Rio de Janeiro: Ciência Moderna, 2012.

APROVAÇÃO

Aprovado em reunião do Colegiado realizada em: ____/____/______

Coordenação do Curso de Graduação: _________________________

 


logotipo

Documento assinado eletronicamente por Igor Santos Peretta, Professor(a) do Magistério Superior, em 23/01/2024, às 07:32, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


QRCode Assinatura

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 5120040 e o código CRC F6C9135D.




Referência: Processo nº 23117.002005/2024-41 SEI nº 5120040