|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902 |
|
Plano de Ensino
IDENTIFICAÇÃO
Componente Curricular: |
|||||||||
Unidade Ofertante: |
|||||||||
Código: |
Período/Série: |
Turma: |
|||||||
Carga Horária: |
Natureza: |
||||||||
Teórica: |
Prática: |
Total: |
Obrigatória: |
Optativa: |
|||||
Professor(A): |
Ano/Semestre: |
||||||||
Observações: |
EMENTA
Desenvolvimento de aplicações práticas em linguagens C, com abordagem algorítmica e conceitos de avaliação de valores e de expressões; constantes, variáveis, ponteiros, strings, arrays; controle de fluxo de execução de código (sequência, instruções condicionais, laços, funções); estruturas e encapsulamento; alocação dinâmica de memória; manipulação de arquivos; base de arquitetura e organização de computadores. Noções de estruturas de dados, compiladores, análise de algoritmos e complexidade. Uso de computação nas nuvens. Noções de empreendedorismo e inovação.
JUSTIFICATIVA
Criada em 1972 por Dennis Ritchie e Ken Thompson para desenvolver o sistema operacional Unix, a linguagem de programação C é uma linguagem compilada de propósito geral, estruturada, imperativa, procedural e padronizada pela ISO. Apesar das mudanças que sofreu desde primeira publicação, permaneceu notavelmente estável e unificada. Sua versão mais recente é padronizada pela norma ISO/IEC 9899:2011.
Devido à sua proximidade do código de máquina, a linguagem C permite com que o programador seja capaz de fazer previsões e de sempre controlar o comportamento do seu código. C permite o acesso de baixo nível à memória, necessita de baixos requerimentos do hardware e possibilita o reaproveitamento de códigos. A linguagem substitui com vantagens o uso da linguagem Assembly e ainda hoje é a linguagem de programação preferida para o desenvolvimento de sistemas e softwares de base, sendo usada também como uma linguagem de suporte em aplicações que necessitam de alto desempenho.
Compiladores C, por serem facilmente implementados, estão disponíveis para a maioria absoluta das plataformas de hardware existentes. O fato da linguagem ser simples e mais próxima do hardware permite com que a linguagem C seja largamente utilizada em aplicações de sistemas embarcados e microprocessadores onde é necessária a economia tanto da capacidade de processamento quanto da energia dispensada para suas operações.
Seja para gerar e manipular fluxos de dados próximos do hardware, para ajudar a compreender certas características do computador, para manipular e transformar com alto desempenho conjuntos de dados de interesse, ou mesmo para possibilitar a programação de microprocessadores heterogêneos, a linguagem C assume ainda hoje um importante papel na realidade mercadológica, tornando essa disciplina uma importante contribuição para o desenvolvimento profissional do estudante.
OBJETIVO
Objetivo Geral: |
Desenvolver as habilidades dos discentes em programação na linguagem C explorando as estruturas básicas que compõe a arquitetura de um computador. |
Objetivos Específicos: |
|
AVALIAÇÃO
A avaliação será com posta de :
Duas provas (50 pontos):
P1 (25 pontos): programação em C, até antes de ponteiros
P2 (25 pontos): programação em C, de ponteiros em diante
Trabalhos de laboratório (30 pontos):
Lista de exercícios semanais (15 pontos)
Exercício proposto no laboratório (15 pontos)
Trabalho final (20 pontos)
Trabalho final utilizando plataforma Arduino.
Deve ser feito com 3 ou 4 estudantes, definido não serão aceitas mudanças depois.
Prova substitutiva (com atestado médico ou documentação equivalente): sobre todo o conteúdo, ao final do semestre
De acordo com a Resolução CONGRAD 46/2022, ao fim do semestre, será disponibilizada aos estudantes que não obtiveram o rendimento mínimo para aprovação e que possuam frequência mínima de 75% no componente curricular uma ATIVIDADE DE RECUPERAÇÃO no valor de 25 pontos. Essa atividade será efetuada na forma de avaliação escrita sobre todo o conteúdo do semestre e a nota obtida será somada à nota atual do discente.
Datas de prova para o semestre (podem alterar caso seja de interesse dos alunos e professores):
18/10: P1, 18:30h, auditório 1E
28/11: P2,18:30h, auditório 1E
29/11: Recuperação,18:30h, auditório 1E
30/11: Reposição, horário e sala a definir
Datas de apresentação de trabalhos:
27/11: 13:10 a 14:50, 1E (turmas B1 e B2)
28/11: 08:50 a 12:20 , 1E (turmas B1 e B2)
30/11: 07:10 a 12:20 , 1E (turmas A1 e A2)
Horários de atendimento:
Professor Marcelo Barros: sexta-feira, de 8h a 11:30, na sala 118N do bloco 3N (onde ficam as secretarias e salas de professores da FEELT), para encontros presenciais sem agendamento. Outros horários devem ser agendados diretamente com o professor através do chat do Teams (marcelo.barros@ufu.br).
Professor Márcio Cunha: segunda-feira, de 8h às 11:30h, na sala 118N do bloco 3N. Outros horários podem ser agendados diretamente com o professor através do chat do Teams (mjcunha@ufu.br).
PROGRAMAÇÃO
A carga horária total da disciplina é de 60 horas, ou seja, 72 horas-aula. Entretanto, de acordo com o cronograma apresentado estão previstas apenas 60 horas-aula. As 12 horas-aula restantes serão realizadas por meio de atividades complementares, como aplicação de provas fora do horário da disciplina e material em vídeo complementar.
A programação de aulas prevista para o semestre está abaixo. Pequenas alterações podem acontecer no decorrer do semestre.
Devido ao grande número de feriados na quinta feira, serão feitas reposições de aulas teóricas para a turma A durante o semestre e não na semana prevista no calendário, de acordo com o cronograma abaixo:
Reposições da teoria (turmas A1 e A2)
04/09 18:30h, auditório 1E
11/09 18:30h, auditório 1E
16/10 18:30h, auditório 1E
06/11 18:30h, auditório 1E
Reposições de laboratório (turmas A1 e A2)
05/09 18:30h, laboratório 1E30
12/09 18:30h, laboratório 1E30
17/10 18:30h, laboratório 1E 30
07/11 18:30h, laboratório 1E30
METODOLOGIA
Parte teórica: Aulas expositivas dialogadas com demonstrações práticas, diagramas e codificação-exemplo, acompanhadas de indicação para materiais de apoio.
Parte prática: Aulas práticas em laboratório com roteiros e apoio de sítios informativos de internet com discussão sobre dúvidas, exposição de exemplos e orientação em projetos.
Observação: Os materiais de referência e de apoio, assim como links relevantes, avaliações e repositório de materiais complementares, serão disponibilizados com o suporte do Moodle da UFU.
BIBLIOGRAFIA
Básica
BACKES, André, 2013, Linguagem C: completa e descomplicada, Rio de Janeiro : Elsevier, 2013.
FEOFILOFF, Paulo, 2009, Algoritmos em linguagem C. Rio de Janeiro : Campus, 2009.
MC ROBERTS, Michael. Tradução Rafael Zanolli. Arduino básico. São Paulo : Novatec, 2011.
Complementar
KERNIGHAN, Brian W.; RITCHIE, Dennis. C, a linguagem de programação: padrão ANSI. Tradução Daniel Vieira. Rio de Janeiro: Elsevier, c1989.
ETTER, Delores M. Engineering problem solving with C. 4th ed. Boston : Pearson, 2013.
HARTEL, Pieter; MULLER, Henk. Functional C. 1st ed. Boston : Addison-Wesley, 1997.
SEDGEWICK, Robert. Algorithms in C. Boston: Addison-Wesley, 2002.
SCHILDT, Hebert. C completo e total. Tradução Marcos Ricardo Alcantara Morais. 3 ed. São Paulo> Makron Books : McGraw-Hill, 1991.
APROVAÇÃO
Aprovado em reunião do Colegiado realizada em: ____/____/______
Coordenação do Curso de Graduação: _________________________
Documento assinado eletronicamente por Marcelo Barros de Almeida, Professor(a) do Magistério Superior, em 09/08/2023, às 09:51, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
Documento assinado eletronicamente por Marcio José da Cunha, Professor(a) do Magistério Superior, em 09/08/2023, às 09: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. |
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 4721653 e o código CRC 453BE971. |
Referência: Processo nº 23117.054632/2023-86 | SEI nº 4721653 |