PROGRAMA DE DISCIPLINA



Documentos relacionados
PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Algoritmos e Estrutura de Dados II. Apresentação. Prof a Karina Oliveira. kkco@dei.unicap.br

UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA COLEGIADO DO CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA/ENG.

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

Algoritmo e Programação

Programação de Computadores

Programação para Computação

Universidade Federal do Vale do São Francisco. Estruturas de Dados. Professor: Marcelo Santos Linder

PLANO DE ENSINO. Período/ Fase: 1º Semestre: 1º Ano: 2011 Disciplina: Programação de Computadores I (PGC21) Carga Horária: 72 horas/aula

De uma forma ampla, o profissional egresso deverá ser capaz de desempenhar as seguintes funções:

Primeiro Curso de Programação em C 3 a Edição

Plano de Ensino de Disciplina Ciência da Computação 2011

Plano de Trabalho Docente Ensino Técnico

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ PRÓ-REITORIA DE GRADUAÇÃO. Curso: Informática Modalidade: Bacharelado Turno: Integral.

Júlio Arakaki Ítalo S. Vega

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

formação em programação em c/c++

Conceitos Básicos de C

CST em Análise e Desenvolvimento de Sistemas 2ª Série Programação Estruturada II

Capítulo 2: Introdução à Linguagem C

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Estrutura de dados. Link do Google Drive: ED Apresentação Luiz Gonçalves Última revisão 8/12/14

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:

Introdução à Programação

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

INF 1005 Programação I

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

CMP1060 INFORMÁTICA E COMPUTAÇÃO PLANO DE ENSINO /2. Profª Angélica da Silva Nunes

Programação Orientada a Objeto


UNIVERSIDADE PRESBITERIANA MACKENZIE

Programação de Computadores

PLANO DE ENSINO PROJETO PEDAGÓCIO: 2010

Ficha da Unidade Curricular (UC)

Sobre o Professor Dr. Sylvio Barbon Junior

Algoritmos e Linguagem de Programação I

Aula Inicial. c Professores de ALPRO I 08/2010. Faculdade de Informática PUCRS. ALPRO I (FACIN) Aula Inicial 08/ / 23

Disciplina: INTRODUÇÃO AOS SISTEMAS DE COMPUTAÇÃO Carga Horária: 68 (sessenta e oito) horas Crédítos: 04 (quatro)

1. DAS VAGAS: Estão disponíveis 2 (duas) vagas para Arquitetura e Montagem de Computadores e Algoritmos e Programação.

GERÊNCIA DE DADOS SEMIESTRUTURADOS. Prof. Angelo Augusto Frozza, M.Sc.

Aspectos de Segurança em Programação com Java

Implementação de um analisador léxico: a primeira etapa na construção do compilador Marvel

Linguagem Formais e Autômatos

PLANO DE ENSINO PROJETO PEDAGÓCIO: 2010

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

PLANO DE ENSINO PROJETO PEDAGÓCIO: 2010

Regulamento Complementar do Trabalho de Conclusão de Curso do Curso de Engenharia de Computação UTFPR, campus Pato Branco

PLANO DE ENSINO. PROJETO PEDAGÓCIO Carga Horária Semestral: 80h. Semestre do Curso: 7º.

Programa de Unidade Curricular

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS

PLANIFICAÇÃO MODULAR

Apresentação da disciplina Introdução a Programação

PLANO DE ENSINO. DISCIPLINA: (06241) Algoritmos e Estruturas de Dados. PRÉ-REQUISITOS: Matemática Discreta e Introdução a Programação

PLANO DE ENSINO ( X ) OBRIGATÓRIA ( ) OPTATIVA. DEPARTAMENTO: Estatística e Informática (DEINFO) PROFESSOR RESPONSÁVEL: Francielle Silva dos Santos

ENGENHARIA DE SOFTWARE AULA 1. estrutura do curso e conceitos fundamentais. professor Luciano Roberto Rocha.

Dossier Pedagógico da Disciplina de Programação e Computadores 1 (PC1)

Proporcionar uma visão geral da metodologia de Sistemas Operacionais.

