CCT-UFCA/Análise e Desenvolvimento de Sistemas/Fundamentos de Algoritmos

Programa do Componente Curricular

editar
Código: ADS0002
Componente Curricular: Fundamentos de Algoritmos
Semestre de Oferta: Tipo: Disciplina Caráter: Obrigatória
Unidade Acadêmica Responsável: Centro de Ciências e Tecnologia - CCT
Regime: Semestral/Modular
Créditos: 4 Carga horária: 64 Teórica: 32 Prática 32 Extensão: -
Pré-requisito:
Co-requisito:
Equivalência:

Ementa

editar

Introdução a lógica de programação. Algoritmos. Resolução de problemas. Fluxogramas. Conceitos básicos de linguagem de programação. Entrada e saída. Tipos básicos de dados. Operadores e expressões. Estruturas condicionais. Estruturas de repetição. Funções. Noções de estruturas de dados: vetores e matrizes. Técnicas básicas de boa programação. Tratamento de erros.

Objetivos

editar

Preparar o aluno para utilizar ferramentas computacionais nas atividades do curso, consolidando uma formação que será útil na sua vida profissional. O aluno aprenderá a desenvolver programas utilizando técnicas básicas de programação estrutura e o conceito de tipos de dados. Concomitantemente se familiarizará com utilização de ferramentas necessárias para a execução dessas tarefas. O curso também oferece um primeiro contato com o uso de computadores para desenvolvimento de programas.

Conteúdo

editar

O conteúdo da disciplina será apresentado em 3 unidades:

  • Unidade 1 - Conceitos básicos
    • Histórico e evolução da computação
    • Algoritmos - Definições, Conceito e Métodos de Construção
    • Algoritmos - Pseudocódigo e Operadores
    • Algoritmos - Estruturas Condicionais
    • Algoritmos - Estruturas de Repetição
  • Unidade 2 - Conceitos aplicados a Python
    • Python - Primeiros passos e Tipos de Dados
    • Python - Estruturas Condicionais
    • Python - Estruturas de repetição ou iteração
  • Unidade 3 - Python avançado
    • Python - Listas - Operações com listas
    • Python - Funções
    • Python - Matrizes e manipulação de Strings

Metodologia

editar

Será utilizada uma metodologia de ensino-aprendizagem que promova a autonomia do aluno, com instruções que promovam a aquisição de conhecimento.

O conteúdo da disciplina será trabalhado por meio de videoaulas e atividades síncronas e assíncronas, e por meio de discussões diárias a serem realizadas, utilizando-se diversas interfaces (ferramentas e recursos do Moodle) para exposição de conceitos, dúvidas e feedbacks e para debates sobre temas relevantes ao módulo.

Avaliação

editar

A avaliação ocorrerá em seus aspectos qualitativos e quantitativos, segundo o Sistema de Avaliação da EaD da UFCA. Como instrumentos de avaliação serão utilizados provas, fóruns, chats, palestras, seminários, trabalhos dirigidos, atividades no AVA e verificação contínua da aprendizagem. Tais instrumentos serão aplicados no decorrer de cada Unidade de Ensino. A utilização de cada instrumento avaliativo estará relacionada à natureza da unidade didática estudada. Será aplicada, ao final prova presencial no Polo EaD (escrita ou virtual). A avaliação da aprendizagem do conteúdo teórico da disciplina será realizada por intermédio de testes com resolução de listas de exercícios.

Bibliografia

editar

Bibliografia básica

editar
  1. PERKOVIC, L., Introdução a Computação usando Python. LTC, São Paulo, 2016.
  2. JUNIOR, D.P. et al, Algoritmos e programação de computadores. Campus, São Paulo, 2012.
  3. FORBELLONE, A.L.V., Lógica de Programação. A Construção de Algoritmos e Estrutura de Dados, Pearson, São Paulo, 2005.

Bibliografia complementar

editar
  1. LOPES, A., GÁRCIA, G. Introdução a programação: 500 exercícios resolvidos. Campus, São Paulo, 2002.
  2. MENEZES, N.N.C, Introdução à Programação com Python. Novatec, São Paulo, 2014.
  3. MIZRAHI, V. V.; Treinamento em Linguagem C++ Módulo 1. São Paulo, 2005.
  4. BORATTI, I.C., OLIVEIRA, A.B. Introdução a programação: Algoritmos. Visual Books, São Paulo, 2007.
  5. OLIVEIRA, J. F. e MANZANO J. A. N. G.; Estudo dirigido de algoritmos. Editora Érika, São Paulo, 1997.