Programação II - IT7625 [2022.2]

Ementa: Introdução a estruturas de dados. Listas, filas, pilhas, deques e grafos. Introdução a complexidade algorítmica.

Metodologia: Os procedimentos utilizados centram-se na atividade reflexiva e interativa do aluno, resgatando suas concepções através da ação – reflexão - ação sobre o objeto do conhecimento. As atividades propostas são pautadas através de situações problemas, pesquisa de campo, entrevistas/relato de experiências relacionadas à disciplina, estudos de caso, estudos de textos e exposições dialogadas.
O Componente Curricular será desenvolvido de forma presencial onde serão realizadas atividades teóricas e práticas que serão disponibilizadas no site pessoal do professor (www.rogerio.in).
As atividades serão realizadas aulas teóricas, expositivo-dialogadas, poderá haver exibição de vídeos, apresentações, com explanações e discussões/debates sobre os conteúdos, permitindo a interação docente-discente. Também serão indicados e-books gratuitos, vídeo-aula ou os disponíveis na Biblioteca Digital da Unipampa. Os conteúdos também serão trabalhados de forma assíncrona, a partir de vídeos e leituras de capítulos de livro.
Para atendimento e comunicação com os discentes matriculados na componente será usado o E-mail institucional (rogeriovargas@unipampa.edu.br). A frequência das atividade será dada durante a aula.
SOBRE DIREITOS AUTORAIS E DE IMAGEM: Os materiais disponibilizados aos acadêmicos são exclusivamente para fins didáticos, sendo proibida a sua utilização para qualquer outra finalidade, sob as penas das leis vigentes. Todos os materiais de terceiros que venham a ser utilizados devem ser devidamente referenciados, indicando a autoria, sob pena de plágio. Somente poderão ser gravadas pelos alunos as atividades síncronas propostas mediante concordância prévia dos professores e colegas, sob as penas legais. É proibido disponibilizar, por quaisquer meios digitais ou físicos, os dados, a imagem e a voz de colegas e do professor, sem autorização específica para a finalidade pretendida. Os materiais disponibilizado pelo professor possuem licença de uso e distribuição específica, sendo proibida a reprodução e distribuição do material cuja licença não permita ou sem a autorização prévia dos professores para o material de sua autoria.

Objetivo Geral: Capacitar o aluno a identificar, analisar e aplicar conhecimentos sobre as diferentes estruturas de dados existentes, tornando-o capaz de aplicá-las adequadamente.

Objetivos Específicos: Desenvolver estruturas de listas, filas, pilhas, deques. Representar e aplicar algoritmos em grafos utilizando representações baseadas em vetores e matrizes.

Avaliação do processo de ensino-aprendizagem: DAs avaliações serão em grupo e serão realizadas no horário da aula.
Uma nota final (NF), a avaliação do processo de ensino-aprendizagem deve ser processual, contínua e cumulativa, através de avaliações diagnósticas, formativas e somativas. Avaliação diagnóstica: determinação da presença ou ausência de habilidades e/ou pré-requisitos essenciais para o acompanhamento do conteúdo apresentado, através da observação dialogada com os alunos. Avaliação formativa: aplicação de estudos dirigidos, correções de exercícios, revisão de temas aplicados, que possam fornecer feedback sobre a qualidade do processo de ensino-aprendizagem do discente.
De caráter formativo, incidem sobre a avaliação os seguintes critérios para a atribuição de nota:
- 2 Trabalhos (T1 e T2), todas com peso 10,0.
A nota final será composta pela média das duas notas. Média (T1+T2)/2. Todo trabalho/avaliação solicitada que não tenha sido entregue e apresentado pelo discente na data combinada, receberá a nota 0,00 (ZERO).
Plágio: Constitui-se plágio a cópia parcial ou integral de materiais impressos ou da internet, bem como a utilização de ideias expostas nestes textos se não forem devidamente indicados o seu uso por citação expressa. O ambiente acadêmico é de criação, de conhecimento e de constituição de autoria, e não de cópia. Assim, a todo trabalho plagiado será atribuída nota 0,0 (ZERO) e não será permitido ao discente refazê-lo. Será aprovado o aluno com nota maior ou igual a 6,0 e frequência maior ou igual 75%.