Programação Estruturada I

Capítulo 2 Introdução à Programação Estrutura de Controle

PLANO DE ENSINO PRÉ-REQUISITOS: ENS

PLANO DE ENSINO PROJETO PEDAGÓGICO: Carga Horária Semestral: 80 horas Semestre do Curso: 8º

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

BCC701 Programação de Computadores I. Fernanda Sumika Hojo de Souza

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Plano de Ensino SEMESTRE/ANO DA TURMA: CARGA HORÁRIA: 80 h/a

Proporcionar ao acadêmico noções empresariais e empreendedoras.

PLANO DE ENSINO. Código: Crédito: Pré-requisito: Introdução a Lógica ( ) Carga Horária: 60h Bacharelado em Ciência da Computação

Plano de Ensino. Conteúdo Programático

Lógica. Everson Santos Araujo

Plano de Trabalho Docente Ensino Técnico

CURSO DE INFORMÁTICA LICENCIATURA 1 PERÍODO

Curso de Linguagem C

PLANO DE ENSINO PROJETO PEDAGÓCIO: 2010

ATIVIDADES PRÁTICAS SUPERVISIONADAS

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

Semântica de Referência e Vetores / Matrizes

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Transcrição:

DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA801 DISCIPLINA: ALGORITMOS E PROGRAMAÇÃO I CARGA HORÁRIA: 60h EMENTA: Classificação de linguagens de programação. Compiladores e interpretadores. Noção de algoritmo, dado, variável, instrução e programa. Tipos e estruturas elementares de dados. Operadores. Funções embutidas e expressões. Instruções condicionais, incondicionais e de repetição. Tipos definidos pelo programador e tipos abstratos de dados. Estruturas compostas de dados: vetores, matrizes e registros. Noções de estruturas dinâmicas de dados. Subprogramas: funções, procedimentos e recursão. Noções de arquivos em programação. Algoritmos e aplicações. OBJETIVOS: Geral: Ser capaz de resolver problemas através da interpretação de cenários do mundo real, modelando soluções através de algoritmos e estruturas de dados básicas e implementando as soluções através de programas de computador escritos em uma linguagem de programação estruturada. Específicos: Compreender as estruturas dos algoritmos usados nas linguagens de programação modernas e aplicar estas estruturas para projetar a solução de problemas; Ser capaz de escrever, compilar, depurar e testar programas em uma linguagem de programação estruturada (C); Utilizar software de edição de texto, compilação e depuração para o desenvolvimento de programas simples em linguagem C; Aplicar estruturas de dados homogêneas e heterogêneas para modelar dados simples e complexos a partir de problemas reais, bem como lidar com questões de gerenciamento de memória que surgem a partir do uso destas estruturas de dados; - 1 de 6 -

OBJETIVOS (Continuação): Analisar problemas, decompondo-os em partes através de técnicas de projeto e desenvolvimento bottom-up ou top-down e projetar soluções integrando as partes através de estruturas modulares como funções e procedimentos; Ser capaz de armazenar, acessar, alterar ou eliminar informação persistente em arquivos sequenciais e de acesso aleatório, utilizando bibliotecas de funções e procedimentos em linguagem C. METODOLOGIA: A metodologia será um híbrido de Grupos Tutoriais ( GT), Consultorias Individuais (CI) e Coletivas (CC) e Aulas Expositivas (AE). A seguir apresentamos os alcances de cada uma destas estratégias metodológicas: Durante todo o curso serão realizadas atividades seguindo a metodologia PBL (Aprendizagem Baseada em Problemas), a qual consistirá basicamente de grupos tutoriais (GT) que objetivam solucionar os problemas e/ou projetos que serão propostos. Esses problemas devem ser resolvidos conforme critérios determinados em documento anexo a cada problema; Os GTs, baseados na estratégia de PBL (Aprendizagem baseada em problemas), permitirão ao aluno chegar ao conhecimento através do processo de reflexão consigo mesmo e das relações com os outros alunos do grupo; As CIs e CCs permitirão ao aluno estabelecer diferentes canais de diálogo no processo de resolução de problemas. As AEs serão aulas expositivas dialogadas com o objetivo de introduzir assuntos que serão tratados mais detalhadamente nos problemas, complementar o processo de aprendizagem após o final de um problema ou até mesmo discutir outros assuntos que não serão abordados no GT. Material Utilizado Para os GTs: Salas acondicionadas para PBL, com quadro branco, kit para escrever no quadro, cadeiras e mesa de reunião. Para as AEs e CCs: Salas tradicionais de aula, com quadro negro ou branco, kit para escrever nos quadros, retro-projetor, computador e canhão multimídia. Para as CIs: Sala do professor com quadro branco, kit para escrever nos quadros, computador, impressora, cadeiras e mesa. - 2 de 6 -

