AI prompts
base on 🎓 Um caminho para a educação autodidata em Ciência da Computação! <!--
MIT License
Copyright (c) 2021 Universidade Brasileira Livre
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-->
<p align="center">
<img src="https://uploaddeimagens.com.br/images/003/361/136/original/placeholder.jpg">
</p>
<p align="center">
<h3 align="center">Universidade Brasileira Livre</h3>
<p align="center">
Um caminho para a educação autodidata em Ciência da Computação!
</p>
<p align="center">
<a href="https://github.com/sindresorhus/awesome">
<img alt="Awesome" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg">
</a>
<a href="https://github.com/ossu/computer-science">
<img alt="Open Source Society University - Computer Science" src="https://img.shields.io/badge/OSSU-computer--science-blue.svg">
</a>
</p>
<p align="center">
<a href="https://twitter.com/UBLivre">
<img alt="Twitter" width="25" src="https://github.com/Universidade-Livre/imagens/blob/main/png/twitter.png">
</a>
<a href="https://www.linkedin.com/school/universidade-brasileira-livre/">
<img alt="LinkedIn" width="25" src="https://github.com/Universidade-Livre/imagens/blob/main/png/linkedin.png">
</a>
<a href="https://www.twitch.tv/universidade_livre">
<img alt="LinkedIn" width="25" src="https://github.com/Universidade-Livre/imagens/blob/main/png/twitch.png">
</a>
</p>
# Conteúdos
- [Sumário](#sum%C3%A1rio)
- [Comunidade](#comunidade)
- [Técnicas de estudo, organização e aprendizagem](#t%C3%A9cnicas-de-estudo-organiza%C3%A7%C3%A3o-e-aprendizagem)
- [Currículo](#curr%C3%ADculo)
- [Código de Conduta](CODE_OF_CONDUCT.md)
- [Time](#time)
# Sumário
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.
Este Curso não é pensado para treinamento em tecnologias específicas ou focado em habilidades profissionais direcionadas ao mercado, e sim para aqueles que desejam uma educação própria, **com qualidade**, fundada nos conceitos fundamentais da computação
e é planejada para alunos com disciplina, comprometimento 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.
Este curso contém conteúdos que seriam vistos em um curso de Ciência da Computação organizados de forma estruturada.
Os cursos em si são selecionados primariamente do conteúdo aberto de diversas Universidades e Institutos de Educação do Brasil. Entretanto,
os cursos presentes na grade seguem os seguintes critérios:
**Bases para a criação do Currículo (Guidelines):**
Levamos em consideração - apesar de não termos implementado completamente conforme sugerido - os seguintes documentos sobre a formação de um currículo
em Ciência da Computação. Continuaremos constantemente trabalhando e aceitando sugestões de melhorias para cada vez mais oferecer uma experiência
melhor para todos os estudantes que seguem nosso guia aberto de conteúdos. Além das referências abaixo, também utilizamos como referência as grades curriculares de outras instituições de ensino superior brasileiras.
- [Referenciais de Formação para os Cursos de Graduação em Computação 2017 (SBC)](https://www.sbc.org.br/documentos-da-sbc/send/131-curriculos-de-referencia/1165-referenciais-de-formacao-para-cursos-de-graduacao-em-computacao-outubro-2017)
- [Diretrizes Curriculares de Cursos da Área de Computação e Informática (UFRGS)](https://www.inf.ufrgs.br/site/wp-content/uploads/2016/05/diretrizes_curriculares.pdf)
**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 se espera do Currículo de Ciências da Computação
Todas as disciplinas possuem uma lista de leituras recomendadas. É de sua responsabilidade escolher a metodologia mais adequada. Note que os livros, em sua maioria, não são gratuitos.
Cursos de qualidade recomendados que não se encaixam na grade serão adicionados em [cursos extras](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/extras/courses.md). O mesmo ocorrerá quanto aos livros em [livros extras](#).
**Todos os cursos podem ser completados de forma gratuita.** Porém, alguns cursos têm diplomas, certificados, atividades, ou extras opcionais que são pagos. Observe que o [Coursera](https://learner.coursera.help/hc/en-us/articles/209819033-Apply-for-Financial-Aid) oferece ajuda financeira.
Os estudantes podem fazer as disciplinas individualmente ou em grupo, seguindo a ordem que estabelecemos ou não, sempre respeitando os pré-requisitos curriculares.
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!**
**[Como contribuir](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/CONTRIBUTING.md)**
**[Conseguindo ajuda](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/HELP.md)** (Detalhes sobre o FAQ e servidor)
# Comunidade
- Temos um servidor no Discord! [![Discord](https://img.shields.io/discord/866378348368625704.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/eXUBTY6HAu) Nele, você poderá encontrar e interagir com outros estudantes. Por que não se apresenta lá agora mesmo? [Vem para o Discord](https://discord.gg/eXUBTY6HAu).
- Você também pode interagir sobre questões a respeito dos problemas do Curso, propor mudanças de Currículo e outras coisas relacionadas por meio das nossas [issues](https://github.com/Universidade-Livre/ciencia-da-computacao/issues). Sinta-se à vontade para abrir discussões lá.
- Adicione a Universidade Brasileira Livre no seu perfil do [LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:6889534067805605889)!
# Antes de começar
Há tópicos que, apesar de não serem essenciais na formação de Ciência da Computação, podem ser muito úteis na sua jornada de aprendizado. Se desejar, você pode optar por ignorá-los momentaneamente e revisá-los posteriormente.
## Técnicas de estudo, organização e aprendizagem
Antes de começar a estudar é importante que você aprenda algumas coisas importantes. Ser autodidata não é sobre aprender sozinho, nem sobre não estar vinculado à uma Instituição de Ensino Superior (IES), mas sobre **ser responsável pelo seu próprio ensino** e isso é algo que exige saber como estudar, o quanto estudar, e como organizar seus estudos. Para isso, recomendamos os seguintes conteúdos abaixo.
Curso | Conteúdos
:-- | --:
[Aprendendo a aprender](https://pt.coursera.org/learn/aprender) ¹ | Memória; Técnicas de estudo; Recursos de estudo.
[Como estudar do jeito certo](https://www.youtube.com/playlist?list=PL5TJqBvpXQv7Q2lT7L7BrTrh6tgZY872s) | Tempo; Técnica; Discussão.
¹ Disponível com legendas em Português.
## Git e GitHub
Conhecer ferramentas como o Git o ajudará a organizar seus projetos de estudo. O GitHub - ou outras plataformas como BitBucket ou GitLab - pode ser muito útil para trabalhar remotamente e compartilhar os seus projetos com colegas, além de poder usá-lo como portfólio em futuras oportunidades de trabalho.
Curso | Conteúdos
:-- | --:
[Git e Github para Iniciantes](https://www.youtube.com/playlist?list=PLlAbYrWSYTiPA2iEiQ2PF_A9j__C4hi0A) | Git; GitHub; Controle de versão.
[Git e GitHub](https://www.cursoemvideo.com/curso/curso-de-git-e-github/) | Git; GitHub; Controle de versão.
# Currículo
Você pode fazer os cursos na ordem, onde, e como preferir. Este é o maior benefício da liberdade. Entretanto, por fins didáticos e de organização, recomendamos que tente respeitar os pré-requisitos. Você perceberá que não cumprir com estes poderá criar obstáculos em sua jornada.
### Dependências entre assuntos
<a href="https://raw.githubusercontent.com/Universidade-Livre/dependencias-aulas/main/grafo_dependencias_2024.svg"><img src="https://github.com/user-attachments/assets/657953c9-30c3-42b7-87bc-52fc2e6320d7" /></a>
(_Clique na imagem para ampliar._)
## Obrigatórias
A grade curricular abaixo está dividida em etapas para melhor visualização
### 1ª Etapa
| Etapa | Aulas em Vídeo | Pré-requisitos | Leitura Recomendada |
|---|---|---|---|
| 1 | [Circuitos Digitais](https://www.youtube.com/playlist?list=PLXyWBo_coJnMYO9Na3t-oYsc2X4kPJBWf) | - | [Livros sobre Circuitos Digitais](extras/bibliography/01_digital_circuits.md) |
| 1 | [Matemática Discreta](https://www.youtube.com/watch?v=KGoSTh1sgyM&list=PL6mfjjCaO1WrEJ0JKRyXO3QjaPkJaSvAS) | - | [Livros sobre Matemática Discreta](extras/bibliography/02_discrete_mathematics.md) |
| 1 | [Linguagens de Programação](https://www.youtube.com/watch?v=xfDdxqbkiSQ&list=PLnzT8EWpmbka4KukGR184tifzqcuq_ZDv) | - | [Livros sobre Linguagens de Programação](extras/bibliography/03_programming_languages.md) |
| 1 | [Introdução à Ciência da Computação com Python I](https://www.coursera.org/learn/ciencia-computacao-python-conceitos) | - | [Livros sobre Introdução a CC](extras/bibliography/04_intro_python.md) |
| 1 | [Geometria Analítica](https://www.youtube.com/watch?v=ijkDjQT7UPM&list=PL82Svt6JAgOH3M6TCELx8oegTVCriUg3L) | - | [Livros sobre Geometria Analítica](extras/bibliography/05_analytic_geometry.md) |
---
### 2ª Etapa
| Etapa | Aulas em Vídeo | Pré-requisitos | Leitura Recomendada |
| -------- | --------------- | --------------- | -------------------- |
| 2 | [Cálculo I](https://www.youtube.com/watch?v=WgHUHPlJETs&list=PLAudUnJeNg4tr-aiNyYCXE46L3qEZ2Nzx) | [Geometria Analítica](https://www.youtube.com/watch?v=ijkDjQT7UPM&list=PL82Svt6JAgOH3M6TCELx8oegTVCriUg3L) | [Livros de Cálculo I](extras/bibliography/06_intro_calculus.md) |
| 2 | [Álgebra Linear I](https://www.youtube.com/playlist?list=PLIEzh1OveCVczEZAjhVIVd7Qs-X8ILgnI) | [Geometria Analítica](https://www.youtube.com/watch?v=ijkDjQT7UPM&list=PL82Svt6JAgOH3M6TCELx8oegTVCriUg3L) | [Livros de Álgebra Linear](extras/bibliography/07_intro_linear_algebra.md) |
| 2 | [Estruturas de Dados](https://www.youtube.com/watch?v=0hT3EKGhbpI&list=PLndfcZyvAqbofQl2kLLdeWWjCcPlOPnrW) | [Matemática Discreta](https://www.youtube.com/watch?v=KGoSTh1sgyM&list=PL6mfjjCaO1WrEJ0JKRyXO3QjaPkJaSvAS)<br><br>[Introdução à Ciência da Computação com Python I](https://www.coursera.org/learn/ciencia-computacao-python-conceitos) | [Livros de Estruturas de Dados](extras/bibliography/08_data_structure.md) |
| 2 | [Introdução à Ciência da Computação com Python II](https://www.coursera.org/learn/ciencia-computacao-python-conceitos-2) | [Introdução à Ciência da Computação com Python I](https://www.coursera.org/learn/ciencia-computacao-python-conceitos) | [Livros de Introdução a Programação](extras/bibliography/09_python.md) |
| 2 | [Laboratório de Programação Orientada a Objetos I](https://pt.coursera.org/learn/lab-poo-parte-1) | [Introdução à Ciência da Computação com Python I](https://www.coursera.org/learn/ciencia-computacao-python-conceitos) | [Livros sobre Orientação a Objetos](extras/bibliography/10_object_orientation.md) |
---
### 3ª Etapa
| Etapa | Aulas em Vídeo | Pré-requisitos | Leitura Recomendada |
| -------- | --------------- | --------------- | -------------------- |
| 3 | [Algoritmos em Grafos](https://www.youtube.com/watch?v=fjOiu6CD5pc&list=PLrPn-zKAOzUzKdPqFNF52g-i9p1f-vmsk) | [Estruturas de Dados](https://www.youtube.com/watch?v=0hT3EKGhbpI&list=PLndfcZyvAqbofQl2kLLdeWWjCcPlOPnrW) | [Livros sobre Algoritmos em Grafos](extras/bibliography/11_graph_algorithms.md) |
| 3 | [Arquitetura de Computadores I](https://www.youtube.com/playlist?list=PLEUHFTHcrJmswfeq7QEHskgkT6HER3gK6) | [Circuitos Digitais](https://www.youtube.com/playlist?list=PLXyWBo_coJnMYO9Na3t-oYsc2X4kPJBWf) | [Livros sobre Arquitetura de Computadores I](extras/bibliography/12_computer_architecture.md) |
| 3 | [Probabilidade e Estatística](https://www.youtube.com/watch?v=snXf8YT7L3U&list=PLrOyM49ctTx8HWnxWRBtKrfcuf7ew_3nm) | [Cálculo I](https://www.youtube.com/watch?v=WgHUHPlJETs&list=PLAudUnJeNg4tr-aiNyYCXE46L3qEZ2Nzx) | [Livros sobre Probabilidade e Estatística](extras/bibliography/13_statistics_probability.md) |
| 3 | [Cálculo II](https://www.youtube.com/watch?v=lQdzRBRL9Tw&list=PLAudUnJeNg4sd0TEJ9EG6hr-3d3jqrddN) | [Cálculo I](https://www.youtube.com/watch?v=WgHUHPlJETs&list=PLAudUnJeNg4tr-aiNyYCXE46L3qEZ2Nzx) | [Livros sobre Cálculo II](extras/bibliography/14_advanced_calculus.md) |
| 3 | [Programação Funcional em Haskell](https://www.youtube.com/watch?v=eTisiy5FB7k&list=PLYItvall0TqJ25sVTLcMhxsE0Hci58mpQ&index=1) | \- | [Livros sobre Programação Funcional](extras/bibliography/15_haskell.md) |
---
### 4ª Etapa
| Etapa | Aulas em Vídeo | Pré-requisitos | Leitura Recomendada |
|----------|----------------|----------------|---------------------|
| 4 | [Análise de Algoritmos](https://www.youtube.com/watch?v=_HBTCUNPxOg&list=PLncEdvQ20-mgGanwuFczm-4IwIdIcIiha) | [Algoritmos em Grafos](https://www.youtube.com/watch?v=fjOiu6CD5pc&list=PLrPn-zKAOzUzKdPqFNF52g-i9p1f-vmsk) | [Livros sobre Análise de Algoritmos](extras/bibliography/16_analysis_of_algorithms.md) |
| 4 | [Métodos Numéricos I](https://www.youtube.com/watch?v=a6nNQ6qKgiY&list=PLI9WiBCz67cPTTRER4CrsN0wpRN-NmjGA) | [Introdução à Ciência da Computação com Python I](https://www.coursera.org/learn/ciencia-computacao-python-conceitos)<br><br>[Cálculo I](https://www.youtube.com/watch?v=WgHUHPlJETs&list=PLAudUnJeNg4tr-aiNyYCXE46L3qEZ2Nzx) | [Livros sobre Métodos Numéricos](extras/bibliography/17_numeric_methods.md) |
| 4 | [Banco de Dados](https://www.youtube.com/watch?v=pmAxIs5U1KI&list=PLxI8Can9yAHeHQr2McJ01e-ANyh3K0Lfq) | \- | [Livros sobre Bancos de Dados](extras/bibliography/18_database.md) |
| 4 | [Arquitetura de Computadores II](https://www.youtube.com/playlist?list=PLEUHFTHcrJmsqKX-GDD-hBvkF8h2_BfKJ) | [Introdução à Ciência da Computação com Python II](https://www.coursera.org/learn/ciencia-computacao-python-conceitos-2)<br><br>[Arquitetura de Computadores I](https://www.youtube.com/playlist?list=PLEUHFTHcrJmswfeq7QEHskgkT6HER3gK6) | [Livros sobre Arquitetura de Computadores](extras/bibliography/19_computer_architecture_II.md) |
| 4 | [Programação Lógica](https://youtube.com/playlist?list=PLZ-Bk6jzsb-OScKa7vhpcQXoU2uxYGaFx&si=Y52_w6CQPYEE2fLN) | \- | [Livros sobre Programação Lógica](extras/bibliography/20_logical_programming.md) |
---
### 5ª Etapa
| Etapa | Aulas em Vídeo | Pré-requisitos | Leitura Recomendada |
|-------|----------------|----------------|---------------------|
| 5 | [Redes de Computadores](https://www.youtube.com/playlist?list=PLvHXLbw-JSPfKp65psX5C9tyNLHHC4uoR) | \- | [Livros sobre Rede de Computadores](extras/bibliography/21_computer_network.md) |
| 5 | [Introdução à Engenharia de Software](https://www.youtube.com/watch?v=h_hEI1Kfm2U&list=PLhBaeEzs3d7lsn_Mq2n3R4_api16Wkp1Q) | [Introdução à Ciência da Computação com Python II](https://www.coursera.org/learn/ciencia-computacao-python-conceitos-2) | [Livros sobre Engenharia de Software](extras/bibliography/22_software_engineering.md) |
| 5 | [Sistemas Operacionais](https://www.youtube.com/watch?v=EGn8fOf7zE0&list=PLSmh8AKk_aUn9HxFs5FnjQupdQnV56MXV) | [Arquitetura de Computadores II](https://www.youtube.com/playlist?list=PLEUHFTHcrJmsqKX-GDD-hBvkF8h2_BfKJ) | [Livros sobre Sistemas Operacionais](extras/bibliography/23_operating_system.md) |
| 5 | [Programação Matemática](https://www.youtube.com/watch?v=8rrgnFCL9LM&list=PL2peXovwG2kuqXC6sECjFSiG-MT1yXMQ-) | [Álgebra Linear I](https://www.youtube.com/playlist?list=PLIEzh1OveCVczEZAjhVIVd7Qs-X8ILgnI) | [Livros sobre Programação Matemática/Pesquisa Operacional](extras/bibliography/24_math_optimization.md) |
| 5 | [Fundamentos de Computação Gráfica](https://www.youtube.com/watch?v=AVSAesOiKYY&list=PLE51fUFkeIwLXwe4rvG4EMgw7zgjP-tDx) | [Geometria Analítica](https://www.youtube.com/watch?v=ijkDjQT7UPM&list=PL82Svt6JAgOH3M6TCELx8oegTVCriUg3L) | [Livros sobre Computação Gráfica](extras/bibliography/25_fundamentals_computer_graphics.md) |
---
### 6ª Etapa
| Etapa | Aulas em Vídeo | Pré-requisitos | Leitura Recomendada |
|-------|----------------|----------------|---------------------|
| 6 | [Linguagens Formais e Autômatos](https://www.youtube.com/watch?v=4zMwOozUt9U&list=PLncEdvQ20-mhD_qMeLHtLnA3XDT1Fr_k4&pp=iAQB) | [Matemática Discreta](https://www.youtube.com/watch?v=KGoSTh1sgyM&list=PL6mfjjCaO1WrEJ0JKRyXO3QjaPkJaSvAS) | [Livros sobre Linguagens Formais e Autômatos](extras/bibliography/26_automata_theory.md) |
| 6 | [Inteligência Artificial](https://www.youtube.com/watch?v=-T3zDFxngf4&list=PLeejGOroKw_txh7j7S3etF5eudI2WvMx0) | [Estruturas de Dados](https://www.youtube.com/watch?v=0hT3EKGhbpI&list=PLndfcZyvAqbofQl2kLLdeWWjCcPlOPnrW)<br><br>[Probabilidade e Estatística](https://www.youtube.com/watch?v=snXf8YT7L3U&list=PLrOyM49ctTx8HWnxWRBtKrfcuf7ew_3nm) | [Livros sobre Inteligência Artificial](extras/bibliography/27_artificial_intelligence.md) |
| 6 | [Sistemas Distribuídos](https://www.youtube.com/watch?v=TEEy5f46h_Q&list=PLP0bYj2MTFcuXa4-EbBKhvehr-rkxpeR8&index=1) | [Redes de Computadores](https://www.youtube.com/playlist?list=PLvHXLbw-JSPfKp65psX5C9tyNLHHC4uoR) | [Livros sobre Sistemas Distríbuidos](extras/bibliography/28_distributed_computing.md) |
| 6 | [Teoria dos Grafos](https://www.youtube.com/watch?v=kfHqZLYHfHU&list=PLndfcZyvAqbr2MLCOLEvBNX6FgD8UNWfX) | [Matemática Discreta](https://www.youtube.com/watch?v=KGoSTh1sgyM&list=PL6mfjjCaO1WrEJ0JKRyXO3QjaPkJaSvAS) | [Livros sobre Teoria dos Grafos](extras/bibliography/29_graphs.md) |
| 6 | [Cálculo III](https://www.youtube.com/watch?v=8mBTfk7s63s&list=PLAudUnJeNg4ugGUJo52dtgFZ_tCm1Ds5W) | [Cálculo II](https://www.youtube.com/watch?v=lQdzRBRL9Tw&list=PLAudUnJeNg4sd0TEJ9EG6hr-3d3jqrddN) | [Livros sobre Cálculo III](extras/bibliography/30_multivariable_calculus.md) |
---
### 7ª Etapa
| Etapa | Aulas em Vídeo | Pré-requisitos | Leitura Recomendada |
|-------|----------------|----------------|---------------------|
| 7 | [Teoria da Computação](https://www.youtube.com/watch?v=dWRxL30aoes&list=PLYLYA7XrlskNgCeSpJf9PQHHb8Z4WpRm4) | [Linguagens Formais e Autômatos](https://www.youtube.com/watch?v=4zMwOozUt9U&list=PLncEdvQ20-mhD_qMeLHtLnA3XDT1Fr_k4&pp=iAQB) | [Livros sobre Teoria da Computação](extras/bibliography/31_theory_of_computation.md) |
| 7 | [Deep Learning](https://www.youtube.com/watch?v=0VD_2t6EdS4&list=PL9At2PVRU0ZqVArhU9QMyI3jSe113_m2-) | [Inteligência Artificial](https://www.youtube.com/watch?v=-T3zDFxngf4&list=PLeejGOroKw_txh7j7S3etF5eudI2WvMx0) | [Livros sobre Deep Learning](extras/bibliography/32_deep_learning.md) |
| 7 | [Compiladores](https://youtube.com/playlist?list=PLX6Nyaq0ebfhI396WlWN6WlBm-tp7vDtV&si=LoaU9lzLMuSVikgi) | [Estruturas de Dados](https://www.youtube.com/watch?v=0hT3EKGhbpI&list=PLndfcZyvAqbofQl2kLLdeWWjCcPlOPnrW)<br><br>[Teoria dos Grafos](https://www.youtube.com/watch?v=kfHqZLYHfHU&list=PLndfcZyvAqbr2MLCOLEvBNX6FgD8UNWfX) | [Livros sobre Compiladores](extras/bibliography/33_compilers.md) |
| 7 | [Computação Quantica](https://youtube.com/playlist?list=PLUFcRbu9t-v4peHdmDy4rtG3EnbZNS86R&si=hLYHhS2BTKRgNwMJ) | [Cálculo III](https://www.youtube.com/watch?v=8mBTfk7s63s&list=PLAudUnJeNg4ugGUJo52dtgFZ_tCm1Ds5W)<br><br>[Arquitetura de Computadores II](https://www.youtube.com/playlist?list=PLEUHFTHcrJmsqKX-GDD-hBvkF8h2_BfKJ) | [Livros sobre Computação Quântica](extras/bibliography/34_quantum_copmputing.md) |
| 7 | [Metodologia da Pesquisa](https://youtube.com/playlist?list=PLclUQno6PMpQO0-XrDwWsPzRzEvjwp1__&si=0dXojlZV5EisMB6s) | \- | [Livros sobre Metodologia de Pesquisa](extras/bibliography/35_methodology.md) |
<!--
## Eletivas
As disciplinas abaixo não estão divididas por semestre, por serem pouco numerosas.
| Semestre | Curso | Conteúdos | Pré-requisitos | Leitura Recomendada |
| -------- | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 6 | [Visão Computacional](https://www.youtube.com/playlist?list=PLmDIGfkfgKy1SBjXA0kBk4DAhIaN1vQOS) | | [Fundamentos de Computação Gráfica](https://www.youtube.com/watch?v=AVSAesOiKYY&list=PLE51fUFkeIwLXwe4rvG4EMgw7zgjP-tDx) | An Invitation to 3D Vision: From Images to Geometric Models. Yi Ma, Stefano Soatto, Jana Kosecka e S. Shankar Sastry. Springer, ISBN 0-387-00893-4<br><br>Multiple View Geometry in Computer Vision. Richard Hartley e Andrew Zisserman. Cambridge University Press, ISBN 0-521-62304-9<br><br>Programming Computer Vision with Python: Tools and algorithms for analyzing images Jan Erik Solem, O’Reilly Media, ISBN 978-1449316549 |
| 6 | [Processamento de Imagens](https://www.youtube.com/watch?v=Bd0PCypQ44s&list=PLo4jXE-LdDTRaFa39TdNN3FgPAKkcuHvj&index=1) | | [Cálculo II](https://www.youtube.com/watch?v=lQdzRBRL9Tw&list=PLAudUnJeNg4sd0TEJ9EG6hr-3d3jqrddN)<br><br>[Álgebra Linear I](https://www.youtube.com/playlist?list=PLIEzh1OveCVczEZAjhVIVd7Qs-X8ILgnI)<br><br>[Análise de Algoritmos](https://www.youtube.com/watch?v=_HBTCUNPxOg&list=PLncEdvQ20-mgGanwuFczm-4IwIdIcIiha)<br><br>[Fundamentos de Computação Gráfica](https://www.youtube.com/watch?v=AVSAesOiKYY&list=PLE51fUFkeIwLXwe4rvG4EMgw7zgjP-tDx) | J. Gomes & L. Velho, Image Processing for Computer Graphics, Springer-Verlag, 1997.<br><br>Computer Vision: Algorithms and Applications, Rchard Szeliski<br><br>Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville, MIT Press |
| 5 | [Algoritmos Aproximativos](https://www.youtube.com/watch?v=Owm_idXvw2I&list=PL6mfjjCaO1Wq3sLEGtMWCOAN6n9xIBOu8) | Definições. Algoritmos Aproximativos Determinísticos. Algoritmos Aproximativos Evolutivos. Algoritmos Aleatórios. Complexidade de Problemas e Algoritmos Aproximativos. | [Análise de Algoritmos](https://www.youtube.com/watch?v=_HBTCUNPxOg&list=PLncEdvQ20-mgGanwuFczm-4IwIdIcIiha) | VAZIRANI, V. Approximation Algorithms. Springer, 2002. ISBN 978-3540653677.<br><br>HOCHBAUM, D. Approximation Algorithms for NP-hard Problems. PWS Publishing Company, 1997. ISBN 978-0534949686.<br><br>WILLIAMSON, D.; SHMOYS, D. The Design of Approximation Algorithms, Cambridge, 2011. ISBN 978- 0521195270. |
| 5 | [Algoritmos Probabilísticos](https://www.youtube.com/watch?v=-8BsuBl4vOE&list=PL6mfjjCaO1WpMf4T3AUVzzqkRIhmEemTB) | Notação básica, Exemplos básicos, Análise probabilística de algoritmos, Ferramentas de probabilidade, Desigualdades básicas, Desigualdades de grandes desvios, Martingais, Método probabilístico, Cadeias de Markov, Método de Monte-Carlo, Construção de algoritmos probabilísticos, Aplicações para problemas NP-Difíceis, Análise de estruturas de dados em processos aleatórios, Geradores pseudoaleatórios, Classificação de problemas. | [Análise de Algoritmos](https://www.youtube.com/watch?v=_HBTCUNPxOg&list=PLncEdvQ20-mgGanwuFczm-4IwIdIcIiha) | Mitzenmacher, M.; Upfal, E. Probability and computing: randomized algorithms and probabilistic analysis. Cambridge: Cambridge University Press, 2005. 370p. ISBN-13: 978-0521835404.<br><br>Motwani, R.; Raghavan, P. Randomized Algorithms. Cambridge: Cambridge University Press, 1995. 492p. ISBN-13: 978-0521474658.<br><br>Ross, S. Probability models for computer science. London: Academic Press, 2002. 288p. ISBN-13: 978-0125980517. |
-->
## Especializações
Após ter concluído a formação geral, você já deve ter uma ampla visão sobre Ciência da Computação, seus fundamentos e aplicações e estará mais que preparado para escolher uma área de especialidade dentro de suas aplicações para se tornar especialista. A partir daqui não vamos mais elencar pré-requisitos, pois entendemos que com a bagagem da formação geral o aluno já consegue ter pleno conhecimento sobre como estudar temas complexos e decidir como e quando fazer cada curso sem necessitar de recomendação.
Especialização | Áreas de Atuação
:-- | :--
[Computação Gráfica](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/specializations/computer_graphics.md) | `softwares gráficos`, `aplicações 3D`, `games`, `fotorrealismo`, `sistemas gráficos`, `simuladores`, `e mais`
[Embarcados](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/specializations/embedded_systems.md) | `internet das coisas`, `controles industriais`, `coisas inteligentes`, `wearables`, `cidades inteligentes`, `automobilismo`, `e mais`
[Desenvolvimento Web](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/specializations/web_development.md) | `aplicações em servidor`, `layout de páginas web`, `sistemas on-line`, `APIs`, `computação em nuvem`, `streaming`, `e mais`
[Ciência de Dados](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/specializations/data_science.md) | `análise de dados`, `visualização de dados`, `machine learning`, `deep learning`, `sistemas especialistas`, `estatística`, `e mais`
[CyberSecurity](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/specializations/cybersecurity.md) | `segurança`, `pentest`, `criptografia`, `autenticação`, `análise`, `estatística`, `e mais`
[DevOps](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/specializations/devops.md) | `devops`, `infraestrutura`, `container`, `docker`, `kubernetes`, `CI/CD`, `e mais`
[Design de Algoritmos](#) | `em breve`
## Como demonstrar o meu progresso?
A melhor forma de demonstrar sua evolução e maturidade ao longo do currículo é por meio de exercícios. Estes exercícios podem ser os encontrados nas leituras recomendadas ou, em caso de disciplinas mais aplicadas, projetos práticos. Compartilhar sobre os projetos que tem feito ao longo do Curso, seja por meio de redes sociais, blogues, tutoriais, streaming... vai demonstrar para as pessoas do meio técnico e de outros meios o quanto você aprendeu e evoluiu ao longo dessa jornada.
Não deixe de hospedar todos os seus códigos em seu perfil do GitHub, mesmo que sejam pequenos projetos ou apenas exercícios eles podem demonstrar muito sobre o que você tem estudado, como você resolve problemas e o quanto você melhorou ao longo do tempo.
## Parabéns!
Após completar todos os requisitos do currículo acima e aprender ao menos uma especialização você já viu todo o conteúdo equivalente a um Bacharelado completo em Ciência da Computação. Parabéns!
O que fazer após isso? Bem, na verdade as possibilidades são sem limites e interconectadas:
- Procurar um trabalho como Desenvolvedor em sua especialidade.
- Aprender mais lendo livros clássicos de Ciência da Computação em um [Clube do Livro](https://github.com/pilhacheia/clube-do-livro-dev) para melhorar suas habilidades e expandir seu conhecimento (além de fazer muitos amigos)!
- Participar ou organizar meetups de tecnologia.
- Encontrar novas tecnologias que estão crescendo:
- Explorar o **modelo de atores (actor model)** com [Elixir](https://elixirschool.com/pt) ou [Scala](https://www.coursera.org/specializations/scala), que são linguagens modernas com ferramental e bibliotecas muito interessantes para Desenvolvimento Web e que utilizam VM's muito poderosas!
- Explorar **empréstimo (borrowing) e tempo de vida (lifetimes)** em [Rust](https://rust-br.github.io/rust-book-pt-br/), uma linguagem que tem [segurança de memória](https://pt.wikipedia.org/wiki/Seguran%C3%A7a_de_mem%C3%B3ria) e de [fio de execução](https://pt.wikipedia.org/wiki/Thread_safety) sem um [coletor de lixo](https://pt.wikipedia.org/wiki/Coletor_de_lixo_(inform%C3%A1tica))!
- Aprender mais sobre **tipos** e **inferência de tipos** com [OCaml](https://github.com/Camilotk/ocaml4noobs), uma linguagem multiparadigma com inferência estática de tipos!
<p align="center">
<img src="https://github.com/Universidade-Livre/imagens/blob/main/mascote/mascote_ubl_cut.png" />
</p>
## Time
- [Camilo Cunha de Azevedo](https://github.com/Camilotk): Fundador da ULivre
- [Mateus Roveda](https://github.com/mateusrovedaa): Líder de Comunidade
- [Leonardo Fiedler](https://github.com/leonardoFiedler): Mantenedor da Especialização em Ciência de Dados
- [Jefferson Quesado](https://github.com/jeffque): Mantenedor da Especialização em Desenvolvimento Web
- [Marcus Rodrigues](https://github.com/mavinsi): Mantenedor do Site do Projeto
- [Rotfuchs von Vulpes](https://github.com/Rotfuchs-von-Vulpes): Moderador da Comunidade
- [Emanuel Castelo](https://github.com/elvcastelo): Moderador da Comunidade
- [Gustavo Schneider](https://github.com/SttavoS): Moderador da Comunidade
## Contribuidores
Nosso muito obrigado a todas essas pessoas!
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://www.ime.usp.br/~kon/"><img src="https://avatars.githubusercontent.com/u/1528912?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fabio Kon</b></sub></a><br /><a href="#video-fabiokon" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/professordouglasmaioli"><img src="https://avatars.githubusercontent.com/u/76759425?v=4?s=100" width="100px;" alt=""/><br /><sub><b>professordouglasmaioli</b></sub></a><br /><a href="#video-professordouglasmaioli" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/gablg1"><img src="https://avatars.githubusercontent.com/u/5253695?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gabriel Guimaraes</b></sub></a><br /><a href="#video-gablg1" title="Videos">📹</a></td>
<td align="center"><a href="http://dca.ufrn.br/~souza"><img src="https://avatars.githubusercontent.com/u/5923790?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Pedro Thiago Valério de Souza</b></sub></a><br /><a href="#video-pedrothiag" title="Videos">📹</a></td>
<td align="center"><a href="http://www.ic.unicamp.br/~rodolfo"><img src="https://avatars.githubusercontent.com/u/691525?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rodolfo Azevedo</b></sub></a><br /><a href="#video-rjazevedo" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/guerraem"><img src="https://avatars.githubusercontent.com/u/907905?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Eduardo Guerra</b></sub></a><br /><a href="#video-guerraem" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/bosontreinamentos"><img src="https://avatars.githubusercontent.com/u/22084794?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fábio dos Reis</b></sub></a><br /><a href="#video-bosontreinamentos" title="Videos">📹</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/matheusfelipeog"><img src="https://avatars.githubusercontent.com/u/50463866?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Felipe</b></sub></a><br /><a href="https://github.com/Camilotk/ciencia da computacao/pulls?q=is%3Apr+reviewed-by%3Amatheusfelipeog" title="Reviewed Pull Requests">👀</a></td>
<td align="center"><a href="https://jjpaulo2.github.io/"><img src="https://avatars.githubusercontent.com/u/22819523?v=4?s=100" width="100px;" alt=""/><br /><sub><b>João Paulo Carvalho</b></sub></a><br /><a href="#ideas-jjpaulo2" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://sswellington.github.io/"><img src="https://avatars.githubusercontent.com/u/45939490?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Wellington Silva</b></sub></a><br /><a href="#ideas-sswellington" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://youtube.com/programacaodinamica"><img src="https://avatars.githubusercontent.com/u/5713977?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hallison Paz</b></sub></a><br /><a href="#video-hallpaz" title="Videos">📹</a> <a href="#ideas-hallpaz" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="http://menteb.in/"><img src="https://avatars.githubusercontent.com/u/1429647?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fernando Mercês</b></sub></a><br /><a href="#video-merces" title="Videos">📹</a> <a href="#maintenance-merces" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://linktr.ee/fmasanori"><img src="https://avatars.githubusercontent.com/u/977887?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fernando Masanori</b></sub></a><br /><a href="#video-fmasanori" title="Videos">📹</a></td>
<td align="center"><a href="http://professor.ufabc.edu.br/~e.francesquini"><img src="https://avatars.githubusercontent.com/u/730414?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Emilio Francesquini</b></sub></a><br /><a href="#video-francesquini" title="Videos">📹</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/folivetti"><img src="https://avatars.githubusercontent.com/u/3751284?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fabricio Olivetti de Franca</b></sub></a><br /><a href="#video-folivetti" title="Videos">📹</a></td>
<td align="center"><a href="http://www.professorisidro.com.br/"><img src="https://avatars.githubusercontent.com/u/6184696?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Professor Isidro</b></sub></a><br /><a href="#video-professorisidro" title="Videos">📹</a></td>
<td align="center"><a href="https://levysiqueira.com.br/"><img src="https://avatars.githubusercontent.com/u/1347668?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fabio Levy Siqueira</b></sub></a><br /><a href="#video-levysiqueira" title="Videos">📹</a></td>
<td align="center"><a href="http://lvelho.impa.br/"><img src="https://avatars.githubusercontent.com/u/3164819?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Luiz Velho</b></sub></a><br /><a href="#video-lvelho" title="Videos">📹</a></td>
<td align="center"><a href="https://dirack.github.io/"><img src="https://avatars.githubusercontent.com/u/39841723?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Geofisicando</b></sub></a><br /><a href="#video-Geofisicando" title="Videos">📹</a></td>
<td align="center"><a href="http://wrkits.com.br/"><img src="https://avatars.githubusercontent.com/u/18622371?v=4?s=100" width="100px;" alt=""/><br /><sub><b>WR Kits</b></sub></a><br /><a href="#video-wagner-rambo" title="Videos">📹</a></td>
<td align="center"><a href="https://bdouram.github.io/"><img src="https://avatars.githubusercontent.com/u/31232196?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bruno Miranda</b></sub></a><br /><a href="#video-bdouram" title="Videos">📹</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/professorguanabara"><img src="https://avatars.githubusercontent.com/u/66076428?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gustavo Guanabara</b></sub></a><br /><a href="#video-professorguanabara" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/techtuxbr"><img src="https://avatars.githubusercontent.com/u/25886341?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Victor Lima</b></sub></a><br /><a href="#video-techtuxbr" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/lucasnhimi"><img src="https://avatars.githubusercontent.com/u/54808138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lucas Nhimi</b></sub></a><br /><a href="#video-lucasnhimi" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/oliveira-michel"><img src="https://avatars.githubusercontent.com/u/48107652?v=4?s=100" width="100px;" alt=""/><br /><sub><b>oliveira-michel</b></sub></a><br /><a href="#video-oliveira-michel" title="Videos">📹</a></td>
<td align="center"><a href="http://willianjusten.com.br/"><img src="https://avatars.githubusercontent.com/u/3991845?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Willian Justen </b></sub></a><br /><a href="#video-willianjusten" title="Videos">📹</a></td>
<td align="center"><a href="https://youtube.com/programacaodinamica"><img src="https://avatars.githubusercontent.com/u/6809851?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kizzy Terra </b></sub></a><br /><a href="#video-kterra" title="Videos">📹</a></td>
<td align="center"><a href="https://andrewrosario.medium.com/"><img src="https://avatars.githubusercontent.com/u/21269337?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Andrew Rosário</b></sub></a><br /><a href="#video-andrewarosario" title="Videos">📹</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
*E a todos os outros educadores, produtores de conteúdo e pessoas que contribuíram com esse projeto, mas não possuem perfil ou ainda não os encontramos!*
", Assign "at most 3 tags" to the expected json: {"id":"9922","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"