UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Coordenação do Curso de Graduação em Engenharia Ambiental e Sanitária

Rodovia BR 050, Km 78, Bloco 1CCG, Sala 208 - Bairro Glória, Uberlândia-MG, CEP 38400-902
Telefone: 34 2512-6711/6712 - coamb@iciag.ufu.br
  

Timbre

Plano de Ensino

IDENTIFICAÇÃO

Componente Curricular:

FACOM39301 Algoritmos e Programação de Computadores

Unidade Ofertante:

FACOM

Código:

FACOM39301

Período/Série:

Turma:

A

Carga Horária:

Natureza:

Teórica:

45 horas

Prática:

15 horas

Total:

60 horas

Obrigatória:

 X

Optativa:

 

Professor(A):

Dino Franklin

Ano/Semestre:

2025/1

Observações:

 

 

EMENTA

Noções sobre os componentes de computadores. Uso de softwares (sistemas operacionais, internet e outros). Noções de lógica. Introdução a algoritmos. Resolução de problemas utilizando algoritmos e raciocínio lógico. Tipos de dados. Variáveis e constantes. Expressões e operadores. Estruturas de controle: Estruturas básicas, Estruturas condicionais e estruturas de repetição. Estruturas básicas de dados: vetores, matrizes e registros. Arquivos. Funções.

 

JUSTIFICATIVA

Muitos dos algoritmos das engenharias, matemática e ciências, mesmo que conceitualmente simples, demandam um volume considerável de trabalho. A programação de computadores viabiliza a execução de algoritmos de qualquer grau de complexidade com bem pouco esforço, tornando possível a solução mesmo dos problemas mais críticos em termos de tempo de execução.

 

OBJETIVO

Desenvolver habilidades para a utilização do computador como ferramenta de trabalho em sua atividade profissional; Capacitar o aluno a desenvolver programas em uma linguagem procedimental, empregando adequadamente os recursos oferecidos por esta linguagem.

 

PROGRAMA

1 Noções sobre os componentes de computadores

1.1 Placa mãe, dispositivos de armazenamentos, dispositivos de entrada e dispositivos de saída

1.2 Terminologia (hardware, software, programa, bit, byte, códigos: Binário e ASCII)

2 Uso de Softwares

2.1 Sistemas operacionais: windows; linux; unix; comunicação em rede

3 Introdução a Algoritmos

3.1 Conceito de algoritmos e programas

3.2 Linguagens de programação

3.3 Tipos primitivos de dados e variáveis

3.4 Expressões: aritméticas, relacionais e lógicas

3.5 Comandos de: atribuição, entrada e saída de dados

3.6 Estruturas de controle de fluxo: seleção e repetição

3.7 Exercícios de fixação

4 Introdução à Linguagem de Programação Python

4.1 A estrutura de programas em Python

4.2 Definição de identificadores

4.3 Tipos de dados primitivos

4.4 Declaração e inicialização de variáveis

4.5 Conceitos sobre entrada e saída

4.6 Exemplos de programas

5 Estrutura Sequencial -Atribuição

5.1 Expressões aritméticas

5.2 Operadores e construções especiais no Python

5.3 Exemplos de programas

6 Estruturas de Seleção

6.1 Dados e operadores lógicos

6.2 Avaliação de expressões lógica

6.3 Comando de seleção if ... elif ... else

6.4 Exemplos de programas

7 Estruturas de Repetição

7.1 Conceitos sobre laços de repetição

7.2 Laços while

7.3 Laços for

7.4 Ramificação e decisões: execução condicional, condições e laços aninhados

7.5 Exemplos de programas

8 Vetores e Matrizes

8.1 Conceitos sobre arranjos

8.2 O uso de vetores e matrizes em Python

8.3 Exemplos de programas

9 Funções

9.1 Projeto de programa estruturado

9.2 Funções em Python

9.3 Estratégias para comunicação inter-funções (passagem de parâmetros e return)

9.4 Funções padrão

9.5 Exemplos de programas utilizando funções

10 Módulos e pacotes em Python

10.1 Carregando pacotes

10.2 Usando e construindo módulos

11 Arquivos

11.1 Noções sobre arquivos

11.2 Funções para abrir e fechar arquivos

11.3 Funções de entrada/saída para arquivos texto

 

METODOLOGIA

As aulas presenciais serão realizadas no laboratório. Nessas aulas serão utilizados quadro branco, pincel e projetor multimídia (apresentações de de slides, Python notebooks e resolução/implementação e testes de exemplos/exercícios práticos).

Cronograma de atividades:

Semana

Data da Aula

Módulo/Assunto

Atividades Previstas

1

10/06

Introdução à Computação

Apresentação da Disciplina e Inttrodução à Computação

2

17/06

Introdução ao Python

Introdução ao Python. Variáveis e expressões. Comandos de entrada e saída de dados.

3

24/06

Comandos condicionais em Python

Comando condicional IF-ELIF-ELSE

4

01/07

Tipos de dados e formatação de strings

Strings, métodos de strings e f-strings

5

08/07

Funções em Python

Funções e passagem de parâmetros

