Laboratório de Programação

2024/2 - Turma 0604

Ementa

Módulos, Funções, Argumentos e Escopos de Variáveis. Estruturas de dados Listas, Tuplas e Dicionários. Manipulação de Arquivos. Bibliotecas.

Competências

Ao final da disciplina, o aluno deverá estar apto a interpretar e resolver problemas específicos utilizando a Linguagem de Programação Python.

Objetivos

Geral:
- Capacitar o acadêmico a interpretar problemas e implementar soluções para ele utilizando recursos diversos da linguagem Python.

Específicos:
- Preparar o aluno para utilizar de forma correta (conforme a sintaxe da linguagem) as estruturas da linguagem (declaração de variáveis, condicionais, laços de repetição);
- Apresentar as palavras reservadas e sua utilização, os tipos de dados primitivos (imutáveis) e tipos de dados por referência (mutáveis);
- Apresentar a utilização da modularização de algoritmos através de funções ou métodos.

Programa

- Revisão de Lógica de Programação e da disciplina Algoritmos e Programação I;
- Estruturas de programação: comandos e blocos de construção básicos; condicionais; repetição;
- Modularização de algoritmos: módulos e funções;
- Passagem por parâmetro: valor e referência;
- Tipos de dados: imutáveis e mutáveis;
- Listas e suas operações;
- Tuplas e suas operações;
- Strings;
- Dicionários;
- Manipulação de arquivos.

Metodologia

O Aporte Teórico-metodológico de Competências será oferecido por meio de aulas expositivas, resolução de problemas em classe com e sem o auxílio do grupo. Será utilizada a linguagem de programação Python para a implementação dos códigos que solucionam os problemas interpretados.

O Trabalho Discente Efetivo se dará por meio de apresentação de problemas a serem interpretados e solucionados com a implementação de programas. Nessas atividades, individuais ou em grupo, os alunos deverão se aprofundar no assunto com o apoio do material indicado, seguindo as instruções passadas pelo professor, e compartilhar o conhecimento obtido.

Web Aula na plataforma CANVAS: 03 aulas online serão disponibilizadas em um sistema web, compostas por recursos didáticos - como textos, apresentações e vídeos - e atividades individuais ou em grupo, seguindo as determinações da Portaria MEC nº 2.117, de 06 de dezembro de 2019.

Avaliação

A avaliação da aprendizagem será progressiva de modo que a Média Parcial (MP) é o resultado do seguinte cálculo: (Avaliação de Grau 1 (G1) + (Avaliação de Grau 2 (G2) * 2)) / 3.

A composição das notas das avaliações ocorrerá da seguinte maneira:
- G1 – 10,0 pontos: atividades individuais e/ou em grupos e avaliação individual, abrangendo o conteúdo abordado até a data da avaliação;
- G2 – 10,0 pontos: atividades individuais e/ou em grupos e avaliação individual, abrangendo todo o conteúdo estudado no semestre;

O aluno que não alcançar a pontuação mínima (6,0), poderá realizar o Exame Final (EF) desde que tenha cumprido o seguinte requisito: ter no mínimo 75% de frequência.
Exame Final (EF) – 10,0 pontos: Ao realizar o Exame Final, o cálculo da Média Final (MF) passa a ser o seguinte: (MP + (EF * 2)) / 3.

** Se o(a) aluno(a) desejar melhorar sua pontuação, poderá realizar o Exame Final (EF), mesmo tendo alcançado a pontuação mínima necessária para aprovação (6,0). A avaliação será individual, seguindo a data prevista em calendário acadêmico.

Bibliografia

Básica

ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi de. Fundamentos de programação de computadores: algoritmos, PASCAL, C/C++ (padrão ANSI) e JAVA. 3. ed. São Paulo: Pearson Education do Brasil, 2012. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/417. Acesso em: 25 mar. 2022.

BANIN, Sérgio Luiz. Python 3: conceitos e aplicações: uma abordagem didática. São Paulo: Érica, 2018. E-book. [Minha Biblioteca]. Disponível em: https://integrada.minhabiblioteca.com.br/reader/books/9788536530253. Acesso em: 29 mar. 2022.

RAMALHO, Luciano. Python fluente: programação clara, concisa e eficaz. São Paulo: Novatec, 2016.

Complementar

ALVES JUNIOR, Fábio. Introdução à linguagem de programação Python. Rio de Janeiro: Ciência Moderna, 2013.

BORGES, Luiz Eduardo. Python para desenvolvedores. São Paulo: Novatec, 2015.

FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estrutura de dados. 3. ed. São Paulo: Prentice Hall, 2005. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/323. Acesso em: 2 fev. 2022.

GUEDES, Sérgio (org). Lógica de programação algorítmica. São Paulo: Pearson Education do Brasil, 2014. E-book. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/22146. Acesso em: 28 fev. 2022.

PERKOVIC, Ljubomir. Introdução à computação usando o Python: um foco no desenvolvimento de aplicações . São Paulo: Novatec, 2016.

Material Digital

Treine algoritmos e desafios de programação.: https://www.beecrowd.com.br/judge/pt/categories

Pense em Python: https://pense-python.caravela.club/introducao.html
Tradução do livro Think Python (2ª edição), de Allen B. Downey, traduzido e publicado no Brasil pela Editora Novatec sob licença da O'Reilly Media. sta versão digital de Pense em Python em português foi gerada por Luciano Ramalho da ThoughtWorks a partir de arquivos cedidos por Rubens Prates da Editora Novatec.

Como Pensar Como um Cientista da Computação - Aprendendo com Python: Edição interativa (usando Python 3.x): https://panda.ime.usp.br/pensepy/static/pensepy/
Tradução do livro How to Think Like a Computer Scientist: Interactive Version de Brad Miller e David Ranum [Luther College]. Traduzido por: C. H. Morimoto, J. C. de Pina Jr. e J. A. Soares.

Tutorial de python.org: https://docs.python.org/pt-br/3/tutorial/

Informações da Turma
Curso
Engenharia de Software
Período: 2
Carga Horária: 76h
Horário: 6N
Sala: Labin I -