UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Engenharia Elétrica

Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902
Telefone: (34) 3239-4701/4702 - www.feelt.ufu.br - feelt@ufu.br
  

Timbre

Plano de Ensino

IDENTIFICAÇÃO

Componente Curricular:

Métodos e Técnicas de Programação

Unidade Ofertante:

Faculdade de Engenharia Elétrica

Código:

FEELT31202

Período/Série:

20 Período

Turma:

U e V

Carga Horária:

Natureza:

Teórica:

30

Prática:

60

Total:

90

Obrigatória:

(X)

Optativa:

( )

Professor(A):

Augusto W. F. V. da Silveira, Alexandre Coutinho Mateus, Luciano Vieira Lima

Ano/Semestre:

2020/1

Observações:

 

 

EMENTA

Métodos e técnicas de programação sob o paradigma da programação estruturada, ambiente de desenvolvimento integrado (IDE), revisão (comandos de decisão, comandos de controle, laços, arrays e matrizes, funções, passagem por valor, passagem por referência), estruturas, ponteiros, arquivos, programação visual.

JUSTIFICATIVA

Esta disciplina é uma continuação de Introdução a Técnicas de Programação (ITC) do 1º período. Assim, seu princípio básico está fundamentado no fato do estudante de engenharia ter noções de Informática. Porém, esta continuação possui um cunho de desenvolvimento mais profissional, guiando o estudante a criar sistemas computacionais que trabalham com arquivos numa plataforma mais visual. Este cenário aproxima o estudante de uma atual realidade mercadológica.

OBJETIVO

Objetivo Geral:

Capacitar o estudante a pensar e implementar aplicações de engenharia sob o paradigma de programação compilada de propósito geral, estruturada, imperativa e procedural. 

Objetivos Específicos:

Ao final do curso o estudante deverá ser capaz de:

1. Identificar conceitos e características importantes relativos a linguagens de programação em diversos paradigmas, em especial, a linguagens procedimentais e orientadas a objetos;

2. Desenvolver aplicações de engenharia sob o paradigma de programação estruturada e de orientação a objetos;

3. Demonstrar capacidade de dedução, raciocínio lógico e de promover abstrações.        

PROGRAMA

  1. Linguagens de programação: conceitos e técnicas

1.1. Paradigmas de linguagens de programação

1.2. Valores e tipos de dados

1.3. Variáveis e constantes

1.4. Expressões e comandos

1.5. Modularização

1.6. Exceções

  1. Linguagens de programação para engenheiros e cientistas

2.1. Elementos básicos

2.2. Estruturas de ramificação e projetos de programas

2.3. Estruturas de repetição

2.4. Matrizes, acesso a arquivos e elaboração de gráficos

2.5. Exceções, destaques em E/S de arquivos e multidimensionalidade

2.6. Introdução a gráficos

2.7. Interfaces gráficas básicas do usuário

2.8. Componentes adicionais da GUI

2.9. Estudo de caso na engenharia: simulação de ruídos

  1. Tipos de dados abstratos – estruturas

3.1. Criando novos tipos de dados

3.2. Inicializando estruturas

3.3. Atribuições entre estruturas

3.4. Operações entre estruturas

3.5. Estruturas aninhadas

3.6. Estudo de caso na engenharia: simulador de vôo e velocidade do vento; processamento de imagem

  1. Ponteiros

4.1. O que são ponteiros?

4.2. Ponteiros variáveis e os operadores de endereço & e *

4.3. Passando argumentos como ponteiros (referência)

4.4. Operações com ponteiros

4.5. Ponteiros e strings

4.6. Estudo de caso na engenharia: exploração de óleo e gás e simulação de abalos sísmicos

  1. Operações com arquivos

5.1. Definição de arquivos

5.2. Arquivo texto e arquivo binário

5.3. Abertura de arquivos para leitura e gravação

5.4. Gravação de dados formatados

5.5. Funções para manipulação de buffers

5.6. Estudo de caso na engenharia: construção de arquivos de manutenção de equipamentos elétricos.

METODOLOGIA

A disciplina será ministrada com encontros síncronos virtuais e atividades assíncronas, que complementarão a carga horária e permitirão que os alunos pratiquem o conteúdo apresentado.

Para os encontros síncronos serão utilizadas ferramentas amplamente difundidas e testadas, como o Google Meet, Microsoft Teams ou Zoom.

As aulas síncronas serão gravadas e disponibilizadas usando o Youtube, Google Drive ou Moodle, para que o estudante possa assistir caso tenha perdido o encontro síncrono por conta de algum impedimento.

