Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

PLANO DE ENSINO DA DISCIPLINA PARADIGMAS DE LINGUAGENS DE
PROGRAMAÇÃO EM PYTHON
CARGA HORÁRIA SEMESTRAL
80
CARGA HORÁRIA SEMANAL
4h
1 PERFIL DOCENTE
O docente deve ser graduado em Ciência da Computação, Informática, Engenharias, com forte aderência em programação de computadores. 
O Orientador Educacional / Mediador deve possuir Pós­Graduação Lato Sensu, sendo desejável Pós­Graduação Stricto Sensu Mestrado ou Doutorado na área
do curso ou afins.
É desejável que o Orientador Educacional / Mediador possua experiência de na docência no nível superior da disciplina de pelo menos 3 anos e que também tenha
experiência profissional no mercado de trabalho de programação de computadores. Deve possuir familiaridade com as ferramentas digitais que fazem parte do
modelo de ensino da instituição, além de conhecer o Projeto Pedagógico dos Cursos dos quais a disciplina faz parte na Matriz Curricular.
É necessário que o docente conheça e aplique as metodologias ativas inerentes à educação por competências e ferramentas digitais que tornam a sala de aula mais
interativa e interessante para o aluno. A articulação entre a teoria e prática deve ser o eixo direcionador das estratégias em sala de aula. Além disto, é indispensável
que o docente estimule o autoconhecimento e autoaprendizagem entre seus alunos.
2 TRILHA DE APRENDIZAGEM
A disciplina oferece uma jornada pela programação com Python, iniciando pelos conceitos fundamentais da linguagem, como variáveis, tipos de dados e
operadores. Em seguida, aprofunda­se na programação estruturada, abordando estruturas de decisão e repetição, a modularização do código através de
subprogramas e o uso de bibliotecas. O curso avança para o paradigma de programação orientada a objetos, explorando classes, objetos, encapsulamento,
herança e polimorfismo. Por fim, a disciplina contextualiza o conhecimento adquirido ao analisar os paradigmas gerais das linguagens de programação, seus critérios
de avaliação e métodos de implementação, capacitando o aluno a compreender não apenas como programar em Python, mas também os princípios teóricos que
fundamentam a linguagem.
3 EMENTA
Python básico. Python estruturado. Python orientado a objetos. Paradigmas e linguagem Python.
4 COMPETÊNCIAS DE APRENDIZAGEM
Elaborar projetos softwares orientados a objetos, utilizando princípios baseados em conceitos para atribuição de responsabilidades a classes e
objetos, visando tornar o código flexível, e facilitando a manutenção e a extensibilidade.
5 ESTRUTURA DA DISCIPLINA
i. Dinâmica dos Ciclos de Aprendizagem:
Presencial: Aulas expositivas com a apresentação dos conceitos teóricos, seguidas de atividades práticas de codificação ("na prática") para aplicação e fixação dos
conhecimentos.
Digital: Acesso a materiais complementares, como vídeos e conteúdos interativos indicados no material de estudo, para aprofundamento e revisão dos temas.
ii. Projetos e Trabalhos:
Desenvolvimento de pequenos projetos e resolução de exercícios de programação ao final de cada módulo principal, conforme os exemplos "na prática" dos temas,
para aplicar os conceitos de programação estruturada, orientação a objetos e tratamento de exceções.
6 CONTEÚDO PROGRAMÁTICO
Ciclo de Aprendizagem 1: Fundamentos da Linguagem Python
Tópicos: Características da linguagem Python (multiparadigma, interativa, híbrida, portável). Instalação do ambiente (Python e PyCharm). Estrutura de blocos
(indentação) e comentários. Variáveis: conceitos, identificadores, e escopo (global e local).
Atividades: Realizar o exercício "Python básico na prática", que consiste em criar um programa para calcular a média de duas notas.
Leituras: Seção "Linguagem Python", e "Python básico".
Ciclo de Aprendizagem 2: Tipos de Dados e Expressões
Tópicos: Tipos de dados padrão: numéricos (int, float, complex) e booleano (bool). Operadores numéricos e booleanos (and, or, not). Relação de precedência
entre operadores. Conversões de tipos de dados (implícitas e explícitas).
Atividades: Resolver a atividade prática sobre conversão de tipos de dados, solicitando e convertendo inputs do usuário.
Leituras: Seção "Tipos de dados e expressões em Python", e "Python básico".
Ciclo de Aprendizagem 3: Entrada, Saída e Estruturas de Decisão
Tópicos: Atribuição (simples, múltipla, composta). Entrada e saída de dados com input() e print(). Formatação de saída. Estruturas de decisão: if, if­else, elif.
Tratamento de condições.
Atividades: Executar os exemplos de código da seção "Estruturas de decisão", e "Python estruturado".
Leituras: Seções "Atribuição, entrada e saída de dados em Python", e "Python básico", e "Estruturas de decisão", e "Python estruturado".
Ciclo de Aprendizagem 4: Estruturas de Repetição
Tópicos: Estrutura de repetição for e a função range(). Iteração sobre sequências (strings, listas). Estrutura de repetição while. Laços infinitos. Instruções auxiliares:
break, continue, pass.
Atividades: Resolver o exercício "Estruturas de decisão e repetição na prática", que consiste em encontrar números entre 1000 e 9999 com uma propriedade
matemática específica.
Leituras: Seção "Estrutura de repetição for" e "Estrutura de repetição while e instruções auxiliares", e "Python estruturado".
Ciclo de Aprendizagem 5: Subprogramas e Recursividade
Tópicos: Conceito de subprogramas (funções). Definição e chamada de funções (def). Parâmetros (formais e reais) e valores padrão. Procedimentos e funções.
Escopo de variáveis e a palavra­chave global. Funções recursivas e condições de parada.
Atividades: Desenvolver a prática de validação de CPF e a busca iterativa do maior elemento em uma lista.
Leituras: Seção "Conceitos de subprogramas e a sua utilização em Python", e "Python estruturado".
Ciclo de Aprendizagem 6: Bibliotecas, Seções e Tratamento de Exceções
Tópicos: Uso de bibliotecas padrão: math, random, time, tkinter. Importação de funções e Seções. Pacotes externos com pip. Tipos de erros (sintaxe, execução).
Tratamento de exceções com try, except, else e finally.
Atividades: Realizar a atividade prática "Tratamento de exceções na prática", alterando um programa de cálculo para lidar com entradas inválidas e divisão por
zero.
Leituras: Seções "Bibliotecas em Python" e "Eventos em Python", e "Python estruturado".
Ciclo de Aprendizagem 7: Conceitos de Orientação a Objetos
Tópicos: Pilares da OO: Objetos, Atributos e Operações. Conceito de Classe. Encapsulamento. Definição de classes em Python (class). Construtores (`_init_) e o
self`. Métodos, métodos com retorno e referências entre objetos.
Atividades: Desenvolver o exercício prático da classe Televisao, implementando o controle de canais.
Leituras: Seções "Orientação a objetos" e "Classes e objetos", e "Python orientado a objetos".
Ciclo de Aprendizagem 8: Associação e Encapsulamento em Python
Tópicos: Tipos de associação entre objetos: Agregação e Composição. Encapsulamento em Python: atributos públicos e privados (__). Decorator @property e
@.setter. Atributos e métodos de classe (@classmethod). Métodos estáticos (@staticmethod).
Atividades: Realizar o laboratório prático sobre associação (Biblioteca e Livro) e encapsulamento (Pessoa, com métodos de classe e estático).
Leituras: Seção "Tipos de associação entre objetos" e "Integridade dos objetos: encapsulamento", e "Python orientado a objetos".
Ciclo de Aprendizagem 9: Herança e Polimorfismo
Tópicos: Conceito de Herança. Implementação de herança simples e múltipla. Sobrescrita de métodos (override) e uso do super(). Conceito de Polimorfismo.
Classes abstratas (módulo abc, @abstractmethod). Criação de exceções personalizadas.
Atividades: Implementar o exercício prático de herança e polimorfismo com a classe base Animal e suas subclasses.
Leituras: Seção "Orientação a objetos com herança e polimorfismo", e "Python orientado a objetos".
Ciclo de Aprendizagem 10: Paradigmas de Linguagens de Programação
Tópicos: Classificação das linguagens de programação (nível, gerações). Critérios de avaliação (legibilidade, facilidade de escrita, confiabilidade, custo).
Paradigmas deprogramação: Imperativo (estruturado, orientado a objetos, concorrente) e Declarativo (funcional, lógico). Métodos de implementação (compilação,
interpretação, sistemas híbridos).
Atividades: Analisar e discutir os diferentes paradigmas aplicados nos códigos desenvolvidos durante a disciplina.
Leituras: Seção "Paradigmas e linguagem Python", e "Paradigmas e linguagem Python".
7 PROCEDIMENTOS DE AVALIAÇÃO
Oferta presencial:
Os procedimentos de avaliação contemplarão as competências desenvolvidas durante a disciplina, divididos da seguinte forma: AV e AVS AV ­ Contemplará todos
os temas abordados pela disciplina e será assim composta: ­ Prova individual no formato PNI ­ Prova Nacional Integrada com valor total de 7,0 (oito) pontos; ­
Atividade acadêmica avaliativa vinculada à AV, com valor total de 3,0 (dois) pontos relacionados à elaboração de relatórios ou outra entrega definida pelo docente
da turma. A soma de todos os instrumentos que possam vir a compor o grau final da AV não poderá ultrapassar o grau máximo de 10 (dez) pontos. AVS ­
Contemplará todos os temas abordados pela disciplina. Será composta por uma prova no formato PNI ­ Prova Nacional Integrada, com total de 7 pontos, e
substituirá a nota da AV, caso seja maior. Também será necessário a aplicação de questões discursivas, com total de 3 pontos, e substituirá a nota da atividade
acadêmica avaliativa AV, caso seja maior. Para aprovação na disciplina, o aluno deverá, ainda: ­ atingir nota igual ou superior a 6 (seis) na prova de AV ou AVS; ­
frequentar, no mínimo, 75% das aulas ministradas.
Oferta online:
Os procedimentos de avaliação contemplarão as competências desenvolvidas durante a disciplina por meio de provas, denominadas AV e AVS e que contemplam
todo o conteúdo da disciplina, sendo a cada uma delas atribuído o grau de 0,0 (zero) a 8,0 (oito) no formato PNI ­ Prova Nacional Integrada. O Progresso
Acadêmico com valor total de 2,0 (dois) pontos é verificado através da navegação na Sala de Aula Virtual com leitura de conteúdo digital, realização de exercícios,
simulados, atividades e laboratórios (caso se apliquem à disciplina). Para calcular a nota, consideramos o desenvolvimento do aluno em todas essas etapas. Caso o
aluno não atinja o resultado desejado na prova de AV, ele poderá recuperar sua nota na prova de AVS, que substituirá a nota da AV, caso seja maior. Para
aprovação na disciplina, o aluno deverá: Atingir nota igual ou superior a 6 (seis) na prova de AV ou AVS; A soma de todos os instrumentos que possam vir a
compor o grau final da AV não poderá ultrapassar o grau máximo de 10 (dez) pontos.
8 BIBLIOGRAFIA BÁSICA
Básica: (3 títulos) MENEZES, N. C. Introdução à programação com Python. 3. ed. São Paulo: Novatec, 2019. PERKOVIC, L. Introdução à computação usando
Python: um foco no desenvolvimento de aplicações. Rio de Janeiro: LTC, 2016. SEBESTA, R. W. Conceitos de Linguagens de Programação. Tradução de João
Eduardo Nobrega Tortello. 11. ed. Porto Alegre: Bookman, 2018.
9 BIBLIOGRAFIA COMPLEMENTAR
Complementar: (5 títulos) ANAYA, M. Clean code in Python: refactor your legacy code base. Birmingham: Packt Publishing, 2018. BORGES, Luiz Eduardo.
Python para Desenvolvedores. 2. ed. Rio de Janeiro: Edição do Autor, 2010. GIRIDHAR, C. Learning Python design patterns. Birmingham: Packit Publishing,
2018. RAMALHO, L. Fluent Python. Sebastopol: O´Reilly Media, 2015. VAREJÃO, F. M. Linguagem de Programação: conceitos e técnicas. 2ª reimpressão.
Rio de Janeiro: Elsevier, 2004.
PLANO DE ENSINO DA DISCIPLINA PARADIGMAS DE LINGUAGENS DE
PROGRAMAÇÃO EM PYTHON
CARGA HORÁRIA SEMESTRAL
80
CARGA HORÁRIA SEMANAL
4h
1 PERFIL DOCENTE
O docente deve ser graduado em Ciência da Computação, Informática, Engenharias, com forte aderência em programação de computadores. 
O Orientador Educacional / Mediador deve possuir Pós­Graduação Lato Sensu, sendo desejável Pós­Graduação Stricto Sensu Mestrado ou Doutorado na área
do curso ou afins.
É desejável que o Orientador Educacional / Mediador possua experiência de na docência no nível superior da disciplina de pelo menos 3 anos e que também tenha
experiência profissional no mercado de trabalho de programação de computadores. Deve possuir familiaridade com as ferramentas digitais que fazem parte do
modelo de ensino da instituição, além de conhecer o Projeto Pedagógico dos Cursos dos quais a disciplina faz parte na Matriz Curricular.
É necessário que o docente conheça e aplique as metodologias ativas inerentes à educação por competências e ferramentas digitais que tornam a sala de aula mais
interativa e interessante para o aluno. A articulação entre a teoria e prática deve ser o eixo direcionador das estratégias em sala de aula. Além disto, é indispensável
que o docente estimule o autoconhecimento e autoaprendizagem entre seus alunos.
2 TRILHA DE APRENDIZAGEM
A disciplina oferece uma jornada pela programação com Python, iniciando pelos conceitos fundamentais da linguagem, como variáveis, tipos de dados e
operadores. Em seguida, aprofunda­se na programação estruturada, abordando estruturas de decisão e repetição, a modularização do código através de
subprogramas e o uso de bibliotecas. O curso avança para o paradigma de programação orientada a objetos, explorando classes, objetos, encapsulamento,
herança e polimorfismo. Por fim, a disciplina contextualiza o conhecimento adquirido ao analisar os paradigmas gerais das linguagens de programação, seus critérios
de avaliação e métodos de implementação, capacitando o aluno a compreender não apenas como programar em Python, mas também os princípios teóricos que
fundamentam a linguagem.
3 EMENTA
Python básico. Python estruturado. Python orientado a objetos. Paradigmas e linguagem Python.
4 COMPETÊNCIAS DE APRENDIZAGEM
Elaborar projetos softwares orientados a objetos, utilizando princípios baseados em conceitos para atribuição de responsabilidades a classes e
objetos, visando tornar o código flexível, e facilitando a manutenção e a extensibilidade.
5 ESTRUTURA DA DISCIPLINA
i. Dinâmica dos Ciclos de Aprendizagem:
Presencial: Aulas expositivas com a apresentação dos conceitos teóricos, seguidas de atividades práticas de codificação ("na prática") para aplicação e fixação dos
conhecimentos.
Digital: Acesso a materiais complementares, como vídeos e conteúdos interativos indicados no material de estudo, para aprofundamento e revisão dos temas.
ii. Projetos e Trabalhos:
Desenvolvimento de pequenos projetos e resolução de exercícios de programação ao final de cada módulo principal, conforme os exemplos "na prática" dos temas,
para aplicar os conceitos de programação estruturada, orientação a objetos e tratamento de exceções.
6 CONTEÚDO PROGRAMÁTICO
Ciclo de Aprendizagem 1: Fundamentos da Linguagem Python
Tópicos: Características da linguagem Python (multiparadigma, interativa, híbrida, portável). Instalação do ambiente (Python e PyCharm). Estrutura de blocos
(indentação) e comentários. Variáveis: conceitos, identificadores, e escopo (global e local).
Atividades: Realizar o exercício "Python básico na prática", que consiste em criar um programa para calcular a média de duas notas.
Leituras: Seção "Linguagem Python", e "Python básico".
Ciclo de Aprendizagem 2: Tipos de Dados e Expressões
Tópicos: Tipos de dados padrão: numéricos (int, float, complex) e booleano (bool). Operadores numéricos e booleanos (and, or, not). Relação de precedência
entre operadores. Conversões de tipos de dados (implícitas e explícitas).
Atividades: Resolver a atividade prática sobre conversão de tipos de dados, solicitando e convertendo inputs do usuário.
Leituras: Seção "Tipos de dados e expressões em Python", e "Python básico".
Ciclo de Aprendizagem 3: Entrada, Saída e Estruturas de Decisão
Tópicos: Atribuição (simples, múltipla, composta). Entrada e saída de dados com input() e print(). Formatação de saída. Estruturas de decisão: if, if­else, elif.
Tratamento de condições.
Atividades: Executar os exemplos de código da seção "Estruturas de decisão", e "Python estruturado".Leituras: Seções "Atribuição, entrada e saída de dados em Python", e "Python básico", e "Estruturas de decisão", e "Python estruturado".
Ciclo de Aprendizagem 4: Estruturas de Repetição
Tópicos: Estrutura de repetição for e a função range(). Iteração sobre sequências (strings, listas). Estrutura de repetição while. Laços infinitos. Instruções auxiliares:
break, continue, pass.
Atividades: Resolver o exercício "Estruturas de decisão e repetição na prática", que consiste em encontrar números entre 1000 e 9999 com uma propriedade
matemática específica.
Leituras: Seção "Estrutura de repetição for" e "Estrutura de repetição while e instruções auxiliares", e "Python estruturado".
Ciclo de Aprendizagem 5: Subprogramas e Recursividade
Tópicos: Conceito de subprogramas (funções). Definição e chamada de funções (def). Parâmetros (formais e reais) e valores padrão. Procedimentos e funções.
Escopo de variáveis e a palavra­chave global. Funções recursivas e condições de parada.
Atividades: Desenvolver a prática de validação de CPF e a busca iterativa do maior elemento em uma lista.
Leituras: Seção "Conceitos de subprogramas e a sua utilização em Python", e "Python estruturado".
Ciclo de Aprendizagem 6: Bibliotecas, Seções e Tratamento de Exceções
Tópicos: Uso de bibliotecas padrão: math, random, time, tkinter. Importação de funções e Seções. Pacotes externos com pip. Tipos de erros (sintaxe, execução).
Tratamento de exceções com try, except, else e finally.
Atividades: Realizar a atividade prática "Tratamento de exceções na prática", alterando um programa de cálculo para lidar com entradas inválidas e divisão por
zero.
Leituras: Seções "Bibliotecas em Python" e "Eventos em Python", e "Python estruturado".
Ciclo de Aprendizagem 7: Conceitos de Orientação a Objetos
Tópicos: Pilares da OO: Objetos, Atributos e Operações. Conceito de Classe. Encapsulamento. Definição de classes em Python (class). Construtores (`_init_) e o
self`. Métodos, métodos com retorno e referências entre objetos.
Atividades: Desenvolver o exercício prático da classe Televisao, implementando o controle de canais.
Leituras: Seções "Orientação a objetos" e "Classes e objetos", e "Python orientado a objetos".
Ciclo de Aprendizagem 8: Associação e Encapsulamento em Python
Tópicos: Tipos de associação entre objetos: Agregação e Composição. Encapsulamento em Python: atributos públicos e privados (__). Decorator @property e
@.setter. Atributos e métodos de classe (@classmethod). Métodos estáticos (@staticmethod).
Atividades: Realizar o laboratório prático sobre associação (Biblioteca e Livro) e encapsulamento (Pessoa, com métodos de classe e estático).
Leituras: Seção "Tipos de associação entre objetos" e "Integridade dos objetos: encapsulamento", e "Python orientado a objetos".
Ciclo de Aprendizagem 9: Herança e Polimorfismo
Tópicos: Conceito de Herança. Implementação de herança simples e múltipla. Sobrescrita de métodos (override) e uso do super(). Conceito de Polimorfismo.
Classes abstratas (módulo abc, @abstractmethod). Criação de exceções personalizadas.
Atividades: Implementar o exercício prático de herança e polimorfismo com a classe base Animal e suas subclasses.
Leituras: Seção "Orientação a objetos com herança e polimorfismo", e "Python orientado a objetos".
Ciclo de Aprendizagem 10: Paradigmas de Linguagens de Programação
Tópicos: Classificação das linguagens de programação (nível, gerações). Critérios de avaliação (legibilidade, facilidade de escrita, confiabilidade, custo).
Paradigmas de programação: Imperativo (estruturado, orientado a objetos, concorrente) e Declarativo (funcional, lógico). Métodos de implementação (compilação,
interpretação, sistemas híbridos).
Atividades: Analisar e discutir os diferentes paradigmas aplicados nos códigos desenvolvidos durante a disciplina.
Leituras: Seção "Paradigmas e linguagem Python", e "Paradigmas e linguagem Python".
7 PROCEDIMENTOS DE AVALIAÇÃO
Oferta presencial:
Os procedimentos de avaliação contemplarão as competências desenvolvidas durante a disciplina, divididos da seguinte forma: AV e AVS AV ­ Contemplará todos
os temas abordados pela disciplina e será assim composta: ­ Prova individual no formato PNI ­ Prova Nacional Integrada com valor total de 7,0 (oito) pontos; ­
Atividade acadêmica avaliativa vinculada à AV, com valor total de 3,0 (dois) pontos relacionados à elaboração de relatórios ou outra entrega definida pelo docente
da turma. A soma de todos os instrumentos que possam vir a compor o grau final da AV não poderá ultrapassar o grau máximo de 10 (dez) pontos. AVS ­
Contemplará todos os temas abordados pela disciplina. Será composta por uma prova no formato PNI ­ Prova Nacional Integrada, com total de 7 pontos, e
substituirá a nota da AV, caso seja maior. Também será necessário a aplicação de questões discursivas, com total de 3 pontos, e substituirá a nota da atividade
acadêmica avaliativa AV, caso seja maior. Para aprovação na disciplina, o aluno deverá, ainda: ­ atingir nota igual ou superior a 6 (seis) na prova de AV ou AVS; ­
frequentar, no mínimo, 75% das aulas ministradas.
Oferta online:
Os procedimentos de avaliação contemplarão as competências desenvolvidas durante a disciplina por meio de provas, denominadas AV e AVS e que contemplam
todo o conteúdo da disciplina, sendo a cada uma delas atribuído o grau de 0,0 (zero) a 8,0 (oito) no formato PNI ­ Prova Nacional Integrada. O Progresso
Acadêmico com valor total de 2,0 (dois) pontos é verificado através da navegação na Sala de Aula Virtual com leitura de conteúdo digital, realização de exercícios,
simulados, atividades e laboratórios (caso se apliquem à disciplina). Para calcular a nota, consideramos o desenvolvimento do aluno em todas essas etapas. Caso o
aluno não atinja o resultado desejado na prova de AV, ele poderá recuperar sua nota na prova de AVS, que substituirá a nota da AV, caso seja maior. Para
aprovação na disciplina, o aluno deverá: Atingir nota igual ou superior a 6 (seis) na prova de AV ou AVS; A soma de todos os instrumentos que possam vir a
compor o grau final da AV não poderá ultrapassar o grau máximo de 10 (dez) pontos.
8 BIBLIOGRAFIA BÁSICA
Básica: (3 títulos) MENEZES, N. C. Introdução à programação com Python. 3. ed. São Paulo: Novatec, 2019. PERKOVIC, L. Introdução à computação usando
Python: um foco no desenvolvimento de aplicações. Rio de Janeiro: LTC, 2016. SEBESTA, R. W. Conceitos de Linguagens de Programação. Tradução de João
Eduardo Nobrega Tortello. 11. ed. Porto Alegre: Bookman, 2018.
9 BIBLIOGRAFIA COMPLEMENTAR
Complementar: (5 títulos) ANAYA, M. Clean code in Python: refactor your legacy code base. Birmingham: Packt Publishing, 2018. BORGES, Luiz Eduardo.
Python para Desenvolvedores. 2. ed. Rio de Janeiro: Edição do Autor, 2010. GIRIDHAR, C. Learning Python design patterns. Birmingham: Packit Publishing,
2018. RAMALHO, L. Fluent Python. Sebastopol: O´Reilly Media, 2015. VAREJÃO, F. M. Linguagem de Programação: conceitos e técnicas. 2ª reimpressão.
Rio de Janeiro: Elsevier, 2004.
PLANO DE ENSINO DA DISCIPLINA PARADIGMAS DE LINGUAGENS DE
PROGRAMAÇÃO EM PYTHON
CARGA HORÁRIA SEMESTRAL
80
CARGA HORÁRIA SEMANAL
4h
1 PERFIL DOCENTE
O docente deve ser graduado em Ciência da Computação, Informática, Engenharias, com forte aderência em programação de computadores. 
O Orientador Educacional / Mediador deve possuir Pós­Graduação Lato Sensu, sendo desejável Pós­Graduação Stricto Sensu Mestrado ou Doutorado na área
do curso ou afins.
É desejável que o Orientador Educacional / Mediador possua experiência de na docência no nível superior da disciplina de pelo menos 3 anos e que também tenha
experiência profissional no mercado de trabalho de programação de computadores. Deve possuir familiaridade com as ferramentas digitais que fazem parte do
modelo de ensino da instituição, além de conhecer o Projeto Pedagógico dos Cursos dos quais a disciplina faz parte na Matriz Curricular.
É necessário que o docente conheça e aplique as metodologias ativas inerentes à educação por competências e ferramentasdigitais que tornam a sala de aula mais
interativa e interessante para o aluno. A articulação entre a teoria e prática deve ser o eixo direcionador das estratégias em sala de aula. Além disto, é indispensável
que o docente estimule o autoconhecimento e autoaprendizagem entre seus alunos.
2 TRILHA DE APRENDIZAGEM
A disciplina oferece uma jornada pela programação com Python, iniciando pelos conceitos fundamentais da linguagem, como variáveis, tipos de dados e
operadores. Em seguida, aprofunda­se na programação estruturada, abordando estruturas de decisão e repetição, a modularização do código através de
subprogramas e o uso de bibliotecas. O curso avança para o paradigma de programação orientada a objetos, explorando classes, objetos, encapsulamento,
herança e polimorfismo. Por fim, a disciplina contextualiza o conhecimento adquirido ao analisar os paradigmas gerais das linguagens de programação, seus critérios
de avaliação e métodos de implementação, capacitando o aluno a compreender não apenas como programar em Python, mas também os princípios teóricos que
fundamentam a linguagem.
3 EMENTA
Python básico. Python estruturado. Python orientado a objetos. Paradigmas e linguagem Python.
4 COMPETÊNCIAS DE APRENDIZAGEM
Elaborar projetos softwares orientados a objetos, utilizando princípios baseados em conceitos para atribuição de responsabilidades a classes e
objetos, visando tornar o código flexível, e facilitando a manutenção e a extensibilidade.
5 ESTRUTURA DA DISCIPLINA
i. Dinâmica dos Ciclos de Aprendizagem:
Presencial: Aulas expositivas com a apresentação dos conceitos teóricos, seguidas de atividades práticas de codificação ("na prática") para aplicação e fixação dos
conhecimentos.
Digital: Acesso a materiais complementares, como vídeos e conteúdos interativos indicados no material de estudo, para aprofundamento e revisão dos temas.
ii. Projetos e Trabalhos:
Desenvolvimento de pequenos projetos e resolução de exercícios de programação ao final de cada módulo principal, conforme os exemplos "na prática" dos temas,
para aplicar os conceitos de programação estruturada, orientação a objetos e tratamento de exceções.
6 CONTEÚDO PROGRAMÁTICO
Ciclo de Aprendizagem 1: Fundamentos da Linguagem Python
Tópicos: Características da linguagem Python (multiparadigma, interativa, híbrida, portável). Instalação do ambiente (Python e PyCharm). Estrutura de blocos
(indentação) e comentários. Variáveis: conceitos, identificadores, e escopo (global e local).
Atividades: Realizar o exercício "Python básico na prática", que consiste em criar um programa para calcular a média de duas notas.
Leituras: Seção "Linguagem Python", e "Python básico".
Ciclo de Aprendizagem 2: Tipos de Dados e Expressões
Tópicos: Tipos de dados padrão: numéricos (int, float, complex) e booleano (bool). Operadores numéricos e booleanos (and, or, not). Relação de precedência
entre operadores. Conversões de tipos de dados (implícitas e explícitas).
Atividades: Resolver a atividade prática sobre conversão de tipos de dados, solicitando e convertendo inputs do usuário.
Leituras: Seção "Tipos de dados e expressões em Python", e "Python básico".
Ciclo de Aprendizagem 3: Entrada, Saída e Estruturas de Decisão
Tópicos: Atribuição (simples, múltipla, composta). Entrada e saída de dados com input() e print(). Formatação de saída. Estruturas de decisão: if, if­else, elif.
Tratamento de condições.
Atividades: Executar os exemplos de código da seção "Estruturas de decisão", e "Python estruturado".
Leituras: Seções "Atribuição, entrada e saída de dados em Python", e "Python básico", e "Estruturas de decisão", e "Python estruturado".
Ciclo de Aprendizagem 4: Estruturas de Repetição
Tópicos: Estrutura de repetição for e a função range(). Iteração sobre sequências (strings, listas). Estrutura de repetição while. Laços infinitos. Instruções auxiliares:
break, continue, pass.
Atividades: Resolver o exercício "Estruturas de decisão e repetição na prática", que consiste em encontrar números entre 1000 e 9999 com uma propriedade
matemática específica.
Leituras: Seção "Estrutura de repetição for" e "Estrutura de repetição while e instruções auxiliares", e "Python estruturado".
Ciclo de Aprendizagem 5: Subprogramas e Recursividade
Tópicos: Conceito de subprogramas (funções). Definição e chamada de funções (def). Parâmetros (formais e reais) e valores padrão. Procedimentos e funções.
Escopo de variáveis e a palavra­chave global. Funções recursivas e condições de parada.
Atividades: Desenvolver a prática de validação de CPF e a busca iterativa do maior elemento em uma lista.
Leituras: Seção "Conceitos de subprogramas e a sua utilização em Python", e "Python estruturado".
Ciclo de Aprendizagem 6: Bibliotecas, Seções e Tratamento de Exceções
Tópicos: Uso de bibliotecas padrão: math, random, time, tkinter. Importação de funções e Seções. Pacotes externos com pip. Tipos de erros (sintaxe, execução).
Tratamento de exceções com try, except, else e finally.
Atividades: Realizar a atividade prática "Tratamento de exceções na prática", alterando um programa de cálculo para lidar com entradas inválidas e divisão por
zero.
Leituras: Seções "Bibliotecas em Python" e "Eventos em Python", e "Python estruturado".
Ciclo de Aprendizagem 7: Conceitos de Orientação a Objetos
Tópicos: Pilares da OO: Objetos, Atributos e Operações. Conceito de Classe. Encapsulamento. Definição de classes em Python (class). Construtores (`_init_) e o
self`. Métodos, métodos com retorno e referências entre objetos.
Atividades: Desenvolver o exercício prático da classe Televisao, implementando o controle de canais.
Leituras: Seções "Orientação a objetos" e "Classes e objetos", e "Python orientado a objetos".
Ciclo de Aprendizagem 8: Associação e Encapsulamento em Python
Tópicos: Tipos de associação entre objetos: Agregação e Composição. Encapsulamento em Python: atributos públicos e privados (__). Decorator @property e
@.setter. Atributos e métodos de classe (@classmethod). Métodos estáticos (@staticmethod).
Atividades: Realizar o laboratório prático sobre associação (Biblioteca e Livro) e encapsulamento (Pessoa, com métodos de classe e estático).
Leituras: Seção "Tipos de associação entre objetos" e "Integridade dos objetos: encapsulamento", e "Python orientado a objetos".
Ciclo de Aprendizagem 9: Herança e Polimorfismo
Tópicos: Conceito de Herança. Implementação de herança simples e múltipla. Sobrescrita de métodos (override) e uso do super(). Conceito de Polimorfismo.
Classes abstratas (módulo abc, @abstractmethod). Criação de exceções personalizadas.
Atividades: Implementar o exercício prático de herança e polimorfismo com a classe base Animal e suas subclasses.
Leituras: Seção "Orientação a objetos com herança e polimorfismo", e "Python orientado a objetos".
Ciclo de Aprendizagem 10: Paradigmas de Linguagens de Programação
Tópicos: Classificação das linguagens de programação (nível, gerações). Critérios de avaliação (legibilidade, facilidade de escrita, confiabilidade, custo).
Paradigmas de programação: Imperativo (estruturado, orientado a objetos, concorrente) e Declarativo (funcional, lógico). Métodos de implementação (compilação,
interpretação, sistemas híbridos).
Atividades: Analisar e discutir os diferentes paradigmas aplicados nos códigos desenvolvidos durante a disciplina.
Leituras: Seção "Paradigmas e linguagem Python", e "Paradigmas e linguagem Python".
7 PROCEDIMENTOS DE AVALIAÇÃO
Oferta presencial:
Os procedimentos de avaliação contemplarão as competências desenvolvidas durante a disciplina, divididos da seguinte forma: AV e AVS AV ­ Contemplará todos
os temas abordados pela disciplina e será assim composta: ­ Prova individual no formato PNI ­ Prova Nacional Integrada com valor total de 7,0 (oito) pontos; ­
Atividade acadêmica avaliativa vinculada à AV, com valor total de 3,0 (dois) pontos relacionados à elaboração de relatórios ou outra entrega definida pelo docente
da turma. A soma de todos os instrumentos que possam vir a compor o grau final da AV não poderá ultrapassar o grau máximode 10 (dez) pontos. AVS ­
Contemplará todos os temas abordados pela disciplina. Será composta por uma prova no formato PNI ­ Prova Nacional Integrada, com total de 7 pontos, e
substituirá a nota da AV, caso seja maior. Também será necessário a aplicação de questões discursivas, com total de 3 pontos, e substituirá a nota da atividade
acadêmica avaliativa AV, caso seja maior. Para aprovação na disciplina, o aluno deverá, ainda: ­ atingir nota igual ou superior a 6 (seis) na prova de AV ou AVS; ­
frequentar, no mínimo, 75% das aulas ministradas.
Oferta online:
Os procedimentos de avaliação contemplarão as competências desenvolvidas durante a disciplina por meio de provas, denominadas AV e AVS e que contemplam
todo o conteúdo da disciplina, sendo a cada uma delas atribuído o grau de 0,0 (zero) a 8,0 (oito) no formato PNI ­ Prova Nacional Integrada. O Progresso
Acadêmico com valor total de 2,0 (dois) pontos é verificado através da navegação na Sala de Aula Virtual com leitura de conteúdo digital, realização de exercícios,
simulados, atividades e laboratórios (caso se apliquem à disciplina). Para calcular a nota, consideramos o desenvolvimento do aluno em todas essas etapas. Caso o
aluno não atinja o resultado desejado na prova de AV, ele poderá recuperar sua nota na prova de AVS, que substituirá a nota da AV, caso seja maior. Para
aprovação na disciplina, o aluno deverá: Atingir nota igual ou superior a 6 (seis) na prova de AV ou AVS; A soma de todos os instrumentos que possam vir a
compor o grau final da AV não poderá ultrapassar o grau máximo de 10 (dez) pontos.
8 BIBLIOGRAFIA BÁSICA
Básica: (3 títulos) MENEZES, N. C. Introdução à programação com Python. 3. ed. São Paulo: Novatec, 2019. PERKOVIC, L. Introdução à computação usando
Python: um foco no desenvolvimento de aplicações. Rio de Janeiro: LTC, 2016. SEBESTA, R. W. Conceitos de Linguagens de Programação. Tradução de João
Eduardo Nobrega Tortello. 11. ed. Porto Alegre: Bookman, 2018.
9 BIBLIOGRAFIA COMPLEMENTAR
Complementar: (5 títulos) ANAYA, M. Clean code in Python: refactor your legacy code base. Birmingham: Packt Publishing, 2018. BORGES, Luiz Eduardo.
Python para Desenvolvedores. 2. ed. Rio de Janeiro: Edição do Autor, 2010. GIRIDHAR, C. Learning Python design patterns. Birmingham: Packit Publishing,
2018. RAMALHO, L. Fluent Python. Sebastopol: O´Reilly Media, 2015. VAREJÃO, F. M. Linguagem de Programação: conceitos e técnicas. 2ª reimpressão.
Rio de Janeiro: Elsevier, 2004.

Mais conteúdos dessa disciplina