Algoritmos e Programação

2024/1 - Turma 0600

Ementa

Variáveis. Tipos de Dados. Estruturas condicionais. Estruturas de repetição. Tipos de dados compostos homogêneos: vetor e matriz bidimensional.

Competências

Ao final da disciplina o aluno deverá ser capaz de interpretar problemas e utilizar o raciocínio lógico para projetar algoritmos para solucioná-los e utilizar uma linguagem de programação para implementar os algoritmos projetados.

Objetivos

Geral:
Capacitar o acadêmico a interpretar problemas e implementar a solução desenvolvendo programas de computador.

Específicos:
- estimular o desenvolvimento do raciocínio lógico para a programação;
- preparar o aluno para:
     - interpretar problemas/contextos e retirar deles as informações necessárias para a solução a ser desenvolvida;
     - organizar a solução logicamente;
     - apresentar a solução computacional através da elaboração de algoritmos e programas em linguagem de alto nível estruturada.

Programa

- Introdução: o que é Algoritmo? O que é Programação?;
- Entrada e Saída de dados;
- Operadores Matemáticos;
- Variáveis - Tipos de dados: inteiro (int), ponto flutuante (float), booleano (bool); textos (String);
- Estruturas condicionais (Instrução if...elif...else);
- Operadores relacionais;
- Operadores lógicos;
- Estrutura de repetição  while;
- Estrutura de repetição  while encadeada;
- Listas de dados;
- Listas de dados aninhadas.

*Linguagem de programação utilizada: Python.

Metodologia

O Aporte Teórico-metodológico de Competências será oferecido por meio de aulas expositivas, interpretação e resolução de problemas em sala, individualmente ou em 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 Conecta: 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

O aluno será avaliado ao longo do semestre letivo em duas avaliações de grau, a saber:
- Grau Um (G1):  4.0 pontos de avaliações e trabalhos individuais ou em grupo + 6.0 pontos de prova com conteúdo relativo ao primeiro bimestre letivo;
- Grau Dois (G2): 4.0 pontos de avaliações e trabalhos individuais ou em grupo + 6.0 pontos de prova com conteúdo relativo à totalidade do semestre.

A Média Parcial (MP) será a média ponderada entre G1 e G2. Logo, MP = (G1 + 2 x G2) / 3.

Será aprovado o aluno que alcançar a MP igual ou superior a 6,0 (seis).

O aluno, com ou sem aprovação, que desejar aumentar a sua MP e atingir frequência mínima de 75%, terá direito de realizar a prova de Exame Final (EF).

Para o aluno que fizer a prova de EF, a Média Final (MF) será a média ponderada entre MP (peso um) e EF (peso dois). Logo:  MF = (MP + EF x 2) / 3.
 
Para os alunos que não realizarem a prova de EF a MF será igual a MP.

Será aprovado o aluno que alcançar a MF igual ou superior a 6,0 (seis) e atingir, no mínimo, 75% de frequência.

Bibliografia

Básica

FORBELLONE, A. L. V. et al. Lógica de programação: A construção de algoritmos e estruturas de dados com aplicações em Python. 4. ed. Porto Alegre: Pearson_GrupoA, 2022. E-book. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/200078.  Acesso em: 2 agosto de 2022.

MANZANO, J. A. N. G.; OLIVEIRA, J. F. de.. Estudo Dirigido de Algoritmos.  15 Ed. Editora Saraiva, 2011. Disponível em: Minha Biblioteca.

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

Complementar

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

CORMEN, T. H. ... [et al.] . Algoritmos: Teoria e prática. Rio de Janeiro : Elsevier, 2012.

FARRER, H.. Algoritmos estruturados. 3. ed. Rio de Janeiro: LTC, 1999.

GUEDES, Sérgio (org). Lógica de programação algorítmica. São Paulo: Pearson Education do Brasil, 2014. E-book. Disponível em: Biblioteca Virtual Pearson. Acesso em: 2 mar. 2022.

LOPES, A.; et. al.. Introdução à programação: 500 algoritmos resolvidos. Rio de Janeiro: Campus, 2002.

Material Digital

Treine algoritmos e desafios de programação: https://www.beecrowd.com.br/judge/en/contests
*Tem que fazer login (gratuito e pode acessar com o seu usuário Google).

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