Aulas complementares serão gravadas e disponibilizadas como atividades assíncronas. Além disso, em todas as semanas do curso, serão passadas atividades para serem feitas em casa, visando fixar o contudo ministrado e avaliar o desempenho dos estudantes.

Para complementar e aumentar a eficácia da aprendizagem, os alunos poderão tirar dúvidas através de e-mail e aplicativos de conversação.

O semestre de 2020/1 acontecerá em um período de 15  semanas. A carga horária semanal será distribuída em atividades síncronas (12h por semana – teóricas e práticas) e assíncronas (8h por semana – teóricas e práticas).

Os encontros síncronos serão agendados em conformidade com os horários das aulas teóricas e práticas, conforme previsto para a disciplina no calendário normal divulgado pela FEELT.

O cronograma de atividades síncronas está na tabela abaixo.

Conteúdo

Semana I

Fundamentação e apresentação do curso, Breve histórico, compiladores, apresentação de mensagens e captura de dados, Características básicas da linguagem C: sequência, decisão e iteração.

Semana II

Bases numéricas, primitivas e tipos de dados, ponteiros, vetores e strings.

Semana III

Manipulação de matrizes numéricas e alfanuméricas.

Semana IV

Estruturas, definição de novos tipos, vetores de estruturas.

Semana V

Funções, parâmetros (valor, referência), escopo e recursão.

Semana VI

Primeira Avaliação.

Semana VII

Ponteiros e suas aplicações.

Semana VIII

Memória estática, memória dinâmica.

Semana IX

Alocação dinâmica de matrizes.

Semana X

Segunda Avaliação

Semana XI

Arquivos de texto. Entrada e saída de dados (arquivos).

Semana XII

Arquivos binários. Entrada e saída de dados (arquivos).

Seaman XIII

Aplicações: Construção de aplicações em Forms. 

Semana XIV

Terceira Avaliação

Semana XV

Entrega do trabalho final, e divulgação do resultado final.

 

AVALIAÇÃO

Serão três tipos de avaliações:

1 - Trabalhos que os estudantes deverão entregar todas as semanas. Estes trabalhos serão passados nas aulas síncronas práticas (40 pontos).

2 - Duas avaliações que serão aplicadas nos horários das aulas síncronas teóricas (40 pontos).

3 - Trabalho Final:  os alunos terão que entregar um documento em PDF, contendo o último e mais completo trabalho do curso (20 pontos).

BIBLIOGRAFIA

Básica

1. ASCENCIO, Ana Fernanda e de CAMPOS, Edilene Aparecida; Fundamentos da programação de computadores – Algoritmos, Pascal, C/C++ e Java, 2ª. Edição, São Paulo:Pearson Prentice Hall, 2007.

2. SCHILDT, Herbert; C Completo e Total, 3a. Edição, São Paulo:Pearson Prentice Hall, 2007.

3. MIZRAHI, Victorine Viviane; Treinamento em Linguagem C, 2ª. Edição, São Paulo:Pearson Prentice Hall, 2008.

Complementar

1. VAREJÃO, F. M.; Linguagens de programação – Conceitos e técnicas, Elsevier, Rio de Janeiro, 2004.

2. SEBESTA, R. W.; Conceitos de linguagens de programação , Bookman, Porto Alegre, 2003.

3. BARNES, D. J; KÖLLING, M. Programação orientada a objeto com JAVA, São Paulo, 2004.

4. KRENIGHAN, B. W.; RITCHIE, D. M.; C: a Linguagem de programação - padrão ANSI, Editora Campus, Rio de Janeiro, 1990.

5. MIZRAHI, Victorine Viviane; Treinamento em Linguagem C++, Módulo 1, 2ª. Edição, São Paulo:Pearson Prentice Hall, 2006.

APROVAÇÃO

Aprovado em reunião do Colegiado realizada em: ____/____/______

Coordenação do Curso de Graduação: _________________________

 


logotipo

Documento assinado eletronicamente por Augusto Wohlgemuth Fleury Veloso da Silveira, Professor(a) do Magistério Superior, em 10/02/2021, às 09:35, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


logotipo

Documento assinado eletronicamente por Alexandre Coutinho Mateus, Membro de Comissão, em 10/02/2021, às 17:55, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


QRCode Assinatura

A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 2557979 e o código CRC DE8D10CF.




Referência: Processo nº 23117.005413/2021-10 SEI nº 2557979