6

15/07

Revisão

Revisão

7

22/07

Comando de repetição while.

Comando de repetição WHILE.

8

29/07

Comando de repetição FOR e função range()

Comando de repetição FOR.

9

05/08

Listas e tuplas

Tipos de dados: listas e tuplas.

10

12/08

Dicionários

Tipo de dados: dicionários.

-

19/08

Arquivos

Manipulação de arquivos.

11

26/08

Não haverá aula

Reposição de aula de Sexta-feira

12

02/09

Bibliotecas e pacotes

Bibliotecas Gerais, numéricas e gráficas.

13

09/09

Revisão Geral

Revisão geral e exemplos de aplicações

14

16/09

Avaliação

Avaliação de recuperação

15

23/09

Vista de provas

Vista de provas

 

Atividades Acadêmicas Extras:

 

Atividades de complementação (TCE)

Carga horária

Lista de exercícios 01 - entrada e saída de dados e comandos condicionais

2,5

Lista de exercícios 02 - funções e comandos de repetição

2,5

Lista de exercícios 03 - listas, tuplas e dicionários

2,5

Lista de exercícios 04 - funções, arquivos e pacotes.

2,5

Soma de atividades

10h

 

 

AVALIAÇÃO

A avaliação da disciplina ocorrerá por meio de testes periódicos quinzenais. O valor de cada teste será 100/6 pontos que serão contabilizados em percentagem para facilitar o cálculo.

Estão previstos 7 testes e a nota final será a média aritmética das 6 maiores notas dos 7 testes. Ou seja, a menor nota dos testes não será contabilizada na média final.

Os alunos que não obtiverem nota suficiente para aprovação com os testes poderão fazer uma prova de recuperação no final do semestre. 

Caso o aluno, faça a prova de recuperação, sua nova nota final será a média aritmética entre a média obtida nos testes e a nota na prova de recuperação.

 

Quadro de avaliações:

Avaliação

Pontuação

Data

Avaliação 01

100/6

01/07

Avaliação 02

100/6

15/07

Avaliação 03

100/6

29/07

Avaliação 04

100/6

05/08

Avaliação 05

100/6

19/08

Avaliação 06

100/6

02/09

Avaliação 07

100/6

09/09

Avaliação de Recuperação

100%

16/09

Cômputo da Nota Final:

MÉDIA ARITMÉTICA ENTRE AS NOTAS DOS TESTES: NT = (A1+A2+A3+A4+A5+A6)/6       * SOMENTE AS 6 MAIORES NOTAS SERÃO CONTABILIZADAS

A NOTA FINAL SERÁ A MÉDIA DOS TESTES NF = NT

EM CASO DE RECUPERAÇÃO (NT<60):

NOTA FINAL SERÁ A MAIOR NOTA DENTRE A NOTA FINAL DOS TESTES, NT; OU A MÉDIA ARITMÉTICA ENTRE A NOTAS DOS TESTES E A NOTA DA AVALIAÇÃO DE RECUPERAÇÃO - NF = (NT+AR)/2. OU SEJA, A NOTA FINAL COM A RECUPERAÇÃO SERÁ SEMPRE MAIOR OU IGUAL À NOTA FINAL DOS TESTES.

 

BIBLIOGRAFIA

Básica

ASCENCIO, A. F.; CAMPOS, E. A. V. Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ e Java. São Paulo: Prentice Hall, 2007. 434 p.

CAPRON, H. L.; JOHNSON, J. A. Introdução à informática. São Paulo: Pearson Prentice Hall, 2004. 350 p.

FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de programação: a construção de algoritmos estruturas de dados. São Paulo: Pearson Prentice Hall. 2000. 196 p.

DOWNEY, A et alii Aprenda Computação com Python 3.0. Edição interativa e disponível gratuitamente na Internet.

Complementar

DOWNEY, Allen B. Pense em Python: pense como um cientista da computação. São Paulo: Novatec, 2016. 312 p.

GUIMARÃES, A. M.; LAGES, N. A. C. Introdução à ciência da computação. Rio de Janeiro: LTC, 1984. 165 p.

HETLAND, M. L. Beginning Python: from novice to professional. New York: Apress, 2008.

LUTZ, M.; ASCHER, D. Aprendendo Python. Porto Alegre: Bookman, 2007.

MENEZES, N. N. C. Introdução à programação com Python: algoritmos e lógica de programação para iniciantes. São Paulo: Novatec, 2010.

SCHUERER, K. et al. Introduction to programming using Python. Institute Pasteur, 2004. Disponível em:<https://www.researchgate.net/publication/237780127_Programming_Course_for_Biologists_at_the_Pasteur_Institute>.Disponível em: 27 set. 2018.

 

APROVAÇÃO

O presente Plano de Ensino será analisado em reunião do Colegiado.


logotipo

Documento assinado eletronicamente por Dino Rogério Coinete Franklin, Professor(a) do Magistério Superior, em 17/07/2025, às 12:53, 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 6389073 e o código CRC 6697FCD5.




Referência: Processo nº 23117.037605/2025-19 SEI nº 6389073