- Introdução à Ciência da Computação com Python I
Ressalvas
Você pode escolher qualquer linguagem: JavaScript/TypeScript, C++/C, Rust, Java...Recomendadas:
- Java
- C++
Desafio: Assisti as aulas e refazer tudo que o professor está fazendo em outra linguagem do seu agrado.
- Fundamentos Matemáticos para Computação
Ressalvas
Esse capítulo é interessante, dando uma olhadas nas aulas o professor tem um excelente didática, apesar das aulas serem gravadas há algum tempo. O conteúdo é bom, ele realmente apresenta conteúdo que qualquer universidade ou a grande maioria iria apresentar no curso de Matemática Discreta.OBS: Matemática Discreta, de forma informal, nada mais é que um conjunto da Matemática voltado para apresentar/exemplificar algo da realidade (Engenharia, Biologia, Quimica, Computação).
Pontos das aulas: Só é para estudar até a aula 18 da playlist.
- Aula 1 - Tabela Verdade dos Conectivos (Parte I de Lógica) - Fundamentos Matemáticos para Computação
- Aula 2 - Fórmula/Tautologia/Contrad. (Parte II de Lógica) - Fundamentos Matemáticos para Computação
- Aula 3 - Equivalências Tautológicas (Parte III de Lógica) - Fundamentos Matemáticos para Computação
- Aula 4 - Regras de Inferência (Parte IV de Lógica) - Fundamentos Matemáticos para Computação
- Aula 5 - Predicados e Quantificadores (Parte V de Lógica) - Fundamentos Matemáticos para Computação
- Aula 6 - PROLOG (Parte VI de Lógica) - Fundamentos Matemáticos para Computação
- Entendendo Recorrência usando o PROLOG (complemento da aula 6)
- Aula 7 - Técnicas de Demonstrações (Parte Demonstração) - Fundamentos Matemáticos para Computação
- Aula 8 - Princípio da Indução Finita (Parte Demonstração) - Fundamentos Matemáticos para Computação
- Aula 9 - Tripla de Hoare - Axioma de Atribuição - Regra do Condicional (Demonstração de Correção)
- Aula 10 - Regra do Laço (Demonstração de Correção) - Fundamentos Matemáticos para Computação
- Aula 11 - Definições Recorrentes (Recursividade) - Fundamentos Matemáticos para Computação
- Aula 12 - Como encontrar a Fórmula Fechada (Recursividade) - Fundamentos Matemáticos para Computação
- Aula Extra - Dividir para Conquistar (Recursividade) (Complemento da aula 12)
- Aula 13 - Relações Binárias - Fundamentos Matemáticos para Computação
- Aula 14 - Funções - Fundamentos Matemáticos para Computação
- Aula 15 - Análise de Algoritmos - Ordem de Grandeza - Fundamentos Matemáticos para Computação
- Aula 16 - Introdução à Matrizes - Fundamentos Matemáticos para Computação (Parte I de Matrizes)
- Aula 17 - Operações de Matrizes - Fundamentos Matemáticos para Computação (Parte II de Matrizes)
- Aula 18 - Matrizes Booleanas - Fundamentos Matemáticos para Computação (Parte III de Matrizes)
As outras aulas eu deixo como extra para encaixar em outras disciplinas. Aulas de grafos por exemplo. As outras aulas de exercicios resolvidos eu recomendo assistir.
- Ciência da Computação 50 (CC50 de Harvard)
Ressalvas
Esse modulo eu não recomendo fazer, eu deixaria ele mais como uma disciplina/modulo opcional.- Leitura e Produção de Textos
Ressalvas
Este módulo eu considero como um ponta pé inicial.- Circuitos Digitais
Ressalvas
Nada muito a declarar...São 4 módulos (descartando o CC50 de Harvard), sendo o menor o Leitura e Produção de Textos. Por isso, vamos dividir os estudos em 2 módulos para cada período.
- Período: 6 semanas
- Introdução à Ciência da Computação I
- Leitura e Produção de Textos
Vão ser 6 semanas somente focando nesses 2 módulos, não seria definitivo esse tempo, vai do tempo de cada membro e grupo. Não o ideal seria não passar disso.
- Período: 8 semanas
- Circuitos Digitais
- Fundamentos Matemáticos para Computação
Por esse módulo ser mais extensivo, e com assuntos que tangenciam menos o que já sabemos, vou deixar um tempo mais extenso.
- Introdução à Ciência da Computação com Python II
Ressalvas
Mesmo comentário do Introdução à Ciência da Computação com Python I- Estatística e Probabilidade
Ressalvas
É um assunto que ajuda e ao mesmo tempo te faz querer pular da ponte, mas é muito útil quando o assunto é integrado a computação, porque vamos ganhando mais prática. Fora que com a explosão de IA que está ocorrendo, pode ser de grande ajuda na nossa carreira como desenvolvedor (Para que não sejamos substituido pelas IA).Livro recomendado:
Fundamentos da Matemática Elementar - Volume 5
- Arquitetura de Computadores I
Ressalvas
Esse assunto ele casa com o de Circuitos Digitais, parece que vamos ver muita coisa repetida aqui, porém com uma base mais adentro do mundo dos computadores e como aquela parte de Circuitos se integra com a maquina.- Noções de Inglês
Ressalvas
O inglês é querendo ou não a lingua universal hoje, e como programdor/desenvolvedor vamos ter que dominar esse idioma. Por isso, dicas sempre vão ser bem-vindas para melhoria a fluedez desse tópico.- Noções de Direitos Autorais, Parte I
Ressalvas
Mesma coisa do CC50, é vejo como um tópico Opcional do que obrigatório.- Noções de Direitos Autorais, Parte II
Ressalvas
Mesma coisa do CC50, é vejo como um tópico Opcional do que obrigatório.Novamente, ficamos com 4 módulos, sendo o menor o Introdução à Ciência da Computação com Python II.
- Período: 9 semanas
- Introdução à Ciência da Computação II
- Estatística e Probabilidade
- Noções de Inglês
Vão ser 9 semanas, mais puxadas que o normal, pois a ideia é utilizar do que aprendemos do período 1 e 2, juntamente com o que vamos aprender no Introdução à Ciência da Computação II, para mesclar os estudos de Estatística e Probabilidade + Noções de Inglês. Não ser um spaghetti (Muito bom por sinal).
Opções:
- Estudar Estatistica e Probabilidade juntamente com código escritos em inglês.
- Estudar separado cada modulo e tentar misturar somente os códigos em inglês e deixar para estudar E.P. de forma idependente.
- Cada um estuda da forma que achar melhor.
- Período: 3 Semanas
- Arquitetura de Computadores I
Vai ficar sozinho, coitado. Mas vamos ver como vamos nos sair nesse meio tempo focado somente em Arquitetura de Computadores.
- Programação Orientada a Objetos I (USP)
Ressalvas
Eu tenho alguns materiais a respeito desse tópico que eu posso compartilhar- Banco de Dados
Ressalvas
Nada muito a declarar, o módulo e as aulas estão condizentes.- Arquitetura de Computadores II
Ressalvas
Nesse módulo, ele é o complemento do módulo Arquitetura de Computadores II, porém grande partes dos assuntos aqui, alguns youtubers de computação como o Fabio Akita e o Manual do Código apresentam bem dinamicamente. Como estamos falando de forma academica, vão ter muito conhecimento técnico e teoria por trás.- Algebra Linear I
Ressalvas
É aqui que o filho chora e a mãe ver. Porém, o professor é um cara muito bom, tem vários vídeos dele soltos por aí no youtube ensinando no IMPA e outras instituições de renome como USP, ITA e IME. Simplesmente um cara fera, Dr. Claudio Possani o nome da fera.- Princípios de Desenvolvimento Ágil de Software (ITA)
Ressalvas
Esse seria um módulo Opcional. Até porque Desenvolvimento Ágil seria melhor ler os 12 princípios por trás manifesto ágil: https://agilemanifesto.org/iso/ptbr/principles.htmlFicamos com 4 módulos, sendo os menores Banco de Dados e Algebra Linear I.
- Período: 6 semanas
- Programação Orientada a Objetos I
- Banco de Dados
Aqui o módulos se casam bem, até porque não tem como falar de dados se não falar de Banco de Dados sem Orientação a Objetos. Se já ouviram falar do nome ORM, saiba que isso é o casamento entre DB + POO.
- Período: 7 Semanas
- Arquitetura de Computadores II
- Algebra Linear I
Acredito que o tempo esteja justo, até porque para aqueles tem maior ou menor dificuldade em Algebra, a Linear sempre vai ser uma questão de consistência e falha (digo no sentido de aprender com tentativa e erro), e vai de nós engolir a garganta para continuar firme no estudos.
- Desenvolvimento Ágil com Java Avançado (ITA)
Ressalvas
Apesar de não ser o nosso foco Desenvolvimento Ágil, eu recomendo mais pelas aulas, até porque eu dei uma olhada por cima, e é só pedrada de qualidade.- Cálculo I
Ressalvas
Nada a declarar, só pegue seu almanaque do Stewart e Guidorizzi e vem com o tio.- Teoria dos Grafos
Ressalvas
Aqui aquelas aulas de grafos que tinha em que falei para pular em Fundamentos Matemáticos para Computação vão ser muito úteis aqui, eu recomendo adicionar elas, logo mais vou criar uma playlist integrando as duas.- Sistemas Operacionais
Ressalvas
Esse aqui eu vou ter que estudar por conta própria para criar um material melhor. Porque o que tem disponível é muito bom, porém eu olhei por cima e parece que vai deixar muita gente confusa se não tiver um guia.- Banco de Dados MySQL
Ressalvas
Opcional, até porque estamos aqui mais pela teoria, porque tem um MySQL prático aqui nesse tópico? No sense.Ficamos com 4 módulos, sendo todos menores em duração, mas com uma grande carga de complexidade por trás.
- Período: 8 semanas
- Desenvolvimento Ágil com Java Avançado
- Teoria dos Grafos
Vamos fazer algo que eu já ditei acima, vamos tentar implementar o que estudamos em Grafos com Java.
- Período: 7 Semanas
- Sistemas Operacionais
- Cáculo I
Aqui não tem muito para onde fugir, é arregaçar as mangas e mandar bala.
- Interfaces Humano-Computador
Ressalvas
Aqui vamos aprender boas práticas, heuristicas e afins.- Estrutura de Dados
Ressalvas
Esse módulo ele é muito bom, ainda mais se tiver acompanhado com o livro de Algoritmos, Teoria e Prática.- Redes de Computadores
Ressalvas
Eu recomendo a playlist de redes do Fabio Akita, no mais, o livro de Computer Networks do Tanembaum.- Criação de Startups
Ressalvas
Esse é um módulo Opcional, mas eu vou preparar um conteúdo bala, então só esperem, como vamos ter tempo até chegar nele, eu espero nesse meio tempo eu consiga preparar o que eu estou pensando- Introdução ao Desenvolvimento de Aplicativos Android
Ressalvas
É da Unicamp, simplesmente a maior universidade quando o assunto é TIFicamos com 4 módulos
- Período: 4 semanas
- Interfaces Humano-Computador
- Redes de Computadores
- Estrutura de Dados
Não tenho mais a dizer sobre esse período, porque já vimos até aqui períodos bem definidos.
- Período: 3 Semanas
- Introdução ao Desenvolvimento de Aplicativos Android
Esse infelizmente eu acho um módulo pequeno, porém vai ser injusto para aqueles que tem um computador mais fraco.
-
Paradigmas de Programação
-
Exercícios de Paradigmas de Programação
Ressalvas
Vocês vão conhecer a pura e a elegante linguagem de programação Haskell- Compiladores
Ressalvas
Eu já tinha visto essa playlist desse professor, quando eu estava estudando sobre compiladores, apesar dos erros tecnicos (no sentido da qualidade do audio e imagem) o professor é muito dedicado, ele tem propriedade no que está ensinando.Desafio: fazer um compilador, lexer, parse.
- Gerência da Qualidade de Software
Ressalvas
Eu vejo como um bônus para aqueles que querem aprender a melhorar seus códigos. Mas eu não vi nenhuma aula dessa playlist, mas já digo que eu prefiro mais específico para determinados problemas. Com o tempo eu volto nesse assunto para detalhar mais.- Fundamentos da Inteligência Artificial
Ressalvas
Nada muito a declarar, apenas que o módulo/tópico de Estatística e Probabilidade é bem útil nesse módulo.- Metodologia da Pesquisa em Computação
Ressalvas
Aqui vai ser um complemento mais avançado do Leitura e Produção de TextosExtra: encontrar um grupo para fazer alguma pesquisa (Não obrigatório)
Ficamos com 5 módulos, sendo o maior em duração o Metodologia da Pesquisa em Computação.
- Período: 6 semanas
- Paradigmas de Programação
- Fundamentos da Inteligência Artificial
- Gerenciamento e Qualidade de Software
Eu não tive muita escolha em juntar esses dois, até porque os tópicos finais eles são bem distintos entre si, porém, com paciência podemos melhorar isso.
- Período: 6 Semanas
- Compiladores
- Metodologia da Pesquisa em Computação
Esses dois eu acredito que se encaixam bem, até porque podemos estudar compiladores como se fosse uma pesquisa cientifica. Criar uma linguagem nova ou algo do tipo.
Nada do que eu estimei de tempo de cada Período foi baseado em nenhuma metrica ou estatistica, foi puramente um junte baseado no que eu acredito que dê para fazer, é possível que dure mais ou menos cada periodo, porém não tem como prever o ritmo de cada pessoa ou grupo, apenas fique atento em manter uma consistência nos estudos.