Buscar

Laboratório de Desenvolvimento de Algoritmos

Prévia do material em texto

www.unipe.edu.br
BR-230 – KM 22, Água Fria
58053 002
João Pessoa PB Brasil
T F 55 83 2106 9202
Pró-Reitoria Acadêmica –PROAC
Assessoria Acadêmica- ASAC
	PLANO DE ENSINO
	Curso:
	Ciência da Computação
	Disciplina: LABORATÓRIO DE DESENVOLVIMENTO DE ALGORITMOS
	Semestre: 2º
	Turno: Manhã e Noite
	C/H semana: 3h
	C/H semestral: 60h
	Professor Resp:
	WALACE SARTORI BONFIM
	EMENTA
	
Estudo das formas de representação do pensamento lógico por meio de construção de algoritmos.
	OBJETIVOS
	
Geral(is): Aplicar conceitos e boas práticas de programação, utilizando a linguagem de programação C.
Específico (s): 
· Aplicar técnicas de programação, utilizando a linguagem C;
· Analisar e depurar códigos de baixa e média complexidade;
· Aplicar técnicas de documentação de código.
	Cognitivos
	
Conhecimento 1 (C1) – Aplicar boas técnicas de programação, utilizando a linguagem C;
Conhecimento 2 (C2) – Analisar códigos a fim de otimização e identificação de problemas;
Conhecimento 3 (C3) – Construir programas, escrevendo códigos na linguagem de programação C. 
	Habilidades
	
Conhecimento 1 (C1) – Aplicar boas técnicas de programação, utilizando a linguagem C;
· Habilidade H1 – Identificar ambientes de desenvolvimento para a linguagem de programação em C;
· Habilidade H2 – Reconhecer as características da linguagem de programação C;
· Habilidade H3 – Selecionar quais estruturas condicionais e/ou de repetição utilizar para cada situação;
Conhecimento 2 (C2) – Analisar códigos a fim de otimização e identificação de problemas;
· Habilidade H4 – Prever problemas mais comuns durante o desenvolvimento do programa;
· Habilidade H5 – Escrever códigos, utilizando a linguagem C, que resolva problemas comuns do cotidiano;
· Habilidade H6 – Analisar algoritmos de baixa e média complexidade, escritos na linguagem de programação C;
· Habilidade H7 – Interpretar a execução de programas, de baixa e média complexidade, escritos na linguagem C;
Conhecimento 3 (C3) – Construir programas, escrevendo códigos na linguagem de programação C.
· Habilidade H8 – Desenvolver programas, escrevendo algoritmos eficientes na linguagem C.
	Atitudes
	
Atitude (A1) – atitude de trabalho sistematizado, desenvolvendo a consciência de produtividade;
Atitude (A2) – demonstrar possuir, e sempre aplicar, a capacidade de raciocínio lógico e abstrato;
Atitude (A3) – demonstrar discernimento na seleção e aplicação de técnicas e ferramentas;
Atitude (A4) – estar capacitado à identificação de problemas, à análise, ao projeto e desenvolvimento de programas em C, bem como à documentação adequada;
Atitude (A5) – buscar o desenvolvimento profissional contínuo, adaptando-se às novas tecnologias de mercado, como também propondo novas soluções tecnológicas
Atitude 6 (A6) – Analisar eficiência das soluções. 
Atitude 7 (A7) – Evitar redundâncias e anomalias com o objetivo de aumentar a integridade do algoritmo e do programa.
Atitude 8 (A8) – Mapear diferenças entre arquiteturas e suas implicações na escrita de código C.
	CONTEÚDO
	UND
	C/H
	Descrição
	I
	12h
	1.	Introdução à Linguagem de Programação C
1.1.	"Hello World em C; explorando os tipos de dados elementares (primitivos), constantes, variáveis e casting (conversões automáticas de tipos)
1.2.	Entendendo e aplicando operadores e expressões;
1.3.	Aplicando na prática as estruturas de controles condicionais em C;
1.4.	Programando com estilo com o operador ternário “Condição ? verdadeiro : falso”; otimizando código com “switch case"
1.5.	Aplicação dos comandos FOR, WHILE e do DO WHILE
1.6.	Programando com entrada/saída básica
	
	12h
	2.	Vetores
2.1.	Vetores	
2.2.	Aplicação de vetores unidimensionais - arrays
2.3.	Aplicação de vetores multidimensionais - matrizes
2.4.	Explorando outras possibilidades com matrizes
2.5.	Trabalhando com strings em C
	
	06h
	3.	Estruturas e uniões
3.1.	Programando com tipos não primitivos - Union e enum, estruturas de dados e typedefs
3.2.	Declarando estruturas abstratas de dados – typedefs
3.3.	Aplicando estruturas aninhadas e autorreferenciadas	
	II
	12h
	4.	Ponteiros