Atividades de Recuperação Preventiva do Processo de Ensino-Aprendizagem: Será oportunizado a realização de atividades de recuperação para os alunos que não conseguirem acompanhar as atividades remotas no momento em que estiverem sendo desenvolvida. Os alunos devem solicitar ao professor, via e-mail institucional, em até 72 horas, a recuperação da atividade semanal, evitando assim prejuízos na construção do aprendizado. A solicitação é confirmada após a acusação do recebimento do e-mail pelo docente e o envio do plano de atividades com prazo definido para entrega. O não cumprimento do plano de atividades de recuperação solicitada acarreta em prejuízos na frequência e também na nota.
As atividades de recuperação preventiva do processo de ensino-aprendizagem visam permitir que o aluno recupere o conteúdo que não foi internalizado durante as aulas.
O discente que faltar a uma das avaliações terá direito a realizar uma nova avaliação, deste que a falta seja devidamente justificada, observando-se os critérios da Instituição.
O aluno com nota final (NF) inferior a seis (6,0) que apresente frequência igual ou superior à 75%, poderá realizar uma avaliação (A) no final do semestre. Esta nota englobará todo o conteúdo visto na componente. Assim, a NF será definida como: NF = (T1+T2+A)/3.
O aluno deve atingir nota final (NF) igual ou maior que 6,0 e mínimo de 75% de frequência no componente curricular, para ser aprovado.
Frequência: A nota final mínima para aprovação é 6,0, condicionada ao mínimo de 75% de frequência; as licenças e afastamentos discentes devem estar de acordo com as possibilidades elencadas na Resolução 29/2011 e na legislação vigente, conforme Ofício PROGRAD no 133/2019.

Avaliações/Trabalhos

Trabalho I

21 de novembro de 2022

Conteúdo: Estrutura de dados. Manipulação de arquivos.

DOWNLOAD

Trabalho II

30 de janeiro de 2023

Conteúdo: Mapas e relatórios.

DOWNLOAD

Prova Recuperação

06 de fevereiro de 2023

Conteúdo: Tudo.

Conteúdo

Encontro 2

Assunto: Básico de Python

Instalação do Python. Tipos de dados. Entrada/saída. Script.

Tipos de dados

Encontro 3

Assunto: Estruturas

Estruturas condicionais e de repetição.

Material

Encontro 4

Assunto: Python

Listas. Filas. Pilhas. Apresentação do Trabalho I.

Material

Encontro 5

Assunto: Python

Funções.

APRESENTAÇAO
CÓDIGO

Encontro 6

Assunto: Python

Manipulação de arquivos.

ARQUIVOS 1
ARQUIVOS 2

Encontro 7

Assunto: Python

Auxílio para o Trabalho I

Encontro 8

Assunto: Python

Entrega/Apresentação do Trabalho I.

Encontro 9

Assunto: Python

Instalação do PIP. Mapas. Coordenadas.

MATERIAL I
MATERIAL II

Encontro 10

Assunto: Python

Instalação do PIP. Mapas. Coordenadas.

MATERIAL I
MATERIAL II

Encontro 11

Assunto: Python

Apresentação do Trabalho II. Mapas e distâncias.

MATERIAL DE APOIO
CÓDIGO FONTE

Encontro 12

Assunto: Python

Operações em mapas.

Encontro 13

Assunto: Python

Geração de Relatórios com FPDF.

MATERIAL DE APOIO [1]
MATERIAL DE APOIO [2]

Encontro 14

Assunto: Python

Geração de Relatórios com FPDF.

Encontro 15

Assunto: Python

Auxílio para o Trabalho II.

Encontro 16

Assunto: Trabalho II

Entrega/Apresentação do Trabalho 2.

Encontro 17

Assunto: Avaliação recuperativa

Atividade de recuperação. Avaliação.

Bibliografia

Básica:

  • MEDINA, MARCO; FERTIG, CRISTINA. Algoritmos e programação: Teoria e Prática. 2006.
  • ZIVIANI, N. Projeto de Algoritmos com Implementações em Pascal e C. 2004.
  • CELES, W.; CERQUEIRA, R.; RANGEL, J.L. Introdução à Estrutura de Dados: com Técnicas de Programação em C. 2004.

Complementar:

  • CORMEN, T.H. et al. Algoritmos: Teoria e Pratica. 2002.
  • MANZANO, JOSE AUGUSTO N. G.; OLIVEIRA, JAYR FIGUEIREDO DE. Algoritmos: logica para desenvolvimento de programação de computadores. 2007.
  • FEOFILOFF, PAULO. Algoritmos em Linguagem C. 2009.
  • PEREIRA, S.L. Estruturas de Dados Fundamentais: Conceitos e Aplicações. 2008.
  • FORBELLONE, ANDRE LUIZ VILLAR; EBERSPACHER, HENRI FREDERICO. Lógica de Programação: a construção de algoritmos e estruturas de dado. 2005.