Plano de Ensino: Hardware para Programadores (C/C++)

1. Identificação

2. Ementa

A disciplina aborda a arquitetura de baixo nível da computação e seu viés no desenvolvimento de software de alta performance, especialmente em C/C++. Envolve representação de dados, fluxo de processamento e RISC/CISC, modelamento de Hierarquia de Memória (Heap, Stack, Memória Virtual), processamento Concorrente e Paralelo (Threads, Condition Variables e Mutex), e Armazenamentos (I/O, File System, Dispositivos).

3. Objetivos

Objetivo Geral

Transmitir de forma prática como a lógica de construção e execução de hardware afeta a camada de software.

Objetivos Específicos

4. Conteúdo Programático

5. Metodologia

Abordagem pragmática. Os alunos executarão diagnósticos com ferramentas nativas do sistema Linux e da cadeia de compilação GNU (GCC e GDB). Leituras guiadas via portal MkDocs, seguidas por interações e quizzes, e projetos hands-on a cada etapa.

6. Avaliação

Aferição sistemática, considerando o percentual de acerto sobre os 16 quizzes previstos (10 questões de múltipla escolha cada), bem como submissão dos exercícios propostos com soluções em tempo de execução submetidas aos gabaritos.

7. Bibliografia Recomendada