Exibição de conteúdo e exercícios em 2 períodos (2+2 pomodoros)
Intervalo de 20 minutos
Chamada após o intervalo
Ferramentas: Computador de inteligência natural, lápis, papel e caneta
Outras ferramentas: Python, Git, Github
Apresentação do Professor
Apresentação dos Alunos (LEX)
Em qual semestre do curso você se posiciona?
Por que você escolheu esse curso?
Você trabalha ou trabalhou na área de TI? Qual cargo você ocupa (ou ocupou)?
Quais linguagens de programação você consegue programar?
O que você espera dessa disciplina?
O que te atrapalha para estudar?
O que tu gosta que o professor faça em aula?
O que tu não gosta que o professor faça em aula?
Organize-se, você tem pouco tempo e muitas atividades!
Bullet Journal
TODO-list
Pomodoro
GTD
Qual é o teu objetivo?
O que tu faz para atingir o teu objetivo?
Paradigmas de Linguagens de Programação
Por que estudar diferentes linguagens de programação?
Se tudo que tu tem é um martelo,todos os teus problemas são pregos.
Acredita-se que a capacidade de raciocínio das pessoas é influenciada pelo poder de expressão da linguagem que utilizam para comunicar seus pensamentos.
O uso de abordagens diferentes para um mesmo problema pode trazer soluções melhores.
Quanto mais linguagens você conhece, mais fácil é aprender uma nova.
Melhor uso de linguagens já conhecidas
Avanço do processo de desenvolvimento de software
Por que criar novas linguagens de programação?
Para resolver problemas específicos
Para atender domínicos específicos
Domínios de Programação
Aplicações Científicas
Fortran
Aplicações Comerciais
COBOL
Aplicações de Infraestrutura
Ansible, Puppet, Chef, Terraform
Inteligência Artificial
LISP, Prolog
Sistemas Distribuídos
Erlang
Revisão de Conteúdos
Computadores de uso único
Arquitetura de Computadores
Computadores de programas armazenados
Modelo de von Neumann
Processo de execução de uma instrução
O que significa executar um programa num computador?
Evolução das linguagens de programação
Código de máquina
Assembladores
FORTRAN
PL/1
ALGOL
COBOL
BASIC
Simula
LISP
PROLOG
Prolog
ADA
Smalltalk
C
Java
Python
Javascript
Rust
Tipos de Dados
Representação de um valor
Operações sobre valores
Estruturas de Dados
Vetores
Listas encadeadas
Árvores
Tabelas de Espalhamento
Grafos
Questões
Cite alguns dos recursos de linguagens de programação específicas que você conhece, cujo objetivo seja um mistério para você.
Por que jamais teremos “a linguagem de programação definitiva”?
Quais são os elementos que você gostaria que existisse em uma linguagem de programação?
Quais elementos você acredita que atrapalham mais do que ajudam em uma linguagem de programação?
Em quantas linguagens de programação você consegue programar? Elas são realmente diferentes?
Qual é a próxima linguagem de programação que você deseja aprender?