
Esta aula apresenta conceitos básicos fundamentais para a adequada compreensão da programação de computadores.
Esta aula aborda o sistema binário de numeração - parte 1.
Princípios básicos do sistema binário.
Conversão binário -> decimal.
Conversão decimal -> binário.
Esta aula aborda o sistema binário de numeração - parte 2.
Operação aritmética de adição.
Operação aritmética de subtração.
Operação aritmética de multiplicação.
Operação aritmética de divisão.
Esta aula ilustra como funciona o computador no nível dos bits e explica a razão de ser das linguagens de programação.
Nesta aula veremos:
Introdução à lógica de programação com o VisuAlg 2.5.
Conceito de variável.
Conceito de função.
Exemplo prático com as primeiras instruções:
declaração de variáveis.
entrada de dados pelo teclado.
soma de variáveis.
envio dos resultados para tela.
técnicas básicas de formatação de tela.
Nesta aula veremos:
Programas vistos no VisuAlg replicados no Portugol
O paradigma da Programação Estruturada:
estrutura de sequência
estrutura de de decisão.
(iteração na próxima aula)
O fluxograma
Nesta aula veremos:
Estrutura de decisão (parte 2)
Estrutura de Iteração - a terceira e última estrutura da Programação Estruturada (parte 1).
Lógica de programação com a segunda parte da estrutura de decisão e a estrutura de iteração.
Nesta aula veremos:
Estrutura de iteração (parte 2)
Introdução aos vetores:
inserir, localizar e alterar dados.
Percorrer o vetor. Exemplos com somatória de elementos e média aritmética.
Geração de números aleatórios.
Nesta aula veremos:
os operadores lógicos E (and), OU (or) e NAO (not).
Exercícios.
Lógica de conjuntos.
Nesta aula veremos as matrizes e finalizaremos com o Portugol.
Nesta aula veremos:
Como instalar o interpretador Python.
Instalação de um IDE para desenvolvimento dos programas.
Desenvolvimento dos primeiros programas em Python.
Apresentação do ambiente para desenvolvimento online repl.it.
Nesta aula veremos:
Estruturas de decisão
if
if-else
if-elif
Estruturas de iteração
while
while-else
while-break
while-continue
Nesta aula veremos:
Como criar vetores em Python
Como percorrer o vetor - localizar, alterar e contabilizar elementos
Como preencher um vetor com valores aleatórios
Como preencher um vetor a partir de dados armazenados em arquivo
Executar um script Python a partir do aplicativo de linha de comando do sistema operacional
Nesta aula veremos:
Como criar matrizes em Python
Como percorrer a matriz - localizar, alterar e contabilizar elementos
Como preencher uma matriz com valores aleatórios
Como preencher uma matriz a partir de dados armazenados em um arquivo csv
Utilizando a função split
Utilizando a biblioteca csv
Nesta aula veremos:
O que é a linguagem Java.
Princípios básicos da Programação Orientada a Objetos.
Como instanciar um objeto em Java.
JVM, JRE e JDK.
Estura básica do programa Java.
Nesta aula veremos:
Executando o primeiro programa no repl.it
O que é um método static?
Instanciando o primeiro objeto em Java para entrada de dados pelo teclado.
Selecionando um IDE para desenvolvimento no computador pessoal.
Criando o primeiro programa no IDE local.
Criando uma classe e entendendo o qualificador public.
Entendendo o conceito de pacote.
Nesta aula, veremos:
Uma versão melhorada do exercício solicitado na aula anterior.
Conceitos novos:
qualificador static
qualificadores public e private
tipo void
encapsulamento de atributos
Nesta aula veremos:
Os tipos de dados em Java
Os vetores e as matrizes
Os métodos construtores
Nesta aula veremos:
javac - o compilador Java
a classe String
tratamento de exceções com try-catch
Nesta aula veremos:
Estabelecer conexão com arquivos no disco
Ler dados do arquivo
Acrescentar dados ao arquivo
Nesta aula veremos:
Algo mais sobre exceções
O Garbage Collector
O tipo StringBuilder
O Javadoc
Nesta aula veremos:
A estrutura básica de um programa C
Como usar funções de outros arquivos
O IDE Code::Blocks
O compilador GCC
Nesta aula veremos:
Ponteiros - teoria e prática
Nesta aula veremos:
Vetores e Matrizes em C
Nesta aula veremos:
Como trabalhar com strings.
Acesso a dados em arquivos.
Nesta aula veremos:
A função split para extrair dados de arquivos CSV.
Um sistema simples de banco de dados em memória.
carga do arquivo para a memória
localização de registros
Nesta aula veremos:
os structs
Nesta aula veremos:
Java e C processando o Bubble Sort
Comparativo de tempo entre Python, Java e C
Java e C processando uma maior quantidade de dados
Java e C em um algoritmo que processa cálculos matemáticos diversos
Nesta aula veremos:
Como implementar uma interface gráfica (GUI) manualmente.
Nesta aula veremos:
Como implementar uma interface gráfica (GUI) através de uma ferramenta de suporte visual.
... continuação da videoaula anterior ...
... continuação da videoaula anterior ...
Minhas palavras de encerramento.
Este curso tem como objetivo ensinar a programar, mostrando desde o sistema binário, em que se baseiam as atuais estruturas dos computadores comerciais e pessoais, até como elaborar um sistema simples de banco de dados utilizando telas gráficas.
Há bastante teoria e prática complementados por exercícios propostos e acompanhados das respectivas soluções.
O curso segue, basicamente, os modelos e estruturas praticados nas universidades em que dei aula, podendo-se dizer que abrange, de uma forma um pouco mais compacta, o conteúdo equivalente a um semestre acadêmico.
Quanto à didática adotada, procurei seguir uma linha informal no estilo bate papo. Há um discurso inicial sobre o novo tema e em seguida um programa ilustrativo. Ao término da aula há (na maioria delas) exercícios propostos acompanhados das respectivas soluções.
Não me preocupei muito com o tamanho das videoaulas. Há videoaulas mais extensas, mas nessas inseri diversos pontos em que sugiro pausa para reproduzir o exercício visto no momento ou relaxar, tomar um café, em fim.
Basicamente veremos:
Tópicos principais:
O sistema binário.
Princípios da computação binária.
Lógica de programação com Portugol.
Lógica e programação básica com Python.
Lógica e programação básica com Java.
Lógica e programação básica com C.
Interface gráfica com Java.
Temas específicos:
Tabela ASCII.
Arrays: vetores e matrizes.
inclusão de dados
localização de dados
ordenação de dados
Geração de números aleatórios.
com distribuição linear
com distribuição não linear
Leitura e gravação de dados em arquivos.
Identificação e tratamento de exceções (erros durante a execução do programa).
Conversão de tipos de dados (cast).
Outros.