Aulas de Programação, Gestão de TI e Banco de Dados gratuitas e online

Todo o meu conteúdo produzido para os alunos nas aulas remotas emergenciais durante a pandemia

TL;DR: O GitHub com todos os exercícios está aqui: A playlist do YouTube que colocarei todas as aulas está aqui. O meu Repl.it com todos os códigos está aqui. Recomendo você acessar e seguir agora esses três links.

Aulas remotas

As aulas do curso de Sistemas de Informação na universidade retornaram no início desse mês, estamos trabalhando as aulas de forma remota emergencial durante a pandemia. Isso quer dizer que todas as disciplinas que trabalho com os alunos de SI da unidade Ituiutaba da UEMG estão sendo disponibilizadas nesse formato.

Eu optei por gravar as aulas e disponibilizá-las no YouTube de forma que, além dos meus alunos, qualquer pessoa também possa ter acesso a esse material. Não se trata de um curso específico da linguagem ou tecnologia X ou Y, mas sim aulas de um curso de graduação de tecnologia. Exploro linguagens, técnicas e proponho desafios e atividades voltadas para a prática (conhecimento técnico) de TI.

Eu estou trabalhando esse semestre com 3 disciplinas:

1) Programação orientada a Objetos II onde utilizamos a linguagem Python. Optei por trabalhar com Python por ser uma linguagem moderna, orientada a objetos, de uso geral e com uma curva de aprendizagem menor que outras linguagens. Além disso eu trabalho utilizando a excelente plataforma Repl.it (https://repl.it/@baciotti) onde os alunos podem editar, salvar, debugar, compartilhar e testar online os códigos. O bacana que não é necessário instalar nada nas máquinas e imediatamente eles podem já testar todos os códigos.

2) Gestão de TI é uma disciplina teórica onde exploramos melhores práticas de gestão de TI, Cobit, ITIL. Nessa disciplina além das apresentações optei também por incentivar a leitura de artigos científicos sobre o tema. Então nessa matéria as atividades explorarão leitura/escrita.

3) Tópicos Avançados em Banco de Dados é uma disciplina prática que continuo onde a disciplina de Banco de Dados parou nos semestres anteriores. É uma matéria optativa e foco em trabalhar os diversos objetos de banco (triggers, views, etc) além de revisar todos os comandos DDL e DML do SQL. Optei por trabalhar com SQLite nas aulas iniciais pois é uma biblioteca pequena e simples para utilizar. Trabalho também com MySQL. Tem centenas de exercícios

Quem já foi meu aluno sabe que gosto de focar em dois pilares durante as aulas. O primeiro deles é o foco na simplicidade, o aluno deve ser capaz de começar imediatamente a programar/testar. Instalar IDEs, linguagens, bancos, bibliotecas, configurar, etc fica para um segundo momento. Quando trabalhamos com programação, por exemplo, logo nos primeiros 30 minutos de aula ele está já escrevendo código. O segundo pilar é a quantidade de exercícios e atividades a serem desenvolvidas pelos alunos. Trabalhando com banco de dados facilmente temos listas com 40 ou 50 exercícios e ao todo chegam a 400 exercícios no final do curso. A maior parte deles são exercícios simples, repetitivos no início mas que aumentam de forma gradativa a dificuldade e adiciona novos recursos.

Além disso todas as aulas de disciplinas técnicas são feitas na forma de desafios onde eu explico o início do conceito, dou um ou dois exemplos e logo na sequência os alunos PRECISAM resolver os problemas. E esses problemas sempre requerem um conhecimento a mais do que expliquei. Ou seja, o aluno que está aprendendo a programar é obrigado a PESQUISAR/TESTAR códigos. E, claro, isso não é diferente do que um programador faz no dia a dia. Não entrego tudo pronto.

Um exemplo interessante é a matéria de programação. Eu forneço um código de CRUD em Python completo com acesso a banco sqlite. Mas na sequência os alunos precisarão montar outro CRUD, exigindo relatórios com conversão do valor de R$ para dólares. O dólar atualizado é buscado através de uma consulta a uma API. Dessa forma exploramos conceitos de JSON, API, Web Services, Banco de dados, Classes, etc em uma única atividade. E forneço fontes extras de consulta também.

Aulas já publicadas

Segue abaixo as aulas já postadas. Tudo que eu for postando ficará disponível nessa playlist. Optei por criar uma playlist em conjunto para as 3 disciplinas, ficando tudo centralizado. As aulas seguem um padrão de nomenclatura facilitando para você identificá-las:

[GTI] --> Gestão de TI

[POO2] --> Programação orientada a Objetos II

[TABD] --> Tópicos Avançados em Banco de Dados

Aqui está a Playlist com todas as aulas

(Siga essa playlist para receber as notificações de novas aulas)

As aulas que já estão publicadas hoje no momento que estou criando esse texto estão abaixo. Mas siga a playlist acima para receber as novidades. Marque também esse repositório como seu favorito pois todas as atividades serão postadas aqui.

Aulas introdutória para todas as disciplinas

[Geral] Aula 00 - Aulas remotas emergenciais UEMG Sistemas 2020-1

Aulas de Gestão de TI

[GTI] Aula 01 - Introdução e Primeira atividade

[GTI] Aula 02 - Planejamento estratégico, o que é ciclo PDCA

Aulas de Programação orientada a Objetos II

[POO2] Aula 01 - Introdução e forma de trabalho

[POO2] Aula 02 - Listas 1 e 2 e apresentação de slides

[POO2] Aula 03 - O que é Orientação a objetos? POO -

[POO2] Aula 04 - Criando uma classe de Conta -

[POO2] Aula 05 - Herança e acesso a banco de dados SQLite -

[POO2] Aula 06 - Construindo um cadastro de agenda com Python e sqlite

[POO2] Aula 07 - Construindo um cadastro de agenda com Python e sqlite Parte 2

[POO2] Aula 08 - Como acessar uma API com valor do dólar em Python (JSON + AwesomeAPI + Requests)

Aulas de Tópicos Avançados em Banco de Dados

[TABD] Aula 01 - Tópicos Avançados de Banco de Dados: Forma de trabalho e atividade 1, sqlite

[TABD] Aula 02 - Normalização de Banco de Dados e Criação de um Diagrama

[TABD] Aula 03 - Concluindo o Diagrama e utilizando o SQLite Studio

A plataforma que a universidade utiliza é o Microsoft Teams para as aulas. Então, todas as atividades eu posto ali. Porém, para facilitar a todos que queiram também resolver as atividades, colocarei todas elas dentro do GitHub no endereço https://github.com/baciotti/AulasRemotas.

Eu utilizo e recomendo que meus alunos trabalhem os códigos dentro do Repl.it. Todos os códigos que desenvolvo durante as aulas estão disponíveis nessa plataforma. Ela é gratuita e permite que você crie quantos códigos quiser nas mais diferentes linguagens. A vantagem é que fica tudo centralizado e você pode acessar de qualquer máquina. Acesse e siga o meu Repl.it (https://repl.it/@baciotti) Explorarei com vocês depois outras maneiras de se trabalhar completamente online de forma produtiva.

Espero que esse material seja útil :)