|
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 estrutura de dados, análise de algoritmos e complexidade.
JUSTIFICATIVA
O curso tem como objetivo capacitar os alunos para o desenvolvimento de algoritmos de acordo com o paradigma de programação procedimental, a partir de práticas de programação em linguagem C.
OBJETIVO
Objetivo Geral: |
Desenvolver as habilidades dos discentes em programação na linguagem C explorando as estruturas básicas que compõem a arquitetura de um computador. |
Objetivos Específicos: |
1. Demonstrar a importância da linguagem C no desenvolvimento de aplicações em hardware heterogêneo; 2. Desenvolver habilidades dos discentes em produzir códigos de qualidade através da adoção de boas práticas de programação e de Test-Driven Development (TDD); 3. Desenvolver as habilidades dos discentes em trabalhar em grupo, gerenciar e documentar projetos; 4. Desenvolver a consciência, a autonomia e a responsabilidade dos discentes. |
PROGRAMA
1. Introdução
1.1. Arquitetura de Von Neumann: CPU, memória, dispositivos E/S.
1.2. Compilador, makefile, debug.
1.3. Repositórios (Github).
1.4. Plataformas de desenvolvimento (sistemas embarcados, computadores pessoais, IoT – Internet of Things, servidores e computação nas nuvens).
1.5. Soluções em hardware e em software.
2. Linguagem C
2.1. Primitivas e tipos de dados
2.1.1. Bases numéricas, conversão entre bases binária, decimal, octal, hexadecimal.
2.1.2. Primitivas ou tipos básicos: ASCII, Unicode, complemento de 2, IEEE 754-1985/2008
2.1.3. Operações binárias (BITWISE).
2.2. Armazenamento em memória.
2.3. Controles de fluxo de execução: sequência de instruções, condicionais, laços.
2.4. Ponteiros, vetores e strings
2.4.1. Aritmética de ponteiros.
2.4.2. Acesso aleatório de dados.
2.5. Funções e recursão
2.5.1. Passagem de parâmetros por valor e por referência.
2.6. Estruturas de dados e encapsulamento
2.7. Alocação dinâmica de memória
2.8. Matrizes e operações
2.9. Implementação e análise de algoritmos, estudo de complexidade
2.10. Manipulação de arquivos
2.11. Compilador SWIG e ligação de código C com outras linguagens
3. Tipos Abstrato de Dados
3.1. Conceito de struct e Tipos Abstratos de Dados.
3.2. Passagem de struct como parâmetros de funções.
3.3. Arrays de structs
4. Ponteiros
4.1. Definição de ponteiros
4.2. Ponteiros para tipos de dados e structs
4.3. Operações com ponteiros
4.4. Array de ponteiros
5. Arquivos
5.1. Definição de arquivos
5.2. Arquivos texto
5.3. Arquivos binários
6. Cursos online abertos e massivos
6.1.https://www.youtube.com/watch? v=FH7YrE0RjWE&list=PLesCEcYj003SwVdufCQM5FIbrOd0GG1M4 (canal brasileiro eXcript).
6.2. https://www.coursera.org/learn/arduino-platform
6.3. http://mooc.fi/courses/2016/aalto-c/en/
METODOLOGIA
AVALIAÇÃO
As avaliações serão constituídas de duas provas e um trabalho final.
Distribuição da Pontuação da disciplina:
- PRIMEIRA AVALIAÇÃO: valor de 30 pontos
- SEGUNDA AVALIAÇÃO: valor de 30 pontos
- TRABALHO FINAL: valor de 40 pontos
BIBLIOGRAFIA
Básica
Complementar
APROVAÇÃO
Aprovado em reunião do Colegiado realizada em: ____/____/______
Coordenação do Curso de Graduação: _________________________
Documento assinado eletronicamente por Edgard Afonso Lamounier Junior, Professor(a) do Magistério Superior, em 09/05/2022, às 19:07, 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 3583686 e o código CRC 129D29A3. |
Referência: Processo nº 23117.018223/2022-35 | SEI nº 3583686 |