AVALIAÇÃO: O módulo será dividido em duas unidades, para que o estudante possa refletir sobre sua situação na metade do curso e, caso necessário, realizar correções de rumo no processo de aprendizagem. O conceito de cada uma das duas unidades será calculado a partir de uma média ponderada (MP) de produtos de grupos tutoriais (PGT), avaliações de conteúdo do módulo (AC) e do desempenho nos grupos tutoriais (DGT), dada a seguir: MP= 0,4 PGT + 0,4 AC + 0,2 DGT Ao final de cada problema, os alunos deverão, individualmente ou em grupo, gerar um produto ou apresentação conforme designado para cada problema; A média PGT será calculada a partir de uma ponderação das notas obtidas nos produtos ou apresentações gerados; As avaliações de conteúdo (AC) tratarão dos conteúdos abordados no módulo e poderão ser provas escritas, listas de exercícios e demais instrumentos de avaliação de conteúdo. Durante os grupos tutoriais, os alunos serão avaliados por seu desempenho (DGT), sendo consideradas as dimensões de participação, contribuição efetiva, criatividade, entrosamento e respeito mútuo em cada um dos passos do ciclo PBL; A média ponderada de cada unidade será transformada em um conceito, utilizando as escalas tradicionais de conversão de notas para conceitos usadas na UEFS. Os dois conceitos resultantes serão os conceitos finais para a avaliação dos alunos; As datas para entrega dos produtos da resolução dos problemas serão definidas ao longo do curso. Provas Finais: Não obtendo conceito suficiente na avaliação do módulo, o estudante poderá fazer prova final, e o conceito final será de acordo com o sistema de avaliação vigente na UEFS. Aprovação no módulo: Para ser aprovado no estudo integrado, o estudante precisa cumprir os seguintes requisitos: Ter frequência igual ou superior a 75% da carga horária efetiva ministrada no módulo isolado, caso contrário haverá reprovação por freqüência e o o módulo completo deverá ser cursado novamente; Ser aprovado na avaliação do módulo, caso contrário haverá reprovação por conceito; Caso o requisito de freqüência seja atendido e o estudante seja reprovado no processo de avaliação, passa a ser opcional a freqüência às atividades acadêmicas ordinárias do respectivo módulo isolado em períodos letivos posteriores, embora a universidade deva reservar espaço para o estudante dentre as vagas semestrais do componente e este deva se - 3 de 6 -

AVALIAÇÃO (Continuação): matricular novamente no módulo isolado; neste caso, o estudante deve refazer as atividades de avaliação no(s) período(s) seguinte(s), até que tenha concluído o componente. Havendo dificuldades para os estudantes com reprovação no módulo isolado em período(s) anterior(es) freqüentarem as atividades de avaliação, o corpo docente responsável pelo componente poderá fazer avaliações em separado para estes estudantes. CONTEÚDO PROGRAMÁTICO: Unidade 1: 1) Linguagens de programação Principais linguagens de programação e suas características Compiladores utilizados Principais ferramentas de desenvolvimento Principais paradigmas de linguagens de programação 2) Algoritmos Conceituação Formas de representação Estruturas de seleção Estruturas de repetição Síntese de algoritmos a partir de uma especificação 3) Introdução à linguagem C Estrutura de um programa em C Tipos de dados (char, int, float, double, etc.) Modificadores (unsigned, long, short, etc.) Constantes e variáveis Entrada e saída de dados (funções printf e scanf) Operadores aritméticos e de atribuição Operadores relacionais e lógicos 4) Estruturas de controle Expressões lógicas Comando if...else Comando switch...case Comandos while e do...while Comando for Comandos break e continue 5) Funções e procedimentos Técnicas de modularização Funções e procedimentos Protótipos Passagem de parâmetros (por referência e valor) - 4 de 6 -

