- Identificação:
- Disciplina: INE5231 - Computação Científica I
- Turma(s): 02203A
- Carga horária: 54 horas-aula Teóricas: 54 Práticas: 0
- Período: 2º semestre de 2016
- Curso(s):
- Requisito(s):
- Não há
- Professor(es):
- Alexandre Goncalves Silva (alexandre.goncalves.silva@ufsc.br)
- Ementa:
- Noções de sistemas de computação. Formulação de algoritmos e sua representação. Noções sobre linguagem de programação e programas. Implementação prática de algoritmos em uma linguagem de programação. Descrição de algumas aplicações típicas.
- Objetivo(s):
- Geral: Analisar problemas e elaborar algoritmos para sua solução de forma clara e precisa usando uma linguagem de programação e implementá-los. Analisar problemas e elaborar algoritmos para sua solução de forma clara e precisa usando uma linguagem de programação e implementá-los.
- Específicos:
- Dominar a atividade de análise detalhada de problemas.
- Compreender o processo de Engenharia de Software, aplicando os passos de definição do problema, análise de requisitos, modelagem, implementação e testes.
- Modelar algoritmos em notação algorítmica adequada.
- Implementar algoritmos em uma linguagem de nível intermediário.
- Dominar ambientes de desenvolvimento de programas na resolução de problemas matemáticos
- Conteúdo Programático:
- O COMPUTADOR - [3 horas-aula]
- Arquitetura de Computadores
- Linguagens de Programação
- Programa Conversores.
- REPRESENTAÇÃO DE ALGORITMOS - [3 horas-aula]
- Conceito de Algoritmo
- Pseudo-Código para Representar Algoritmos
- Tipos de Dados
- Variáveis
- Tipos de Variáveis
- Desenvolvimento Modularizado de Algoritmos
- LINGUAGENS DE PROGRAMAÇÃO ESTRUTURADAS [3 horas-aula]
- Paradigma Estruturado e Estruturas de Controle
- Comandos de Atribuição
- Variáveis, Constantes, Funções e Procedimentos
- Comandos de Entrada/Saída: Teclado, Vídeo e Arquivos
- Compilação,Interpretação,Execução,Depuração de Programas
- INTRODUÇÃO À PROGRAMAÇÃO EM C [6 horas-aula]
- Estrutura do Programa em C
- Sintaxe e comandos
- Compilação, Teste e Debugação de Programas.
- PROGRAMAS ENVOLVENDO PROCESSOS DE REPETIÇÃO E SELEÇÃO [6 horas-aula]
- Estruturas de Seleção
- Estruturas de Repetição
- VARIÁVEIS ESTRUTURADAS UNIDIMENSIONAIS HOMOGÊNEAS [9 horas-aula]
- O Tipo Array e seus similares
- Problemas vetoriais no Rn e sua resolução computacional
- SUBDIVISÃO DE PROBLEMAS E SUBPROGRAMAÇÃO [6 horas-aula]
- Técnicas para Subdivisão de Problemas
- Subprogramas sem retorno de valor: Procedimentos
- Subprogramas com retorno de valor: Funções
- Passagem de parâmetros por valor e por referência
- Desenvolvimento e uso de bibliotecas de funções matemáticas
- VARIÁVEIS ESTRUTURADAS MULTIDIMENSIONAIS HOMOGÊNEAS [6 horas-aula]
- O Tipo Matriz e seus similares
- Problemas da Álgebra Linear e sua resolução computacional
- Resolução computacional de sistemas de equações lineares
- VARIÁVEIS ESTRUTURADAS HETEROGÊNEAS [6 horas-aula]
- O Tipo Registro ou Estrutura
- Campos, Tipos Derivados Estruturados e Referência de Campos
- O Tipo Abstrato de Dados e Programação Modular
- Armazenamento de dados em arquivos externos
- PROGRAMAÇÃO UTILIZANDO UMA LINGUAGEM DE COMPUTAÇÃO TÉCNICA NUMÉRICA [6 horas-aula]
- Conceitos de Ambientes de Simulação Matemática
- Resolução Numérica de Integrais e Representação Gráfica
- O COMPUTADOR - [3 horas-aula]
- Metodologia:
Uma parte das aulas será expositiva, utilizando o quadro e o projetor multimídia, para a apresentação do conteúdo da disciplina. Outra parte será prática, com problemas sendo resolvidos em sala de aula, no ambiente de programação do Moodle e no laboratório, de modo a exercitar o aprendizado. Uma lista de problemas será proposta semanalmente, sendo um exercício selecionado para submissão e avaliação.
- Avaliação:
A avaliação consistirá de três provas escritas (P1, P2 e P3) com peso de 30% cada, e a média de exercícios de implementação (E) com peso de 10%. Um exercício obrigatório deverá ser entregue, pelo Moodle (no ambiente VPL), por semana (totalizando aproximadamente 18 ao final do semestre), sendo disponibilizado conforme a evolução do conteúdo ministrado. A média final (MF) será calculada da seguinte forma:
MF = 0,3*P1 + 0,3*P2 + 0,3*PF + 0,1*E
onde
E = (E1 + E2 + ... + E18) / 18
Alunos com média >= 6.0 e frequência suficiente estarão aprovados. Alunos com frequência insuficiente, conforme os regulamentos da UFSC, estarão reprovados com média final igual a zero.Conforme parágrafo 2º do artigo 70 da Resolução 17/CUn/97, o aluno com frequência suficiente (FS) e média final no período (MF) entre 3,0 e 5,5 terá direito a uma nova avaliação ao final do semestre (REC), sendo a nota final (NF) calculada conforme parágrafo 3º do artigo 71 desta resolução, ou seja: NF = (MF + REC) / 2.
- Cronograma:
A primeira prova (P1) será realizada aproximadamente na 5ª semana de aula e contemplará os seguintes tópicos do conteúdo programático:
- O COMPUTADOR - [3 horas-aula]
- REPRESENTAÇÃO DE ALGORITMOS - [3 horas-aula]
- LINGUAGENS DE PROGRAMAÇÃO ESTRUTURADAS [3 horas-aula]
- INTRODUÇÃO À PROGRAMAÇÃO EM C [6 horas-aula]
A segunda prova (P2) será realizada aproximadamente na 12ª semana de aula e contemplará os seguintes tópicos do conteúdo programático:
- PROGRAMAS ENVOLVENDO PROCESSOS DE REPETIÇÃO E SELEÇÃO [6 horas-aula]
- VARIÁVEIS ESTRUTURADAS UNIDIMENSIONAIS HOMOGÊNEAS [9 horas-aula]
- VARIÁVEIS ESTRUTURADAS MULTIDIMENSIONAIS HOMOGÊNEAS [6 horas-aula]
A terceira prova (P3) será realizada aproximadamente na 18ª semana de aula e contemplará os seguintes tópicos do conteúdo programático:
- VARIÁVEIS ESTRUTURADAS HETEROGÊNEAS [6 horas-aula]
- SUBDIVISÃO DE PROBLEMAS E SUBPROGRAMAÇÃO [6 horas-aula]
- PROGRAMAÇÃO UTILIZANDO UMA LINGUAGEM DE COMPUTAÇÃO TÉCNICA NUMÉRICA [6 horas-aula]
A prova de recuperação (REC) será aplicada aproximadamente na 20ª semana de aula. - Bibliografia Básica:
- KERNIGHAN, Brian W.; RITCHIE, Dennis M. C, a linguagem de programação. 4. ed. Porto Alegre: EDISA; Rio de Janeiro: Campus, 1988. 208p ISBN 8570014104
- TENENBAUM, Aaron M; LANGSAM, Yedidyah; AUGENSTEIN, Moshe. Estruturas de dados usando C. São Paulo (SP): Pearson Makron Books, 1995. 884p. ISBN 8534603480
- SCHILDT, Herbert. C, completo e total. 3. ed. rev. e atual. São Paulo (SP): Pearson Education do Brasil, 2006. xx,827p.
- OLIVEIRA, U. Programando em C, vol. I – fundamentos. Editora Ciência Moderna, 2008, 743p.
- Bibliografia Complementar:
- KERNIGHAN, Brian W.; PLAUGER, P. J. The elements of programming style. 2nd ed. New York: Yourdon: McGraw-Hill, c1978. 168p ISBN 0070342075
- BORATTI, I.C. e OLIVEIRA, A B. Introdução a Programação – Algoritmos. Visual Books Florianópolis -2007.
- PRESS, W. H, et all. Numerical Recipes in C, The art of Scientific Computing, 2nd Ed. Cambridge University Press, 2002. Disponível em: http://www.nrbook.com/a/bookcpdf.php
- Acton, F. S. Numerical Methods that Work. (Rev. 1970, Harper \& Row edition), The Math. Assoc. Am., 1990.