Lógica de Programação
Descrição:
O objetivo deste curso é o de ensinar os fundamentos de lógica de programação, possibilitando que alunos sem conhecimento prévio de computação possam fazer os cursos de iPhone SDK, além de ter um bom conhecimento genérico de programação que pode-se aplicar em futuro a qualquer tipo de programação em qualquer linguagem imperativa. Durante o curso, os alunos desenvolvem vários pequenos programas finalizados a entender os assuntos explicados e as soluções de problemas frequentes em computação.
Público Alvo:
Pessoas que têm contato e facilidade para interagir com computadores e tecnologias em geral, mas que não sabem programar. Conhecimentos básicos de operação de um computador são necessários.
Projetos:
Programando um resolvedor/gerador de Sudoku ou uma biblioteca de desenho, com linhas, triângulos e círculos, a escolha do aluno.
Conteúdo:
- Introdução a programação
- Brincadeira do desenho programático
- Linguagem natural x Linguagem de máquina
- Compilador
- Primeiro programa: Hello World em C
- Variáveis e tipos de dados (int, float, char)
- Expressões, operadores e operandos
- If statement / branching
- Testes lógicos, AND, OR e NOT
- Loops (while, do/while, for)
- Diagramas de fluxo e simulação
- Vetores
- Ponteiros e alocação dinâmica de memória
- Funções
- Debugging: step over, breakpoints, watches, call stack
- Estruturas
- Introdução a C Standard Library
- Introdução a algoritmos e eficiencia
- Estruturas de dados
- Introdução a Classes e objetos
- Encapsulamento
- Visibilidade dos membros, data hiding
- Construtores, destrutores
- Membros estáticos ou não
- Mutabilidade: herança e polimorfismo
- Threads e concorrência
- Callbacks and delegares: programação baseada em eventos
- Design visual de aplicações
- Introdução a engenharia do software: como projectar aplicações grandes. Top down e bottom up approaches.
- Introdução a bancos de dados e SQL
- Objetive-C: diferenças e semelhanças com C e C++
- Properties
- Introdução a iPhone
- Application delegate
- View controllers
- UIView
- NSString e UILabel
- UITextField
- UIButton
- Projeto final