4.1.	Ponteiros na prática
4.2.	Entendendo na prática a organização de dados na memória 
4.3.	Otimização de código com a utilização de alocação dinâmica
4.4.	Ampliando as possibilidades com estruturas aninhadas e autorreferenciadas 
	
	12h
	5.	Funções
5.1.	Organizando e otimizando o código com funções em C 
5.2.	Explorando o retorno de funções; passagem de parâmetros e argumentos na prática
5.3.	O poder da passagem de parâmetros por valor e por referência
5.4.	Desenvolvendo suas bibliotecas em C
	
	6h
	6.	Arquivos
6.1.	Explorando arquivos
6.2.	Explorando arquivos com entrada/saída avançadas	
	ESTRATÉGIA DE ENSINO
	
Técnicas de Ensino: serão empregadas para o desenvolvimento dos conteúdos:
· Aulas orientadas a problemas;
· Sala de aula invertida;
· Estudos dirigidos em laboratório;
· Aulas expositivas dialogadas empregando quadro e equipamento de multimídias;
· Resolução intensiva de exercícios em tempo real;
· Ambiente Virtual de Aprendizagem (AVA)
· Debates / Fóruns de discussão;
Tecnologias de Informação e Comunicação – TICs: serão empregadas as ferramentas:
· REPL Online Compiler;
· DEV-C++;
· GCC;
· DevMedia;
· Kahoot e outras tecnologias aplicadas ao ERSE.
Projeto Integrador - Desenvolvimento de ferramentas/ideias sobre a temática “Industria 4.0”.- 
	RECURSOS DISPONÍVEIS
	
· Quadro branco; 
· Plataforma BlackBoard/Collaborate;
· Videoaulas e outros materiais online/internet; 
· Ambiente de desenvolvimento de software na linguagem de programação C
	AVALIAÇÃO
	
Diagnostica: Através de perguntas e respostas diretas ao aluno no início do curso;
Formativa: Através da verificação do desempenho nas diversas atividades descritas na metodologia, através de jogos, listas de exercícios e questionários no AVA;
Somativa: Através de avaliações escritas, seminários e projetos;
· 1º Estágio - Unidade I - Avaliação Escrita (2 pontos), Listas Exercícios e Atividades Dirigidas (2 pontos), Lista Virtual (1 ponto)
· 2º Estágio - Unidade II - Avaliação Escrita (2 pontos), Listas Exercícios e Projeto de Desenvolvimento (2 pontos), Lista Virtual (1 ponto)
O processo avaliativo compreenderá:
· Avaliação Regimental (A1) no valor de 0,0 a 5,0.
· Avaliações parciais e processuais (A2) no valor de 0,0 a 5,0.
· A Nota Final (NF) resulta da soma destas duas notas (A1 A2). É considerado aprovado na disciplina o aluno que obtiver
· Nota Final (NF) igual ou superior a 6,0 (seis) e que tenha, no mínimo, 75% (setenta e cinco por cento) de frequência às
· atividades acadêmicas.
Mais informações sobre o processo avaliativo podem ser obtidas no Manual do Aluno e com os respectivos professores das disciplinas.
	BIBLIOGRAFIA
	BÁSICA
	COMPLEMENTAR
	
DAMAS, Luiz Manoel D. Linguagem C. 10. ed. Rio de Janeiro: LTC Editora, 2007. 
SCHILDT, H. C Completo e total. São Paulo: Makron Books, 1976. 
DEITEL, Harvey M.; DEITEL, Paul J. Como programar em C. 6. ed. São Paulo: Livro Técnico e Científico, 2011.
	
ZIVIANY, Nivio. Projeto de algoritmos com implementação em pascal e C.2. ed. São Paulo: Thomson, 2004.
DEITEL, Harvey M.; DEITEL, Paul J. Como programar em C. 6. ed. São Paulo: Livro Técnico e Científico, 2011. 
SOFFNER, Renato. Algoritmo e Programação em Linguagem C. São Paulo. Saraiva, 2013
MANZANO, José A. N. G. Estudo dirigido de linguagem C. 17. ed. São Paulo: Érica, 2013. 
MIZRAHI, Victorine Viviane; Treinamento em Linguagem C, Pearson, 2008
MANZANO, José Augusto N. G. Linguagem C : acompanhada de uma xícara de café - São Paulo : Érica, 2015. 
DEVMEDIA. Disponível em <https://www.devmedia.com.br/>. Acesso em 22/07/2020
Recredenciada pela Portaria Ministerial nº 909, de 06/07/2012, DOU nº 131, de 09/07/2012, seção 1, p. 24.

Continue navegando