CONTEÚDO PROGRAMÁTICO (Continuação): Uso de bibliotecas e exemplos de funções embutidas ( math.h, stdlib.h, etc.) Recursividade Unidade 2: 6) Vetores e Matrizes Vetores e matrizes: declaração e indexação de elementos Cadeias de caracteres Exemplos de funções embutidas ( string.h) Aplicações 7) Ponteiros e Alocação Dinâmica Aritmética com ponteiros Alocação e desalocação de memória Aplicações 8) Estruturas de dados definidas pelo usuário Estruturas: declaração de tipos e de variáveis Vetores e ponteiros de estruturas Noções de classes e objetos em programação orientada a objetos 9) Arquivos Tipos de arquivo Abertura, leitura, escrita e fechamento de arquivo Operações sobre arquivos de registros: inserção, consulta, alteração e exclusão Aplicações REFERÊNCIA BIBLIOGRÁFICA: LIVROS-TEXTO MANZANO, J. A. N. G., OLIVEIRA, J. F. Algoritmos : Lógica para Desenvolvimento de Programação. São Paulo: Érica, 1996. MANZANO, J. A. N. G. Estudo Dirigido de Linguagem C. São Paulo: Érica: 1997. FORBELLONE, A. V. L., EBERSPACHER, H. F. Lógica de Programação : A Construção de Algoritmos e Estrutura de Dados. 2. ed. São Paulo: Makron Books, 2000. MIZRAHI, V. V. Treinamento em Linguagem C : Módulo 1. São Paulo : Makron Books, 1990. MIZRAHI, V. V. Treinamento em Linguagem C : Módulo 2. São Paulo : Makron Books, 1990. - 5 de 6 -

REFERÊNCIA BIBLIOGRÁFICA (Continuação): SCHILDT, H. C Completo e Total. 3. Ed. São Paulo: Makron Books, 1996. LEITURA COMPLEMENTAR ZIVIANI, N. Projeto de Algoritmos com Implementação em Pascal e C. 4. ed. São Paulo: Pioneira, 1999. NORTON, P. Introdução à Informática. São Paulo: Makron Books, 1997. FARRER, H., et al. Algoritmos Estruturados. 3. ed. Rio de Janeiro: LTC, 1999. FARRER, H. et al. Pascal Estruturado. 3. ed. Rio de Janeiro: LTC, 1999. CORMEN, T.H., LEISERSON, R.L., RIVEST, R.L. e STEIN, C. Introduction to Algorithms, 2. ed., MIT Press, 2001. AHO, A., HOPCROFT, J. e ULLMAN, J. Data Structures and Algorithms, Addison- Wesley Pub Co, 1983. KNUTH, D. The Art of Computer Programming, vol. I e III, Addison-Wesley Pub Co, 1998. HORSTMANN, C. e CORNELL, G. Core Java 2, V.1: Fundamentos, Makron, 2000. DEITEL, H.M. e DEITEL, P.J. Java: Como Programar, Bookman Companhia Editora, 2003. KERNIGHAN, B. W., RITCHIE, D. M. C: A Linguagem de Programação padrão ANSI. Ed. Campus, 1990. TENENBAUM, A. M., LANGSAM, Y., AUGENSTEIN, M. J. Estruturas de Dados Usando C. São Paulo: Makron Books, 1995. DAHL, O. J, DIJKSTRA, E. W., HOARE, C. A. R. Structured Programming. Academic Press, 1972. DIJKSTRA, E. W. A Discipline of Programming. New Jersey : Englewood Cliffs, 1976. KERNIGHAN, B. W., PIKE, R. The Practice of Programming. Addison-Wesley, 1999. - 6 de 6 -