Um caminho para a educação autodidata em Ciência da Computação!
O Curso de Ciência da Computação oferecido pela Universidade Livre Brasileira é uma educação completa em Ciência da Computação usando materiais on-line e em Português do Brasil Esse Curso não é pensado para treinamento em tecnologias especificas ou focado em habilidades profissionais direcionadas ao mercado. Esse Curso é pensado para aqueles que desejam uma educação própria, com qualidade, fundada nos conceitos fundamentais da computação e é planejada para alunos com disciplina, cometimento e (o mais importante) bons hábitos de estudo majoritariamente independentes, mas que buscam o suporte de uma comunidade de outros estudantes no Brasil todo.
Esse curso contêm conteúdos que seriam vistos em um curso de Ciência da Computação organizados de forma estruturada e que contêm disciplinas relacionadas computação e também disciplinas de formação geral (acreditamos que uma formação completa abranja mais do que simplesmente CC). Os cursos em si são selecionados primariamente do conteúdo aberto de diversas Universidades e Institutos de Educação do Brasil, mas no geral os cursos presentes na grade seguem o seguinte critério:
Os Cursos devem:
- Ser gratuitos ou de conteúdo que possa ser assistido de forma aberta
- Possuir método pedagógico
- Ter reconhecimento de qualidade da Comunidade sobre o tema
- Estar de acordo com o que espera-se do Currículo de Ciências da Computação
Os cursos tem como suplementação sempre que possível livros. Quando um livro ou curso de qualidade for recomendável a leitura, mas não encaixar-se com o currículo ele deverá ser adicionado nas listas de cursos extra e livros extra respectivamente.
Organização. O Currículo é organizado da seguinte forma:
- Introdução a Computação: Contêm os conteúdos de introdução, é onde você pode começar e ver se quer fazer CS.
- Aprofundamento de Conceitos Introdutórios: Contêm os conteúdos que começam a aprofundar os conceitos introdutórios.
- Desenvolvimento Teórico: Contêm os conteúdos que servem como base para a construção de bases teóricas.
- Desenvolvimento Técnico: Contêm os conteúdos que começam a desenvolver bases técnicas.
- Aprofundamento Técnico: Contêm os conteúdos que utilizam as bases teóricas e técnicas para contruir fundamentos práticos.
- Tópicos Finais: Conteúdos que utilizam-se de todo conhecimento adquirido nos tópicos anteriores para técnicas avançadas de computação.
Duração. É possível terminar o curso em x anos, dedicando x horas por dia. Os estudantes podem utilizar a planilha que ainda vamos disponibilizar para estimar o tempo de curso que ainda falta para a conclusão.
Custo. Todos os cursos podem ser completados de forma gratuita. Porém, alguns cursos tem diplomas/certificados/atividades/extras opcionais que são pagos. Observe que o Coursera oferece ajuda financeira.
Decida quanto tempo de curso e quanto quer gastar em seus estudos nesse curso por sua própria conta, apenas tenha sempre em mente que você não pode comprar o sucesso!
Processo. Os estudantes podem fazer as disciplinas individualmente ou em grupo, seguindo a ordem que estabelecemos ou não.
Política de Conteúdo. Apenas publique em seu GitHub e espaços públicos os materiais que seu Curso permite que sejam publicados. Nunca desrespeite nenhuma regra do curso em que se matriculou e nunca faça plágios!
- TODO
O currículo deste Curso se divide em duas categorias: a das Disciplinas de Formação Geral e as Disciplinas de Especialização. As disciplinas de formação geral são essenciais na formação de todos os alunos idependente de qual área ou especialização desejam seguir e são a base para o conteúdo técnico-teórico para os cursos de especialização. Você pode fazer os cursos na ordem, onde e como preferir e esse é o maior benefício da liberdade, mas por fins didáticos e de organização recomendamos que tente respeitar os pré-requisitos e que conclua todas as disciplinas de formação geral antes de prosseguir nas de especialização.
Curso | Duração | Dedicação | Conteúdos | Pré-requisitos | Discussão |
---|---|---|---|---|---|
Introdução à Ciência da Computação com Python I | 9 Semanas | 4 horas/semana | Algoritmos; Lógica de Programação; Python; Testes. | - | chat |
Matemática Básica | 9 Semanas | 4 horas/semana | Números Primos; Bases Numéricas; Módulo; Gráficos. | - | chat |
Introdução à Conceitos de Computação | 4 semanas | 2 horas/semana | Sistemas Operacionais; Redes; Arquivos; História da Computação. | - | chat |
Leitura e Produção de Textos | 4 semanas | 2 horas/semana | Língua Portuguesa; Escrita; Gramática; Argumentação. | - | chat |
Circuitos Digitais | 9 semanas | 4 horas/semana | Portas Lógicas; Diagramas; Máquinas de Estado; Projeto de Circuitos. | - | chat |
Curso | Duração | Dedicação | Conteúdos | Pré-requisitos | Discussão |
---|---|---|---|---|---|
Introdução à Ciência da Computação com Python II | 6 Semanas | 4 horas/semana | Matrizes; POO; Recursão; Complexidade de Algoritmos. | Introdução à Ciência da Computação com Python I | chat |
Fundamentos Matemáticos para Computação | 9 Semanas | 4 horas/semana | Lógica Formal; PROLOG; Recursão; Matrizes; Booleanos; Grafos. | Matemática Básica | chat |
Arquitetura de Computadores I | 9 Semanas | 4 horas/semana | Memória; Booleans; Arquitetura; RISC-V. | Circuitos Digitais | chat |
Noções de Ingês | 9 Semanas | 4 horas/semana | Inglês básico; Técnicas de Leitura; Escrita. | - | chat |
Noções de Direitos Autorais, parte I | 9 Semanas | 4 horas/semana | Direito Autoral; Direito do Autor; Limitação do Direito do Autor. | - | chat |
Noções de Direitos Autorais, parte II | 9 Semanas | 4 horas/semana | Patentes Digitais; Registro de Programas de Computador. | Noções de Direitos Autorais, parte I | chat |
Curso | Duração | Dedicação | Conteúdos | Pré-requisitos | Discussão |
---|---|---|---|---|---|
Programação Orientada a Objetos I | 6 Semanas | 4 horas/semana | OOP; Streams; MVC; Design Patterns. | Introdução à Ciência da Computação com Python II | chat |
Bancos de Dados | 4 Semanas | 3 horas/semana | MER; Projeto de Banco de Dados; Normalização; SQL. | - | chat |
Arquitetura de Computadores II | 9 Semanas | 4 horas/semana | Cache; Paralelismo; ASM; RISC-V. | Arquitetura de Computadores I | chat |
Estatística e Probabilidade | 9 Semanas | 4 horas/semana | Análise Combinatória; Tabelas; Gráficos; Inferência; ANOVA. | Matemática Básica | chat |
Princípios de Desenvolvimento Ágil de Software | 9 Semanas | 4 horas/semana | XP; User Stories; Taks; Sprint; Diagramas. | - | chat |
Curso | Duração | Dedicação | Conteúdos | Pré-requisitos | Discussão |
---|---|---|---|---|---|
Desenvolvimento Ágil com Java Avançado | 4 Semanas | 3 horas/semana | JDBC; Servlets; Web; Lambda Calculus. | Princípios de Desenvolvimento Ágil de Software, Programação Orientada a Objetos I | chat |
Cálculo I | 4 Semanas | 3 horas/semana | Funçõpes; Limite; Derivada; Trigonometria; Mat. Espacial. | Matemática Básica | chat |
Teoria dos Grafos | 4 Semanas | 3 horas/semana | Grafos; Representações; Listas; Árvores. | Fundamentos Matemáticos para Computação, Programação Orientada a Objetos I | chat |
Sistemas Operacionais | 4 Semanas | 3 horas/semana | Processos; Threads; Calls; I/O. | Arquitetura de Computadores II | chat |
Banco de Dados MySQL | 3 Semanas | 4 horas/semana | CRUD; Consultas; Tabelas. | Introdução à Ciência da Computação com Python II, Bancos de Dados | chat |
Curso | Duração | Dedicação | Conteúdos | Pré-requisitos | Discussão |
---|---|---|---|---|---|
Interfaces Humano-Computador | 3 Semanas | 3 horas/semana | Estudos de Usuário; Design; Avaliação de Interfaces. | - | chat |
Estrutura de Dados | 2 Semanas | 3 horas/semana | Filas; Pilhas; Árvores; Ordenação. | Teoria dos Grafos | chat |
Redes de Computadores | 2 Semanas | 3 horas/semana | Protocolos; UDP; TCP; Comunicação. | - | chat |
Criação de Startups | 2 Semanas | 3 horas/semana | Canvas; MVP; Modelo de Negócio; Pitch. | - | chat |
Introdução ao Desenvolvimento de Aplicativos Android | 2 Semanas | 3 horas/semana | Aplicativos; Android Studio; Views. | Desenvolvimento Ágil com Java Avançado | chat |
Curso | Duração | Dedicação | Conteúdos | Pré-requisitos | Discussão |
---|---|---|---|---|---|
Paradigmas de Programação | 2 Semanas | 3 horas/semana | Programação Funcional; Cálculo Lambda; Haskell; Monads. | Estrutura de Dados | chat |
Compiladores | 2 Semanas | 3 horas/semana | Lexers; Parsers; AST; Generators. | Teoria dos Grafos | chat |
Gerência da Qualidade de Software | 2 Semanas | 3 horas/semana | Testes; Estimativas; Processos. | - | chat |
Fundamentos da Inteligência Artificial | 2 Semanas | 3 horas/semana | Regressão Linear; Gradientes; Redes Neurais; Perceptons. | Teoria dos Grafos | chat |
Metodologia da Pesquisa em Computação | 2 Semanas | 3 horas/semana | Pesquisa; Artigos; Métodos; Publicação. | - | chat |
Em breve.