main 0c9aec2b25d3 cached
54 files
216.0 KB
61.9k tokens
1 requests
Download .txt
Showing preview only (231K chars total). Download the full file or copy to clipboard to get everything.
Repository: Universidade-Livre/ciencia-da-computacao
Branch: main
Commit: 0c9aec2b25d3
Files: 54
Total size: 216.0 KB

Directory structure:
gitextract_8jkg2j4b/

├── .all-contributorsrc
├── .github/
│   └── FUNDING.yml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── FAQ.md
├── HELP.md
├── LICENSE
├── README.md
├── extras/
│   ├── bibliography/
│   │   ├── 01_digital_circuits.md
│   │   ├── 02_discrete_mathematics.md
│   │   ├── 03_programming_languages.md
│   │   ├── 04_intro_python.md
│   │   ├── 05_analytic_geometry.md
│   │   ├── 06_intro_calculus.md
│   │   ├── 07_intro_linear_algebra.md
│   │   ├── 08_data_structure.md
│   │   ├── 09_python.md
│   │   ├── 10_object_orientation.md
│   │   ├── 11_graph_algorithms.md
│   │   ├── 12_computer_architecture.md
│   │   ├── 13_statistics_probability.md
│   │   ├── 14_advanced_calculus.md
│   │   ├── 15_haskell.md
│   │   ├── 16_analysis_of_algorithms.md
│   │   ├── 17_numeric_methods.md
│   │   ├── 18_database.md
│   │   ├── 19_computer_architecture_II.md
│   │   ├── 20_logical_programming.md
│   │   ├── 21_computer_network.md
│   │   ├── 22_software_engineering.md
│   │   ├── 23_operating_system.md
│   │   ├── 24_math_optimization.md
│   │   ├── 25_fundamentals_computer_graphics.md
│   │   ├── 26_automata_theory.md
│   │   ├── 27_artificial_intelligence.md
│   │   ├── 28_distributed_computing.md
│   │   ├── 29_graphs.md
│   │   ├── 30_multivariable_calculus.md
│   │   ├── 31_theory_of_computation.md
│   │   ├── 32_deep_learning.md
│   │   ├── 33_compilers.md
│   │   ├── 34_quantum_computing.md
│   │   └── 35_methodology.md
│   ├── books.md
│   ├── courses.md
│   └── softskills.md
└── specializations/
    ├── computer_graphics.md
    ├── cybersecurity.md
    ├── data_science.md
    ├── database_administration.md
    ├── devops.md
    ├── embedded_systems.md
    ├── mobile_development.md
    └── web_development.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .all-contributorsrc
================================================
{
  "projectName": "ciencia da computacao",
  "projectOwner": "Camilotk",
  "repoType": "github",
  "repoHost": "https://github.com",
  "files": [
    "README.md"
  ],
  "imageSize": 100,
  "commit": false,
  "commitConvention": "none",
  "contributors": [
    {
      "login": "fabiokon",
      "name": "Fabio Kon",
      "avatar_url": "https://avatars.githubusercontent.com/u/1528912?v=4",
      "profile": "https://github.com/fabiokon",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "professordouglasmaioli",
      "name": "professordouglasmaioli",
      "avatar_url": "https://avatars.githubusercontent.com/u/76759425?v=4",
      "profile": "https://github.com/professordouglasmaioli",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "gablg1",
      "name": "Gabriel Guimaraes",
      "avatar_url": "https://avatars.githubusercontent.com/u/5253695?v=4",
      "profile": "https://github.com/gablg1",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "pedrothiag",
      "name": "Pedro Thiago Valério de Souza",
      "avatar_url": "https://avatars.githubusercontent.com/u/5923790?v=4",
      "profile": "http://dca.ufrn.br/~souza",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "rjazevedo",
      "name": "Rodolfo Azevedo",
      "avatar_url": "https://avatars.githubusercontent.com/u/691525?v=4",
      "profile": "http://www.ic.unicamp.br/~rodolfo",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "guerraem",
      "name": "Eduardo Guerra",
      "avatar_url": "https://avatars.githubusercontent.com/u/907905?v=4",
      "profile": "https://github.com/guerraem",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "bosontreinamentos",
      "name": "Fábio dos Reis",
      "avatar_url": "https://avatars.githubusercontent.com/u/22084794?v=4",
      "profile": "https://github.com/bosontreinamentos",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "matheusfelipeog",
      "name": "Matheus Felipe",
      "avatar_url": "https://avatars.githubusercontent.com/u/50463866?v=4",
      "profile": "https://github.com/matheusfelipeog",
      "contributions": [
        "review"
      ]
    },
    {
      "login": "jjpaulo2",
      "name": "João Paulo Carvalho",
      "avatar_url": "https://avatars.githubusercontent.com/u/22819523?v=4",
      "profile": "https://jjpaulo2.github.io/",
      "contributions": [
        "ideas"
      ]
    },
    {
      "login": "sswellington",
      "name": "Wellington Silva",
      "avatar_url": "https://avatars.githubusercontent.com/u/45939490?v=4",
      "profile": "https://sswellington.github.io/",
      "contributions": [
        "ideas"
      ]
    },
    {
      "login": "hallpaz",
      "name": "Hallison Paz",
      "avatar_url": "https://avatars.githubusercontent.com/u/5713977?v=4",
      "profile": "https://youtube.com/programacaodinamica",
      "contributions": [
        "video",
        "ideas"
      ]
    },
    {
      "login": "merces",
      "name": "Fernando Mercês",
      "avatar_url": "https://avatars.githubusercontent.com/u/1429647?v=4",
      "profile": "http://menteb.in/",
      "contributions": [
        "video",
        "maintenance"
      ]
    },
    {
      "login": "fmasanori",
      "name": "Fernando Masanori",
      "avatar_url": "https://avatars.githubusercontent.com/u/977887?v=4",
      "profile": "https://linktr.ee/fmasanori",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "francesquini",
      "name": "Emilio Francesquini",
      "avatar_url": "https://avatars.githubusercontent.com/u/730414?v=4",
      "profile": "http://professor.ufabc.edu.br/~e.francesquini",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "folivetti",
      "name": "Fabricio Olivetti de Franca",
      "avatar_url": "https://avatars.githubusercontent.com/u/3751284?v=4",
      "profile": "https://github.com/folivetti",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "professorisidro",
      "name": "Professor Isidro",
      "avatar_url": "https://avatars.githubusercontent.com/u/6184696?v=4",
      "profile": "http://www.professorisidro.com.br/",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "levysiqueira",
      "name": "Fabio Levy Siqueira",
      "avatar_url": "https://avatars.githubusercontent.com/u/1347668?v=4",
      "profile": "https://levysiqueira.com.br/",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "lvelho",
      "name": "Luiz Velho",
      "avatar_url": "https://avatars.githubusercontent.com/u/3164819?v=4",
      "profile": "http://lvelho.impa.br/",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "Geofisicando",
      "name": "Geofisicando",
      "avatar_url": "https://avatars.githubusercontent.com/u/39841723?v=4",
      "profile": "https://dirack.github.io/",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "wagner-rambo",
      "name": "WR Kits",
      "avatar_url": "https://avatars.githubusercontent.com/u/18622371?v=4",
      "profile": "http://wrkits.com.br/",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "bdouram",
      "name": "Bruno Miranda",
      "avatar_url": "https://avatars.githubusercontent.com/u/31232196?v=4",
      "profile": "https://bdouram.github.io/",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "professorguanabara",
      "name": "Gustavo Guanabara",
      "avatar_url": "https://avatars.githubusercontent.com/u/66076428?v=4",
      "profile": "https://github.com/professorguanabara",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "techtuxbr",
      "name": "Victor Lima",
      "avatar_url": "https://avatars.githubusercontent.com/u/25886341?v=4",
      "profile": "https://github.com/techtuxbr",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "lucasnhimi",
      "name": "Lucas Nhimi",
      "avatar_url": "https://avatars.githubusercontent.com/u/54808138?v=4",
      "profile": "https://github.com/lucasnhimi",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "oliveira-michel",
      "name": "oliveira-michel",
      "avatar_url": "https://avatars.githubusercontent.com/u/48107652?v=4",
      "profile": "https://github.com/oliveira-michel",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "willianjusten",
      "name": "Willian Justen ",
      "avatar_url": "https://avatars.githubusercontent.com/u/3991845?v=4",
      "profile": "http://willianjusten.com.br/",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "kterra",
      "name": "Kizzy Terra ",
      "avatar_url": "https://avatars.githubusercontent.com/u/6809851?v=4",
      "profile": "https://youtube.com/programacaodinamica",
      "contributions": [
        "video"
      ]
    },
    {
      "login": "andrewarosario",
      "name": "Andrew Rosário",
      "avatar_url": "https://avatars.githubusercontent.com/u/21269337?v=4",
      "profile": "https://andrewrosario.medium.com/",
      "contributions": [
        "video"
      ]
    }
  ],
  "contributorsPerLine": 7
}


================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: [@Universidade-Livre, @Camilotk]


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Código de Conduta

A UBL é um ambiente onde todos os que aprendem e contribuem podem se sentir seguros e acolhidos. Este documento define as políticas e valores da nossa comunidade.
# Regras
* Aprenda e ajude os outros a aprenderem.
* Seja gentil e educado com os seus colegas.
* Critique ideias, não pessoas.
* Discuta de forma pública. Evite mandar mensagens diretas para as pessoas, a menos que elas peçam.
* Faça perguntas; não pergunte se pode perguntar. Não precisa escrever "Tem alguém que pode me ajudar com X?" Simplesmente pergunte sobre X.
# Proibições
* Nenhuma violência ou ameaça de violência de qualquer tipo.
* Nenhuma linguagem ou ação sexista, racista, homofóbica, transfóbica, ou qualquer outra que seja preconceituosa ou discriminatória; isso inclui piadas.
* Nenhum assédio sexual, incluindo avanços sexuais indesejados ou comentários ofensivos sobre o sexo de alguém.
* Nenhum palavrão ou xingamento contra outras pessoas (mas pode usar palavrões e xingamentos sobre o código, IDE, linguagem, hardware ou física).
* Nenhum material impróprio para menores. Isso inclui nudez, gore, ou qualquer outra imagem que possa ser perturbadora.
* Nenhuma divulgação de informações privadas de outra pessoa sem a sua permissão (doxxing).
* Nenhum assédio ou intimidação, online ou fora da internet.
* Nenhum spam, trollagem, provocação, ou qualquer outra coisa que atrapalhe a paz.
* Nenhum nome de usuário inadequado. Os moderadores irão mudar o seu nome se ele for considerado impróprio para menores ou ofensivo.
* Nenhuma defesa ou ameaça de qualquer um dos comportamentos proibidos.
# Denúncia e Moderação
No servidor da UBL no Discord, os usuários podem usar @Moderação e @Admin para alertar a equipe de moderação sobre algum problema em um canal.

No GitHub você pode nos marcar diretamente em qualquer issue ou PR sobre uma violação.

Se você vir algum comportamento que viole o Código de Conduta, denuncie-o à equipe de moderação o mais rápido possível, seja de forma privada ou pública.

A violação dos termos deste Código de Conduta terá consequências que dependerão de a) a gravidade da violação, e b) o histórico de violações. As possíveis consequências são: silenciamento temporário, expulsão da participação, banimento temporário ou permanente de toda a participação futura na comunidade.

Se você se sentir injustiçado, você pode contatar um moderador ou organizador da comunidade e explicar o seu problema. O seu problema será resolvido por consenso dos moderadores.

# Atribuição
Partes deste Código de Conduta foram inspiradas pelos seguintes:
* [Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)
* [Rust Lang Code of Conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)
* O Código de Conduta do OSSU, derivado do [Código de Conduta do Fórum FrontEnd BR](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)


================================================
FILE: CONTRIBUTING.md
================================================
# Como contribuir

## Ajudar outros estudantes

O aprendizado sempre é catalisado por ter pessoas engajadas no mesmo objetivo. Você pode ser a pessoa que pode fazer a diferença para alguém que está começando a estudar agora. Quando alguém novo chegar no Discord, pergunte quem ela é... interaja e dê incentivo para outros estudantes. Quando outra pessoa estiver começando a estudar ou fazendo um curso, porque não estudar junto? Colaborando e ajudando outros estudantes você está ajudando a criar uma experiência de aprendizado melhor para todos, incluindo você.

## Feedback

Se você está seguindo o Curso é de grande valor para nós saber como está sendo a sua experiência, estamos abertos a saber os pontos positivos, negativos e como podemos melhorar para cada vez mais conseguir entregar um trabalho de excelência para todos os estudantes. Para fazer isso, a melhor forma é através do nosso servidor no Discord.

## Revisão de texto

Todos os textos inclusive esse podem conter erros, frases que podem ser escritas de forma mais compreensível ou mal formadas, com erros de apresentação... quando encontrar um erro como esses você pode corrigi-lo e então abrir uma Pull Request ou então abrir uma issue para que outra pessoa possa corrigir.

## Divulgação

Ajudar esse projeto a chegar em mais pessoas é parte essencial para que possamos ajudar a oferecer a oportunidade de acesso ao maior número de pessoas possível. Toda a forma de divulgação é importante e valorizamos muito que apresente o projeto para outras pessoas seja através de grupos, redes sociais, palestras, eventos... enfim, como tiver oportunidade.

## Conteúdo

Caso você conheça conteúdos relevantes e gratuitos em Português que ainda não consta na nossa grade, abra uma issue falando mais a respeito. Caso seja criador de conteúdo sobre temas relacionados à Ciência da Computação e deseja produzir algum conteúdo que pode ser relevante para a grade, abra uma issue nos informando como podemos ajudar. 

## Revisão de PR

Opinar e revisar em PRs é importante para que possamos ter mais opiniões sobre as mudanças que estão sendo submetidas. Caso deseje fazer a revisão de uma Pull Request em aberto, basta participar da discussão na mesma.

## Mudanças Pedagógicas

Qualquer pessoa que tenha interesse em educação e deseja propor melhorias e mudanças pedagógicas no currículo é bem-vinda a abrir uma issue a respeito.


================================================
FILE: FAQ.md
================================================
# Perguntas Frequentes

Esta página tem como objetivo responder perguntas que frequentemente recebemos. Caso a sua dúvida não foi respondida aqui você pode tentar nos enviá-la pelo  [Discord](https://discord.gg/wymGhmf7BT). Caso consideramos importante para muitas pessoas a sua pergunta ou então ela já tenha sido perguntada outras vezes podemos adicionála aqui.

## Sumário
1. [Haverão mais cursos além de Ciência da Computação?](#haver%C3%A3o-mais-cursos-al%C3%A9m-de-ci%C3%AAncia-da-computa%C3%A7%C3%A3o)
2. [A UBL oferece algum diploma?](#a-ubl-oferece-algum-diploma)
3. [O Camilo comanda a UBL?](#o-camilo-comanda-a-ubl)
   

## Questões

### Haverão mais cursos além de Ciência da Computação?

Sim, a ideia é que existam mais cursos além de Ciência da Computação. Futuramente, estamos pensando em experimentar expandir também para outras áreas além de TI. Mas estamos estudando as possibilidades com calma.

### A UBL oferece algum diploma?
Não. UBL é um guia de recursos educacionais que tem como objetivo auxiliar para que você aprenda os assuntos que normalmente são estudados em um curso universitário. Algumas pessoas envolvidas com a UBL podem estar trabalhando em outras empresas que podem oferecer algum tipo de certificação, mas a Universidade Livre Brasileira não está envolvida com qualquer emissão de certificado ou certificação.

### O [Camilo](https://github.com/Camilotk) comanda a UBL?
Não. A UBL tem 5 pessoas na Administração com igual poder de decisão; não é uma ditadura.


================================================
FILE: HELP.md
================================================
# Conseguindo Ajuda

### Procure nas Perguntas Frequentes (FAQ)

Por favor, cheque se sua dúvida já não foi respondida nas [Perguntas Frequentes](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/FAQ.md).

### Pergunte no Discord

[![Discord](https://img.shields.io/discord/866378348368625704.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/wymGhmf7BT) Discord é um serviço online de chat entre comunidades, muito similar a outras ferramentas como o IRC e o Slack. Lá você pode encontrar outros estudantes da UBL que podem te ajudar.

#### Problemas Específicos

Se você precisa de ajuda em algum conteúdo de um curso ou está tendo problemas técnicos com a plataforma, primeiro tente encontrar os recursos de dúvidas que o curso e/ou a plataforma oferece (por exemplo: os fóruns de discussão no Coursera e etc). Caso isso não resolva ou você precise de ajuda após isso, poste no nosso Discord. Em seu post sobre o problema, por favor informe todas as soluções que você tentou previamente para solucionar o problema e como podemos encontrá-lo.

#### Problemas Gerais

Se você tem problemas com o conteúdo ou o material de qualquer um dos cursos, talvez deseje buscar uma alternativa de curso para o mesmo conteúdo, ou prefere livros sobre o assunto ao invés de vídeos, o nosso Discord é o lugar certo para encontrar as pessoas que podem ter boas sugestões. Seu problema pode justamente ser a próxima melhoria na nossa grade! 


================================================
FILE: LICENSE
================================================
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.


================================================
FILE: README.md
================================================
<!--
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://raw.githubusercontent.com/Universidade-Livre/imagens/refs/heads/main/outras/placeholder.png">
</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://books-sol.sbc.org.br/index.php/sbc/catalog/view/134/586/904)
- [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](https://github.com/Universidade-Livre/ciencia-da-computacao/blob/main/extras/books.md).


**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 Telegram! [![Telegram](https://telegram-badge.vercel.app/api/telegram-badge?channelId=%40universidadebrasileiralivre&style=social&label=Telegram&color=2AABEE)](https://t.me/universidadebrasileiralivre) Nele, você poderá encontrar e interagir com outros estudantes. Por que não se apresenta lá agora mesmo? [Vem para o Telegram](https://t.me/universidadebrasileiralivre).
- 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://youtube.com/playlist?list=PLcoJJSvnDgcKpOi_UeneTNTIVOigRQwcn&si=RT7FxhHXAYGUuYJD)  | - | [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://youtube.com/playlist?list=PLcoJJSvnDgcKpOi_UeneTNTIVOigRQwcn&si=RT7FxhHXAYGUuYJD) | [Livros de Estruturas de Dados](extras/bibliography/08_data_structure.md) |
| 2 | [Introdução à Ciência da Computação com Python II](https://youtube.com/playlist?list=PLcoJJSvnDgcKpOi_UeneTNTIVOigRQwcn&si=RT7FxhHXAYGUuYJD) | [Introdução à Ciência da Computação com Python I](https://youtube.com/playlist?list=PLcoJJSvnDgcKpOi_UeneTNTIVOigRQwcn&si=RT7FxhHXAYGUuYJD) | [Livros de Introdução a Programação](extras/bibliography/09_python.md) |
| 2 | [Laboratório de Programação Orientada a Objetos I](https://www.youtube.com/playlist?list=PLTeQ2u81sjqfsFNWrUCIoqJZBSJrai8M7) | [Introdução à Ciência da Computação com Python I](https://youtube.com/playlist?list=PLcoJJSvnDgcKpOi_UeneTNTIVOigRQwcn&si=RT7FxhHXAYGUuYJD) | [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_computing.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 suas aplicações. Além disso, você deve estar mais preparado para escolher uma área de especialidade. Abaixo disponibilizamos algumas "carreiras" que o estudante pode escolher para seguir com sua especialização em Ciência da Computação. Sua estrutura deverá ser similar ao disposto na grade principal da UBL. Note que o termo "especialização" não é empregado no mesmo sentido de *pós-graduação lato sensu*, e ao invés disso se refere a uma gama de conteúdos que, se empregados na grade principal, a tornariam menos geral no que diz respeito aos conteúdos base que espera-se de todo cientista da computaçã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`

## Ferramentas para auxiliar a praticar

As ferramentas abaixo ajudam a acelerar seu aprendizado com exercícios e trilhas, mas o que mais fortalece seu portfólio e empregabilidade é criar projetos próprios que resolvam problemas reais.

Plataforma | Conteúdos
:-- | --: 
[freeCodeCamp](https://www.freecodecamp.org/learn)  | Trilhas com projetos práticos de Web, JS, APIs e dados para montar portfólio.
[Exercism](https://exercism.org/)                   | Exercícios em dezenas de linguagens com mentoria e CLI para feedback estruturado.
[Kaggle](https://www.kaggle.com/learn)              | Projetos práticos de Data Science e IA. Oferece cursos, competições e notebooks interativos com Python e SQL.
[HackerRank](https://www.hackerrank.com/)           | Preparação para entrevistas técnicas. Focado em desafios de algoritmos, estruturas de dados e diversas linguagens como Java e SQL.
[LeetCode](https://leetcode.com/)                   | Treinamento intensivo para entrevistas de emprego em big techs. Oferece um vasto banco de problemas, planos de estudo e discussões em fóruns.
[SadServers](https://sadservers.com/)               | Solução de problemas em servidores Linux. Simula cenários reais de erros para praticar administração de sistemas, infraestrutura e análise de logs.
[SQLZoo](https://sqlzoo.net/)                       | Exercícios progressivos de SQL direto no navegador, ideais para fixar consultas e joins.

## 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
  - [Rotfuchs von Vulpes](https://github.com/Rotfuchs-von-Vulpes): Admin da Comunidade
  - [Emanuel Castelo](https://github.com/elvcastelo): Admin da Comunidade 
  - [Igor Vinoski](https://github.com/igorvinoski): Admin da Comunidade 
  - [Leonardo Fiedler](https://github.com/leonardoFiedler): Moderador da Comunidade
  - [Jefferson Quesado](https://github.com/jeffque): Moderador da Comunidade
  - [Aldair Meneses](https://github.com/aldair-meneses): Moderador da Comunidade
  - [Gabriel Carvalho](https://github.com/GabrielCASilva): Moderador da Comunidade
  - [Diego Lucas](https://github.com/DiegoBreeg): 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!*


================================================
FILE: extras/bibliography/01_digital_circuits.md
================================================
# Livros: Circuitos Digitais

<hr>

## Sistemas Digitais: Princípios e Aplicações

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/d901fa36-0506-436b-b9df-36bd756343bf" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistemas Digitais: Princípios e Aplicações</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Ronald J. Tocci, Neal S. Widner, Gregory L. Moss.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2019</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>12.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788543025018</td>
    </tr>
</table>

### Descrição

<p align="justify">
Este livro promove um estudo abrangente dos princípios e técnicas de sistemas digitais modernos. Além de ensinar os fundamentos do tema, cobre em detalhes tanto métodos modernos quanto tradicionais de aplicação de projetos digitais e técnicas de desenvolvimento, inclusive como gerenciar um projeto em nível de sistema. Nesta 12ª edição tecnologias obsoletas foram substituídas ou abreviadas para oferecer somente conteúdo apropriado aos sistemas modernos. O Capítulo 1 foi extensivamente revisado e atualizado e novos problemas e exemplos foram adicionados em todo o livro. Sistemas digitais é leitura fundamental para cursos de engenharia, assim como para disciplinas ministradas nos cursos de automação, ciência da computação e eletrônica, entre outros.
</p>

<hr>

## Organização Estruturada de Computadores

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/0f202870-b133-45a5-8c4d-8fed10e7883c" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Organização Estruturada de Computadores</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Tanenbaum, Andrews S.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2013</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788581435398</td>
    </tr>
</table>

### Descrição

<p align="justify">
 Esta sexta edição traz o que há de mais moderno em termos de organização estruturada de computadores, apresentando as terminologias, tecnologias e tendências mais recentes em organização e arquitetura de computadores. Com novos exemplos e discussões sobre x86, microcontroladores AVR e arquitetura ARM, ''Organização estruturada de computadores'' é uma obra indispensável para estudantes de ciência da computação, engenharia da computação, análise e desenvolvimento de sistemas e sistemas de informação, bem como para profissionais da área. 
</p>

<hr>

## Sistemas Digitais: Fundamentos e Aplicações

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/9f3c1ba8-7277-46be-b4e2-2c0c27cca084" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistemas Digitais: Fundamentos e Aplicações</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Floyd, Thomas L. </td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2007</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>9.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788577801077</td>
    </tr>
</table>

### Descrição

<p align="justify">
Best-seller que, ao longo de 25 anos, vem proporcionando ao estudante o desenvolvimento de habilidades práticas. É uma obra completa e seu ponto forte são as inúmeras aplicações reais dos sistemas digitais nas indústrias. Conta também com material de apoio para os professores em português e em inglês. O livro inclui dois CD-ROMs. 
</p>


================================================
FILE: extras/bibliography/02_discrete_mathematics.md
================================================
# Livros: Matemática Discreta

<hr>

## Matemática Concreta: Fundamentos Para Ciência Da Computação

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/460b236b-1aff-4b32-888e-87470fa6a3e1" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Matemática Concreta. Fundamentos Para Ciência Da Computação</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>RGRAHAM, R.L.; KNUTH, D.E.; PATASHNIK, O.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>1995</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521610403</td>
    </tr>
</table>

### Descrição

<p align="justify">
Segunda edição revisada e atualizada. Introduz a matemática para suporte de programação e análise de algoritmos. Apresenta teoria para resolução de problemas complexos. O livro contém 500 exercícios divididos em seis categorias. Aborda, entre outros tópicos, funções dos números inteiros, teoria elementar dos números e probabilidade.
</p>

<hr>

## Fundamentos Matemáticos para a Ciência da Computação: Matemática Discreta e suas aplicações

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/e3ab6dea-7590-4d9b-bead-77351c50454d" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Fundamentos matemáticos para a ciência da computação: matemática discreta e suas aplicações</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>GERSTING, Judith L.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2016</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>7.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521632597</td>
    </tr>
</table>

### Descrição

<p align="justify">
Assim como a representação binária é o fundamento matemático do próprio computador, as ideias da matemática discreta são os fundamentos matemáticos da ciência da computação. Esta sétima edição continua a abordagem amigável das edições anteriores dirigida ao estudante, com explicações claras, muitos exemplos e auxílios para sua aprendizagem, como problemas práticos, lembretes, objetivos dos capítulos, revisões das seções e revisões dos capítulos. Foram adicionadas muitas características novas, e uma lista completa delas pode ser encontrada no prefácio deste livro. Uma inovação desta edição de Fundamentos Matemáticos para a Ciência da Computação – Matemática Discreta e Suas Aplicações é que, no final do livro, são dadas as respostas de todos os exercícios ímpares, em vez de apenas as respostas de alguns exercícios selecionados. Quando o exercício pede uma demonstração, é dada a demonstração completa. Em outros casos, é dada apenas uma resposta, não necessariamente a solução. O Guia de Estudos Online, disponível no site da LTC Editora – GEN | Grupo Editorial Nacional, mediante cadastro, contém amostras de problemas com soluções passo a passo que correspondem a muitas das técnicas nos finais das seções do livro. Cada técnica que tem uma página correspondente na internet está marcada com um ícone no texto.
</p>

<hr>

## Matemática Discreta: Uma Introdução

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/4ee89d33-8392-460d-a83c-77b3ec22abd9" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Matemática Discreta: Uma Introdução</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>SCHEINERMAN, E.R.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2016</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788522125340</td>
    </tr>
</table>

### Descrição

<p align="justify">
Dirigida a interessados em matemática discreta de maneira geral, esta obra apresenta uma visão geral de toda a matemática a partir da perspectiva da matemática discreta. O livro cobre desde a natureza da matemática (definições, teoremas, provas e contraexemplos), lógica, conjuntos e relações, até técnica avançadas de prova, probabilidades discretas, teoria dos números, teoria dos grafos e álgebra abstrata, incluindo aplicações em criptografia. Esta terceira edição conta com muitos problemas e exercícios que exploram as interligações entre os diversos temas tratados.
</p>


================================================
FILE: extras/bibliography/03_programming_languages.md
================================================
# Livros: Linguagens de Programação

> #### ⚠️ Infelizmente, nessa seção a bibliografia está em inglês. Caso conheça materiais de qualidade sobre o assunto em Português, abra um PR.

<hr>

## Concepts, Techniques, and Models of Computer Programming

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/cd239f3f-04a6-4932-9c45-ed7e7104ee0d" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Concepts, Techniques, and Models of Computer Programming</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Peter Van Roy & Seif Haridi</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2004</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780262220699</td>
    </tr>
</table>

### Descrição

<p align="justify">
"This is a fascinating book. It's been almost 20 years since Abelson and Sussman revolutionized the teaching of computer science with their Structure and Interpretation of Computer Programs. In all that time, there have been several books (some of them quite good) following SICP's ideas pretty closely, and of course many books following the old pedagogy in which the details of a programming language are the focus, with few deep ideas. But this is the first book I've seen that focuses on big ideas and multiple paradigms, as SICP does, but chooses a very different core model (declarative programming) the first real intellectual competition to Abelson and Sussman. I wouldn't have made all the choices Van Roy and Haridi have made, but I learned a lot from reading this book, and I hope it gets a wide audience." --Brian Harvey, Lecturer, Computer Science Division, University of California, Berkeley </p>

<hr>

## Types and Programming Languages

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/526cc6e6-37d6-417b-9075-42d265859caa" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Types and Programming Languages</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Benjamin Pierce</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2009</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780123745149</td>
    </tr>
</table>

### Descrição

<p align="justify">
--Robin Milner, Computer Laboratory, University of Cambridge
</p>
<p align="justify">
" Types are the leaven of computer programming; they make it digestible. This excellent book uses types to navigate the rich variety of programming languages, bringing a new kind of unity to their usage, theory, and implementation. Its author writes with the authority of experience in all three of these aspects." --Robin Milner, Computer Laboratory, University of Cambridge
</p>
<p align="justify">
" Types are the leaven of computer programming; they make it digestible. This excellent book uses types to navigate the rich variety of programming languages, bringing a new kind of unity to their usage, theory, and implementation. Its author writes with the authority of experience in all three of these aspects. " --Robin Milner, Computer Laboratory, University of Cambridge
</p>
<p align="justify">
"Types are the leaven of computer programming; they make it digestible. This excellent book uses types to navigate the rich variety of programming languages, bringing a new kind of unity to their usage, theory, and implementation. Its author writes with the authority of experience in all three of these aspects."--Robin Milner, Computer Laboratory, University of Cambridge
</p>

<hr>

## Programming Language Pragmatics

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/59ab1fe7-4387-46c0-97b5-7f43b9f382a9" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Programming Language Pragmatics</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Michael L. Scott</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2015</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788522125340</td>
    </tr>
</table>

### Descrição

<p align="justify">
 Programming Language Pragmatics, Fourth Edition, is the most comprehensive programming language textbook available today. It is distinguished and acclaimed for its integrated treatment of language design and implementation, with an emphasis on the fundamental tradeoffs that continue to drive software development.
</p>
<p align="justify">
The book provides readers with a solid foundation in the syntax, semantics, and pragmatics of the full range of programming languages, from traditional languages like C to the latest in functional, scripting, and object-oriented programming.  This fourth edition has been heavily revised throughout, with expanded coverage of type systems and functional programming, a unified treatment of polymorphism, highlights of the newest language standards, and examples featuring the ARM and x86 64-bit architectures.
</p>
<ul>
    <li>Updated coverage of the latest developments in programming language design, including C & C++11, Java 8, C# 5, Scala, Go, Swift, Python 3, and HTML 5</li>
    <li>Updated treatment of functional programming, with extensive coverage of OCaml</li>
    <li>New chapters devoted to type systems and composite types</li>
    <li>Unified and updated treatment of polymorphism in all its forms</li>
    <li>New examples featuring the ARM and x86 64-bit architectures</li>
</ul>



================================================
FILE: extras/bibliography/04_intro_python.md
================================================
# Livros: Introdução a Programação

<hr>

## Pense em Python: Pense como um Cientista da Computação

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/530c7146-306e-423c-bc0b-f287d71b4dbf" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Pense em Python: Pense como um Cientista da Computação</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>DOWNEY, B.A.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2016</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788575225080</td>
    </tr>
</table>

### Descrição

<a href="https://penseallen.github.io/PensePython2e/">Disponível gratuitamente on-line em Português aqui</a>

<p align="justify">
Se você quer aprender como programar, usar Python é uma ótima forma de começar. Este guia prático apresenta a linguagem passo a passo, começando com conceitos de programação básicos antes de chegar a funções, recursividade, estruturas de dados e design orientado a objeto. Esta edição e seu código de apoio foram atualizados para o Python 3. Com os exercícios em cada capítulo, você testará conceitos de programação conforme os aprende. ''Pense em Python'' é ideal para estudantes de ensino médio e universitários ou para autodidatas, estudantes educados em casa e profissionais que precisam aprender fundamentos de programação. Os principiantes que queiram apenas ter uma noção básica, podem começar a usar Python em um navegador. Comece com o básico, incluindo sintaxe e semântica da linguagem. Tenha uma definição clara de cada conceito de programação. Aprenda sobre valores, variáveis, instruções, funções e estruturas de dados em uma progressão lógica. Descubra como trabalhar com arquivos e bancos de dados. Entenda objetos, métodos e programação orientada a objeto. Use técnicas de depuração para corrigir erros de sintaxe, tempo de execução e semânticos. Explore funções, estruturas de dados e algoritmos com uma série de estudos de caso. O código de exemplo deste livro é mantido em um repositório GitHub público, no qual os usuários podem carregá-lo e modificá-lo facilmente.
</p>

<hr>

## Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ e Java

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/5a642c5a-82c5-444b-9b05-cd60bc95bf5b" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ e Java</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi de.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2012</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788564574168</td>
    </tr>
</table>

### Descrição

<p align="justify">
Referência na área, Fundamentos da programação de computadores: algoritmos, PASCAL, C/C++ (padrão ANSI) e JAVA traz em sua nova edição muitas novidades. Mantendo a estrutura lógica que o consagrou, o livro revisa as classes JAVA e trata de vetores e matrizes dinâmicas, bem como aborda o padrão ANSI para as resoluções em C/C++. Além disso, apresenta dois capítulos inéditos: Introdução à programação orientada a objetos e Desafios. Tudo isso somado aos diversos exemplos, problemas e analogias apresentados fazem desta obra ideal para alunos de ciência da computação, engenharia da computação, sistemas de informação, análise de sistemas e desenvolvimento de sistemas.
</p>

<hr>

## Introdução a Estruturas de Dados: com técnicas de programação em C

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/864e971d-7bcd-4362-92ec-3160f0bf2917" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Introdução a Estruturas de Dados: com técnicas de programação em C</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>CELES, Waldemar; CERQUEIRA, Renato; RANGEL, José Lucas.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2016</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788535283457</td>
    </tr>
</table>

### Descrição

<p align="justify">
A primeira edição do livro introduz programação em C e apresenta as seguintes estruturas de dados: vetor, matriz, lista encadeada, pilha, fila, árvore binária, árvore binária de busca, árvore com número variável de filhos e tabela de dispersão (hash). A 2ª edição propõe-se a ideia de estender a obra, apresentando estruturas de dados mais avançadas, a saber: vetor dinâmico, vetor de bits, lista de prioridade (heap), árvore AVL, árvore B, união-busca e grafo. Apresentação das estruturas de dados de forma bem objetiva, pragmática, para a construção de soluções de problemas diversos; Introdução das estruturas de dados mais utilizadas para o desenvolvimento de programas.
</p>


================================================
FILE: extras/bibliography/05_analytic_geometry.md
================================================
# Livros: Geometria Analítica

<hr>

## Geometria Analítica: Um Tratamento Vetorial

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/4c6f63d6-a1e9-4990-a7d0-e9f136dff079" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Geometria Analítica: Um Tratamento Vetorial</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>BOULOS, P., CAMARGO, I.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2004</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788587918918 </td>
    </tr>
</table>

### Descrição

<p align="justify">
Nova edição de Geometria Analítica - Um Tratamento Vetorial confirma sua posição como um clássico das ciências exatas. Ampliado e completamente revisto pelos autores, o livro traz centenas de novos exemplos e exercícios, além de ilustrações totalmente refeitas. Possui novo layout que proporciona uma leitura mais agradável e facilita a compreensão e a localização de tópicos e exercícios, mas a estrutura didática bem-sucedida das edições anteriores foi cuidadosamente mantida. Escrita em linguagem clara e objetiva, este livro traz respostas para os exercícios e estratégias de solução, o que o torna um guia essencial para o estudo da Geometria.
</p>

<hr>

## Matrizes, vetores : Geometria analítica

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/1a028d7d-3678-464c-a84b-cef7eb28719b" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Matrizes, vetores : Geometria analítica</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>CAROLI, A., CALLIOLI, C.A, FEITOSA, M.O..</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>1984</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>17.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521304067</td>
    </tr>
</table>

### Descrição

<p align="justify">
O presente trabalho destina-se principalmente aos alunos das Faculdades de Engenharia e Filosofia, e de outras Faculdades de cujo currículo constem cursos de Geometria Analítica e Cálculo Vetorial.
</p>


================================================
FILE: extras/bibliography/06_intro_calculus.md
================================================
# Livros: Cálculo I

<hr>

## Cálculo: Volume I

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/e276f06a-91a5-454e-a174-35f8b455b8a3" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Cálculo: Volume I</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>STEWART, James.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>9.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9786555584011</td>
    </tr>
</table>

### Descrição

<p align="justify">
Nesta 9ª edição, assim como em todas as anteriores, os autores mantêm a tradição de escrever um livro que auxilie os estudantes a descobrir o cálculo – tanto por sua utilidade prática, como por sua surpreendente beleza. O intuito é transmitir ao leitor uma ideia da utilidade do cálculo, assim como promover o desenvolvimento de sua habilidade técnica. Ao mesmo tempo, os autores empenharam-se em valorizar a beleza intrínseca do assunto. Não há dúvida de que Newton experimentou uma sensação de triunfo quando fez suas grandes descobertas. O objetivo desta obra é fazer que os estudantes compartilhem um pouco desse entusiasmo.
</p>

<hr>

## Um Curso de Cálculo - Vol. 1

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/2b2bf64d-ed6e-47ba-ab6b-a075e6990cec" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Um Curso de Cálculo - Vol. 1</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>GUIDORIZZI, H.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2018</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521635437</td>
    </tr>
</table>

### Descrição

<p align="justify">
Guidorizzi, o conteúdo integral para o seu diferencial! De Hamilton Luiz Guidorizzi, Um Curso de Cálculo apresenta recursos pedagógicos digitais que aprofundam e fixam a aprendizagem dos estudantes de Cálculo e auxiliam aulas de professores da disciplina. Este primeiro volume aborda temas como limite, derivada, integral de funções, entre outros. É indicado para alunos de graduação de Matemática, Engenharia e Ciências Exatas que cursam Cálculo Diferencial e Integral e disciplinas de Cálculo relacionadas
</p>

<hr>

## Cálculo com Geometria Analítica

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/188db027-a078-4f93-b0e4-c7830a082dff" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Cálculo com Geometria Analítica</td>
    </tr>
    <tr>
        <th>Autores</th>  
        <td>SWOKOWSKI, E.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>1988</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>‎9780074504116</td>
    </tr>
</table>

### Descrição

<p align="justify">
O objetivo desta obra é servir a todos os cursos superiores em qualquer nível. Foi projetado particularmente para o curso-padrão de três semestres para estudantes de Ciências, Engenharia ou Matemática. O pré-requisito requerido é Álgebra e Geometria do 2º grau.
</p>


================================================
FILE: extras/bibliography/07_intro_linear_algebra.md
================================================
# Livros: Álgebra Linear I

<hr>

## Álgebra Linear

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/7e536a94-c2aa-4126-afda-3ebe255b1cfd" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Álgebra Linear</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>BOLDRINI, José Luiz et al.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>1984</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788529402024 </td>
    </tr>
</table>

### Descrição

<p align="justify">
Visto que os alunos que cursam pela primeira vez esta disciplina freqüentemente a julgam muito abstrata e não vêem como podem utilizar os conceitos básicos, os autores do livro, experientes professores da UNICAMP, preocuparam-se em enfatizar o uso dos conceitos no decorrer de todo o texto. Por ser um curso introdutório, os pré-requisitos para a utilização deste livro são os tópicos de Matemática normalmente estudados no Ensino Médio.
</p>

<hr>

## Álgebra Linear

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/772690f2-0aa2-43a6-98ab-506fe0d740d1" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Álgebra Linear</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>LIPSCHUTZ, Seymour; LIPSON, Marc.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2011</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788577808335</td>
    </tr>
</table>

### Descrição

<p align="justify">
Este livro traz uma introdução à Álgebra Linear. Segue a didática da Coleção Schaum: cada capítulo inicia com definições, princípios e teoremas, e com material descritivo e ilustrativo, avança para um conjunto de exercícios graduais resolvidos e termina com problemas complementares para uma revisão completa. Inclui Apêndices com módulos e polinômios sobre um corpo, produtos tensorial e exterior de espaços vetoriais e ainda a inversa generalizada de Moore-Penrose.
</p>

<hr>

## Álgebra Linear 

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/a8c2a15d-b8e4-44e9-85d4-4b043b7b81b1" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Álgebra Linear</td>
    </tr>
    <tr>
        <th>Autores</th>  
        <td>LANG, S.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2003</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>‎9788573932539</td>
    </tr>
</table>

### Descrição

<p align="justify">
Àlgebra linear é direcionado a um curso de um único período ltivo em nível junior ou sênior. Inicia com uma exposição da teoria básica de espaços vetoriais e prossegue explicando os toremas fundamentais para aplicações lineares, incluindo autovetores e autovalores, formas hermitianas e quadráticas, diagonalização de matrizes e aplicações lineares unitárias, hermetianas e simátricas, triangulação e forma canônica de jordan. O livro inclui ainda um capitulo útil sobre conjuntos convexos e o teorema de dimensão finita de krein-milman. A apresentação é voltada ao estudante que já teve algum contato com a teoria elementar de matrizes, determinantes e aplicações lineares. Contudo, o livro é, obviamente, auto-suficiente. Nesta nova edição, vários trechos do livro foram reescritos, reorganizados e novos exercícios foram acrescentados.
</p>


================================================
FILE: extras/bibliography/08_data_structure.md
================================================
# Livros: Estruturas de Dados

<hr>

## Algoritmos - Teoria e Prática

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/3a32e2d5-a292-47e2-b1fe-7fd64c828824" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Algoritmos - Teoria e Prática</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>CORMEN, T.; LEISERSON, C.; RIVEST, R.; STEIN, C.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2024</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788595159907</td>
    </tr>
</table>

### Descrição

<p align="justify">
Best-seller mundial sobre o tema, Algoritmos – Teoria e Prática chega à nova edição! Com o desenvolvimento tecnológico cada vez mais avançado, saber trabalhar com algoritmos tem se tornado um importante diferencial para estudantes e profissionais, isso porque, atualmente, os algoritmos são aplicáveis em diversas situações – nas áreas de tecnologia, engenharia, saúde, finanças, educação, entre outras –, das tarefas mais simples às mais complexas. Dessa forma, com sua didática e combinação única de rigor e abrangência, a proposta deste livro é tornar os algoritmos uma ferramenta acessível a leitores de todos os níveis de conhecimento. A obra combina teoria e prática para fornecer uma compreensão sólida dos princípios fundamentais dos algoritmos, ao mesmo tempo que fornece exemplos práticos e análises de complexidade. 
</p>

<p align="justify">
Além disso, abrange uma variedade de algoritmos, estruturas de dados e técnicas de design de algoritmos. Totalmente atualizada, esta quarta edição apresenta as seguintes novidades: 
</p>
<ul>
<li>Capítulos inéditos sobre correspondências em grafos bipartidos, algoritmos on-line e aprendizado de máquina (machine learning);</li>
<li>Novo material sobre temas como resolução de equações de recorrência, tabelas de espalhamento (hash), funções potenciais e matrizes de sufixo;</li>
<li>Dos quase 1.000 exercícios disponíveis, 140 são inéditos; e dos 162 problemas, 22 são novos;</li>
<li>Notas e bibliografia atualizadas para refletir os desenvolvimentos da área.</li>
</ul>

<p align="justify">
Os capítulos são relativamente independentes, e cada um apresenta um algoritmo, uma técnica de projeto, uma área de aplicação ou um tópico relacionado. Além disso, os algoritmos são descritos de maneira simples, bastante objetiva e em um pseudocódigo projetado para ser lido por qualquer usuário com conhecimento básico de programação, independentemente da linguagem de programação utilizada. O conteúdo foi planejado para cursos de graduação e pós-graduação em algoritmos ou estruturas de dados, bem como para especialização e atualização de profissionais da área.
</p>

<hr>

## Estruturas de Dados e Seus Algoritmos

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/0acfa186-c6a3-4b20-b4f7-7801328b14a2" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Estruturas de Dados e Seus Algoritmos</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>MARKENZON, L.; SZWARCFITER, J.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2010</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521617501</td>
    </tr>
</table>

### Descrição

<p align="justify">
“Um algoritmo é um processo sistemático para a resolução de um problema.” Com essa frase clara e direta inicia-se este Estruturas de Dados e Seus Algoritmos, que chega à terceira edição com um texto expandido, revisado e acrescido de dois novos capítulos. O objetivo primeiro da dupla de autores, porém, permanece: de forma amigável, mostrar diferentes estruturas de dados, dando ênfase aos seus algoritmos de manipulação e a alguns de seus aspectos matemáticos. Tendo em vista que este livro destina-se não somente a cursos de graduação, mas também a profissionais da área de desenvolvimento de software, as estruturas de dados que aparecem aqui estão entre as mais empregadas atualmente. Os temas dos novos capítulos introduzidos são ordenação e listas de prioridades avançadas. O novo capítulo de listas de prioridades avançadas inclui o estudo de estruturas como os heaps binomiais e os heaps de Fibonacci, entre outros. As listas de prioridades descritas nesse novo capítulo requerem tratamento matemático um pouco mais avançado do que as tradicionais. Contudo, elas apresentam resultados bastante satisfatórios, razão pela qual foram selecionadas para inclusão no livro. Além disso, o conhecimento de tais estruturas é relevante no contexto de cursos de pós-graduação. Estrutura de Dados e Seus Algoritmos nasceu de notas de aulas ministradas em mais de trinta anos de docência dos autores, e é hoje considerada obra de referência nos cursos a que se destina.
</p>

<hr>

## Algorithms

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/094189ee-36ce-44f3-9263-c6c01c9cf1f3" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Algorithms</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>SEDGEWICK, R.; WAYNE, K.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2011</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780321573513</td>
    </tr>
</table>

### Descrição

<p align="justify">
This fourth edition of Robert Sedgewick and Kevin Wayne’s Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide. This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing--including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.
</p>
<p align="justify">
The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.
</p>
<p align="justify">
The companion web site, algs4.cs.princeton.edu, contains
</p>

<ul>
    <li>An online synopsis</li>
    <li>Full Java implementations</li>
    <li>Test data</li>
    <li>Exercises and answers</li>
    <li>Dynamic visualizations</li>
    <li>Lecture slides</li>
    <li>Programming assignments with checklists</li>
    <li>Links to related material</li>
</ul>

<p align="justify">
The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.
</p>

<p align="justify">
Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
</p>



================================================
FILE: extras/bibliography/09_python.md
================================================
# Livros: Introdução a Programação II

<hr>

## Programação Orientada a Objetos com Java: Uma Introdução Prática Usando o BlueJ

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/a7813939-44b1-4820-828d-3c9390a2ca88" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Programação Orientada a Objetos com Java: Uma Introdução Prática Usando o BlueJ</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>KÖLLING, M.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2008</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788576051879 </td>
    </tr>
</table>

### Descrição

<p align="justify">
Com uma abordagem baseada na apresentação e no aprofundamento contínuo dos conceitos, "Programação orientada a objetos com Java" permite a transição natural para a prática da programação com o uso do ambiente BlueJ. Assim, ao mesmo tempo em que apresenta os conceitos fundamentais aos programadores iniciantes e conduz seu avanço para a programação avançada, torna-se também um guia para programadores mais avançados que querem migrar para a orientação a objetos.
</p>

<hr>

## Python Fluente: Programação Clara, Concisa e Eficaz

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/45cd6980-df3f-48b3-a423-be1c3fb1ca4d" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Python Fluente: Programação Clara, Concisa e Eficaz</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>RAMALHO, L.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2023</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9781492056355</td>
    </tr>
</table>

### Descrição

<a href="https://pythonfluente.com/">Disponível gratuitamente on-line em Português aqui</a>

<p align="justify">
A simplicidade de Python permite que você se torne produtivo rapidamente, porém isso muitas vezes significa que você não estará usando tudo que ela tem a oferecer. Com este guia prático, você aprenderá a escrever um código Python eficiente e idiomático aproveitando seus melhores recursos – alguns deles, pouco conhecidos. O autor Luciano Ramalho apresenta os recursos essenciais da linguagem e bibliotecas de Python mostrando como você pode tornar o seu código mais conciso, mais rápido e mais legível ao mesmo tempo.
</p>

<p align="justify">
Muitos programadores experientes tentam dobrar o Python para que ele se enquadre em padrões aprendidos com outras linguagens e jamais descobrem os recursos do Python que estão além de sua experiência. Com este livro, esses programadores Python aprenderão a ser totalmente proficientes em Python 3.
</p>

<hr>

## Introduction to Computation and Programming Using Python, Third Edition: With Application to Computational Modeling and Understanding Data

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/105b1ecf-fcb7-495b-83f8-2a7b25a76156" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Introduction to Computation and Programming Using Python, Third Edition: With Application to Computational Modeling and Understanding Data</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>GUTTAG, J. V.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780262542364</td>
    </tr>
</table>

### Descrição

<p align="justify">
This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including numpy, matplotlib, random, pandas, and sklearn. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data as well as substantial material on machine learning. 
</p>


================================================
FILE: extras/bibliography/10_object_orientation.md
================================================
# Livros: Orientação a Objetos

<hr>

## Java: como programar

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/e229f1d5-441b-42b3-83f1-b5932d6dd190" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Java: como programar</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>DEITEL, P; DEITEL, H.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2016</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>10.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788543004792 </td>
    </tr>
</table>

### Descrição

<p align="justify">
Milhões de alunos e profissionais aprenderam programação e desenvolvimento de software com os livros Deitel®. Java: como programar, 10ª edição, fornece uma introdução clara, simples, envolvente e divertida à programação Java com ênfase inicial em objetos. Destaques incluem: rica cobertura dos fundamentos com exemplos reais; apresentação com ênfase inicial em classes e objetos; uso com Java™ SE 7, Java™ SE 8 ou ambos; Java™ SE 8 abordado em seções modulares opcionais; lambdas, fluxos e interfaces funcionais usando métodos padrão e estáticos do Java SE 8; Swing e GUI do JavaFX: elementos gráficos e multimídia; conjunto de exercícios ''Fazendo a diferença''; tratamento de exceções integrado; arquivos, fluxos e serialização de objetos; concorrência para melhor desempenho com multiprocessamento; o livro contém o conteúdo principal para cursos introdutórios; outros tópicos: recursão, pesquisa, classificação, coleções genéricas, estruturas de dados, multithreading, banco de dados (JDBC ™ e JPA). 
</p>

<hr>

## Princípios, Padrões e Práticas Ágeis em C#

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/52f40aec-f60a-4229-bfe3-2f4114faa287" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Princípios, Padrões e Práticas Ágeis em C#</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>MARTIN, Robert C.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2011</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788577808410</td>
    </tr>
</table>

### Descrição

<p align="justify">
Destinado a programadores, gerentes de desenvolvimento de software e analistas de negócios, contém diversos estudos de caso que ilustram os fundamentos do desenvolvimento e do projeto ágil, e mostram a evolução de modelos UML em códigos C# reais. Esta obra fornece uma visão completa sobre os princípios ágeis e as práticas da Programação Extrema; o desenvolvimento baseado em testes; a refatoração com testes de unidade; a programação em pares; e muito mais.
</p>


================================================
FILE: extras/bibliography/11_graph_algorithms.md
================================================
# Livros: Algoritimos em Grafos

<hr>

## Algoritmos - Teoria e Prática

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/3a32e2d5-a292-47e2-b1fe-7fd64c828824" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Algoritmos - Teoria e Prática</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>CORMEN, T.; LEISERSON, C.; RIVEST, R.; STEIN, C.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2024</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788595159907</td>
    </tr>
</table>

### Descrição

<p align="justify">
Best-seller mundial sobre o tema, Algoritmos – Teoria e Prática chega à nova edição! Com o desenvolvimento tecnológico cada vez mais avançado, saber trabalhar com algoritmos tem se tornado um importante diferencial para estudantes e profissionais, isso porque, atualmente, os algoritmos são aplicáveis em diversas situações – nas áreas de tecnologia, engenharia, saúde, finanças, educação, entre outras –, das tarefas mais simples às mais complexas. Dessa forma, com sua didática e combinação única de rigor e abrangência, a proposta deste livro é tornar os algoritmos uma ferramenta acessível a leitores de todos os níveis de conhecimento. A obra combina teoria e prática para fornecer uma compreensão sólida dos princípios fundamentais dos algoritmos, ao mesmo tempo que fornece exemplos práticos e análises de complexidade. 
</p>

<p align="justify">
Além disso, abrange uma variedade de algoritmos, estruturas de dados e técnicas de design de algoritmos. Totalmente atualizada, esta quarta edição apresenta as seguintes novidades: 
</p>
<ul>
<li>Capítulos inéditos sobre correspondências em grafos bipartidos, algoritmos on-line e aprendizado de máquina (machine learning);</li>
<li>Novo material sobre temas como resolução de equações de recorrência, tabelas de espalhamento (hash), funções potenciais e matrizes de sufixo;</li>
<li>Dos quase 1.000 exercícios disponíveis, 140 são inéditos; e dos 162 problemas, 22 são novos;</li>
<li>Notas e bibliografia atualizadas para refletir os desenvolvimentos da área.</li>
</ul>

<p align="justify">
Os capítulos são relativamente independentes, e cada um apresenta um algoritmo, uma técnica de projeto, uma área de aplicação ou um tópico relacionado. Além disso, os algoritmos são descritos de maneira simples, bastante objetiva e em um pseudocódigo projetado para ser lido por qualquer usuário com conhecimento básico de programação, independentemente da linguagem de programação utilizada. O conteúdo foi planejado para cursos de graduação e pós-graduação em algoritmos ou estruturas de dados, bem como para especialização e atualização de profissionais da área.
</p>

<hr>

## Algoritmos

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/07652450-8e18-4c78-81c8-20d0a18f0d34" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Algoritmos</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>DASGUPTA, S.; PAPADIMITRIOU, C.; VAZIRANI, U.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2010</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788577260324</td>
    </tr>
</table>

### Descrição

<p align="justify">
Extensivamente testado por cerca de uma década em cursos universitários, e adaptado às necessidades dos estudantes, Algoritmos explica os fundamentos de algoritmos em uma linha histórical, de fácil leitura e assimilação. A ênfase está na compreensão da idéia matemática por trás de cada algoritmo, de uma forma intuitiva, rigorosa, sem ser formal.
</p>

<hr>

## Grafos: Conceitos, algoritmos e aplicações

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/b28b3c65-89d6-4637-8388-9631a510801e" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Grafos: Conceitos, algoritmos e aplicações</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>GOLDBARG, E.; GOLDBARG, M.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2012</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788535257168</td>
    </tr>
</table>

### Descrição

<p align="justify">
Este livro busca auxiliar o ensino e o estudo de grafos e algoritmos, especialmente visando equilibrar três focos de ensino: Conceitos básicos, o estudo de algoritmos em grafos e o desenvolvimento de aplicações reais. O texto pretende suportar principalmente o ensino de ciência da computação, das engenharias e de outras áreas em que a modelagem via grafos pode ser bastante útil como administração, economia, ciências contábeis etc.Visando os alunos de graduação, são propostos exemplos, ilustrações e mais de quatrocentos exercícios, dos quais cerca de cem são solucionados. Atendendo aos alunos com interesses pesquisa, são relatadas, em temas específicos, diversas revisões sumárias da literatura de forma a disponibilizar citações bibliográficas para um eventual aprofundamento nos temas abordados.
</p>



================================================
FILE: extras/bibliography/12_computer_architecture.md
================================================
# Livros: Arquitetura de Computadores

<hr>

## Arquitetura e Organização de Computadores

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/fef95302-f3f2-4ca0-be7f-bb127fed6eda" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Arquitetura e Organização de Computadores</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>W. Stallings</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2024</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>11.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788582606360</td>
    </tr>
</table>

### Descrição

<p align="justify">
Desde a última edição deste livro, a área de arquitetura e organização de computadores passou por inovações e melhorias contínuas. Esta nova edição dedica-se a capturar esse movimento sem perder a visão da área como um todo.Apesar da variedade e do ritmo de mudança no campo da computação, certos conceitos fundamentais se aplicam a toda a área de modo consistente. A aplicação desses conceitos depende do estado atual da tecnologia e dos objetivos de preço/desempenho do projetista. Esta nova edição discute de modo aprofundado os fundamentos da arquitetura e organização de computadores, relacionando-os a questões de projeto contemporâneas.Sempre foi importante projetar sistemas computacionais para que alcancem alto desempenho, mas nunca esse requisito foi tão relevante ou difícil de satisfazer quanto hoje. Arquitetura e organização de computadores auxiliará acadêmicos e profissionais na busca pelos melhores resultados.
</p>

<hr>

## Organização e Projeto de Computadores: a Interface Hardware/Software

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/ec1a2d41-ea09-4b57-a1f8-48bf871a1d90" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Organização e Projeto de Computadores: a Interface Hardware/Software</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>D. Patterson; J. Hennessy.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2017</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>5.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788535287936</td>
    </tr>
</table>

### Descrição

<p align="justify">
A quinta edição da Organização de Computadores traz novos exemplos, exercícios e materiais destacando o surgimento da computação móvel e a nuvem. Esta mudança geracional é enfatizada e explorou com computadores conteúdo atualizado caracterizam tablet, infra-estrutura de nuvem, ea (computação em nuvem) arquiteturas ARM (dispositivos de computação móvel) e x86. A compreensão de hardware moderno é essencial para alcançar um bom desempenho e eficiência energética, esta edição inclui um novo exemplo concreto indo mais rápido, usado em todo o texto para demonstrar técnicas de otimização extremamente eficazes. Outra novidade para esta edição é a discussão dos Oito Grandes Ideias de arquitetura de computadores. Como nas edições anteriores, um processador MIPS é o núcleo usado para apresentar os fundamentos de tecnologias de hardware, a linguagem assembly, aritméticas computador, canalização, hierarquias de memória e I/O.
</p>

<hr>

## Organização Estruturada de Computadores

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/d6a10c36-141f-41f9-931a-b2e93c0fd9ef" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Organização Estruturada de Computadores</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>A. S. Tanenbaum.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2013</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788581435398 </td>
    </tr>
</table>

### Descrição

<p align="justify">
Esta sexta edição traz o que há de mais moderno em termos de organização estruturada de computadores, apresentando as terminologias, tecnologias e tendências mais recentes em organização e arquitetura de computadores. Com novos exemplos e discussões sobre x86, microcontroladores AVR e arquitetura ARM, ""Organização estruturada de computadores"" é uma obra indispensável para estudantes de ciência da computação, engenharia da computação, análise e desenvolvimento de sistemas e sistemas de informação, bem como para profissionais da área.
</p>


================================================
FILE: extras/bibliography/13_statistics_probability.md
================================================
# Livros: Probabilidade e Estatística
<hr>

## Estatística Aplicada e Probabilidade para Engenheiros

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/9e4e8190-61c7-4806-af87-fbb54ec027de" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Estatística Aplicada e Probabilidade para Engenheiros</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>MONTGOMERY, Douglas C.; RUNGER, George C.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>7.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521637332</td>
    </tr>
</table>

### Descrição

<p align="justify">
Escrita pelos renomados professores Douglas C. Montgomery e George C. Runger, esta sétima edição de Estatística Aplicada e Probabilidade para Engenheiros inclui o conteúdo essencial da disciplina, comum às diversas habilitações em Engenharia. Os autores tiveram como premissa realizar uma ampla pesquisa junto a professores para que que o livro englobasse a teoria necessária para atender às demandas de sala de aula. Com isso, houve a inclusão da técnica bootstrap, além dos métodos descritivos e analíticos, necessários para quem lida com a variabilidade na observação de dados.Esta sétima edição inclui exercícios inéditos, criados a partir de situações reais e cotidianas dos engenheiros, que estão disponíveis online, bem como novos capítulos, exemplos, gráficos, interpretações práticas e métodos computacionais intensivos.Como destaque, no início de todos os capítulos, Montgomery e Runger criaram o tópico “Objetivos da aprendizagem”, explicando ao leitor o que ele deve esperar do capítulo e o que ele estará apto a compreender e realizar ao fi nal do estudo. Embora a matemática seja fundamental em Estatística e Probabilidade, os autores não pretendem apenas fornecer a teoria, mas ampliar a metodologia e mostrar como aplicá-la. 
</p>

<hr>

## Estatística Básica

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/45da9e06-bc40-4bf2-ac17-bf8172a62838" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Estatística Básica</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>MORETTIN, Pedro Alberto; BUSSAB, Wilton de Oliveira.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2024</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>10.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9786587958491</td>
    </tr>
</table>

### Descrição

<p align="justify">
Livro mais vendido da área, a 10ª edição de Estatística Básica confirma seu grande sucesso com extenso trabalho de revisão, atualização e ampliação, que contou com sugestões enriquecedoras de professores e leitores. Novidades desta edição: Novo capítulo sobre diversos tópicos de séries temporais. Introdução à regressão linear múltipla no Capítulo 16. Modificações pontuais ao decorrer da obra.O livro é dividido em três partes. A primeira trata da análise de dados unidimensionais e bidimensionais, com atenção especial para métodos gráficos. A segunda parte traz os conceitos básicos de probabilidades e variáveis aleatórias. Por fim, a terceira parte estuda os tópicos principais da inferência estatística, além de alguns temas especiais, como modelos de regressão.Completo e didático, Estatística Básica é o livro mais adequado para alunos e profissionais de diversas áreas do conhecimento e se destaca por ser a única obra com uma seção em todos os capítulos que ensina a aplicar a teoria por meio dos pacotes computacionais Minitab®, Excel®, Splus® e pacotes do Repositório livre R®.No final do livro, os autores disponibilizam vários conjuntos de dados para download na plataforma Saraiva Conecta.
</p>

<hr>

## Introdução à Estatística

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/8cbcd4fb-199b-407a-a381-1f9916600f7e" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Introdução à Estatística</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>TRIOLA, Mario F.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2017</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>12.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521633747 </td>
    </tr>
</table>

### Descrição

<p align="justify">
A nova e atualizada edição de Introdução à Estatística tem o objetivo de fornecer o melhor e mais amplo conteúdo para o ensino e a aprendizagem do tema. Obra clássica na área, traz desde aspectos conceituais até exercícios práticos, incluindo dicas de métodos de procura de emprego e de como evitar equívocos na elaboraçãode currículos.Cada capítulo começa com uma lista das seções que o compõem - incluindo uma breve revisão do conteúdo apresentado no capítulo anterior - e um problema proposto. Ao final, há uma revisão e um teste rápido sobre os temas abordados, além de exercícios e propostas de atividades.
</p>




================================================
FILE: extras/bibliography/14_advanced_calculus.md
================================================
# Livros: Cálculo II

<hr>

## Cálculo: Volume II

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/b88d7403-4d40-4129-bc64-2e8c0659fbb9" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Cálculo: Volume II</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>STEWART, James.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2022</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>9.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9786555584028</td>
    </tr>
</table>

### Descrição

<p align="justify">
Nesta 9ª edição, assim como em todas as anteriores, os autores mantêm a tradição de escrever um livro que auxilie os estudantes a descobrir o cálculo – tanto por sua utilidade prática, como por sua surpreendente beleza. O intuito é transmitir ao leitor uma ideia da utilidade do cálculo, assim como promover o desenvolvimento de sua habilidade técnica. Ao mesmo tempo, os autores empenharam-se em valorizar a beleza intrínseca do assunto. Não há dúvida de que Newton experimentou uma sensação de triunfo quando fez suas grandes descobertas. O objetivo desta obra é fazer que os estudantes compartilhem um pouco desse entusiasmo.
</p>

<hr>

## Um Curso de Cálculo - Vol. 2

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/e9f51681-df54-4795-984a-c0ab9babdefb" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Um Curso de Cálculo - Vol. 2</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>GUIDORIZZI, H.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2018</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521635444</td>
    </tr>
</table>

### Descrição

<p align="justify">
Guidorizzi, o conteúdo integral para o seu diferencial! De Hamilton Luiz Guidorizzi, Um Curso de Cálculo apresenta recursos pedagógicos digitais que aprofundam e fixam a aprendizagem dos estudantes de Cálculo e auxiliam aulas de professores da disciplina. Este primeiro volume aborda temas como limite, derivada, integral de funções, entre outros. É indicado para alunos de graduação de Matemática, Engenharia e Ciências Exatas que cursam Cálculo Diferencial e Integral e disciplinas de Cálculo relacionadas
</p>


================================================
FILE: extras/bibliography/15_haskell.md
================================================
# Livros: Programação Funcional

<hr>

## Aprender Haskell será um Grande Bem para Você

<p align="center">
  <img src="https://www.learnyouahaskell.com/newsplash.png" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Aprender Haskell será um Grande Bem para Você</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Miran Lipovača</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2011</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9781593272838</td>
    </tr>
    <tr>
        <th>Versão online</th>
        <td><a href="https://haskell.tailorfontela.com.br/">https://haskell.tailorfontela.com.br</a></td>
    </tr>
</table>

### Descrição

<p align="justify">
Bem-vindo ao Aprender Haskell será um grande bem para você! Se você já está lendo isto, existem boas chances de você querer aprender Haskell. Muito bem, você já esta no lugar certo, mas antes vamos conversar um pouco sobre este tutorial. Este tutorial é destinado a pessoas que tenham experiência em linguagens de programação imperativa (C, C++, Java, Python …) sem terem programado antes em uma linguagem funcional (Haskell, ML, OCaml …). Apesar de que eu aposto que se você não tiver uma larga experiência em programação, um rápido capítulo como o que você irá acompanhar vai habilitá-lo a aprender Haskell. 
</p>


<hr>

## An Introduction to Functional Programming Through Lambda Calculus

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/f5567c49-386b-4e9f-902e-c28aa4727c63" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>An Introduction to Functional Programming Through Lambda Calculus</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>MICHAELSON, Greg.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2011</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>9.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780486478838</td>
    </tr>
    <tr>
        <th>Última versão de rascunho (late draft)</th>
        <td><a href="https://www.macs.hw.ac.uk/~greg/books/gjm.lambook88.pdf">https://www.macs.hw.ac.uk/~greg/books/gjm.lambook88.pdf</a></td>
    </tr>
</table>

### Descrição

<p align="justify">
Functional programming is rooted in lambda calculus, which constitutes the world's smallest programming language. This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions.
</p>

<hr>

## Structure and Interpretation of Computer Programs

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/a5286aeb-326d-4a56-b369-01df07321843" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Structure and Interpretation of Computer Programs</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Harold Abelson, Gerald Jay Sussman.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>1996</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780262510875</td>
    </tr>
    <tr>
        <th>Versão online</th>
        <td><a href="https://web.mit.edu/6.001/6.037/sicp.pdf">https://web.mit.edu/6.001/6.037/sicp.pdf</a></td>
    </tr>
</table>

### Descrição

<p align="justify">
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.
</p>


================================================
FILE: extras/bibliography/16_analysis_of_algorithms.md
================================================
# Livros: Análise de Algoritmos
<hr>

## Algoritmos

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/07652450-8e18-4c78-81c8-20d0a18f0d34" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Algoritmos</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>DASGUPTA, S.; PAPADIMITRIOU, C.; VAZIRANI, U.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2010</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788577260324</td>
    </tr>
</table>

### Descrição

<p align="justify">
Extensivamente testado por cerca de uma década em cursos universitários, e adaptado às necessidades dos estudantes, Algoritmos explica os fundamentos de algoritmos em uma linha histórical, de fácil leitura e assimilação. A ênfase está na compreensão da idéia matemática por trás de cada algoritmo, de uma forma intuitiva, rigorosa, sem ser formal.
</p>

<hr>

## Algoritmos - Teoria e Prática

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/3a32e2d5-a292-47e2-b1fe-7fd64c828824" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Algoritmos - Teoria e Prática</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>CORMEN, T.; LEISERSON, C.; RIVEST, R.; STEIN, C.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2024</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788595159907</td>
    </tr>
</table>

### Descrição

<p align="justify">
Best-seller mundial sobre o tema, Algoritmos – Teoria e Prática chega à nova edição! Com o desenvolvimento tecnológico cada vez mais avançado, saber trabalhar com algoritmos tem se tornado um importante diferencial para estudantes e profissionais, isso porque, atualmente, os algoritmos são aplicáveis em diversas situações – nas áreas de tecnologia, engenharia, saúde, finanças, educação, entre outras –, das tarefas mais simples às mais complexas. Dessa forma, com sua didática e combinação única de rigor e abrangência, a proposta deste livro é tornar os algoritmos uma ferramenta acessível a leitores de todos os níveis de conhecimento. A obra combina teoria e prática para fornecer uma compreensão sólida dos princípios fundamentais dos algoritmos, ao mesmo tempo que fornece exemplos práticos e análises de complexidade. 
</p>

<p align="justify">
Além disso, abrange uma variedade de algoritmos, estruturas de dados e técnicas de design de algoritmos. Totalmente atualizada, esta quarta edição apresenta as seguintes novidades: 
</p>
<ul>
<li>Capítulos inéditos sobre correspondências em grafos bipartidos, algoritmos on-line e aprendizado de máquina (machine learning);</li>
<li>Novo material sobre temas como resolução de equações de recorrência, tabelas de espalhamento (hash), funções potenciais e matrizes de sufixo;</li>
<li>Dos quase 1.000 exercícios disponíveis, 140 são inéditos; e dos 162 problemas, 22 são novos;</li>
<li>Notas e bibliografia atualizadas para refletir os desenvolvimentos da área.</li>
</ul>

<p align="justify">
Os capítulos são relativamente independentes, e cada um apresenta um algoritmo, uma técnica de projeto, uma área de aplicação ou um tópico relacionado. Além disso, os algoritmos são descritos de maneira simples, bastante objetiva e em um pseudocódigo projetado para ser lido por qualquer usuário com conhecimento básico de programação, independentemente da linguagem de programação utilizada. O conteúdo foi planejado para cursos de graduação e pós-graduação em algoritmos ou estruturas de dados, bem como para especialização e atualização de profissionais da área.
</p>

<hr>

## Como Pensar Sobre Algoritmos

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/3bc6d1e0-6ded-421c-847d-b85d82e10513" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Como Pensar Sobre Algoritmos</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Jeff Edmonds</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2010</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521617310</td>
    </tr>
</table>

### Descrição

<p align="justify">
O objetivo nesta obra não é apresentar o pacote completo, bem embrulhadinho e limpo, mas percorrer vagarosamente e com profundidade cada etapa do desenvolvimento dos algoritmos. Foram adicionados muitos inícios falsos, na esperança de que isso ajudará os estudantes a desenvolverem algoritmos por conta própria. As pessoas que desenvolvem algoritmos têm diferentes maneiras de pensar, além de uma intuição que, de modo geral, não é ensinada. A premissa básica de Como Pensar sobre Algoritmos é que isso não pode ser ensinado, mas tem que ser descoberto individualmente. Este livro tenta ensinar os estudantes a pensar como quem projeta algoritmos. Jeff Edmonds escreveu um livro divertido, organizado em blocos, cada um contendo um título e um único pensamento. O autor concentra-se na estrutura e na demonstração de correção de meta-algoritmos iterativos e recursivos e, dentro desses, de meta-algoritmos gulosos e de programação dinâmica. Ao aprender esses e suas demonstrações de correção, pode-se compreender facilmente a maioria dos algoritmos. O desafio é que pensar sobre meta-algoritmos exige bastante abstração. São apresentados analogias, paradigmas e diferentes notações, dentro dos quais é possível desenvolver e pensar sobre algoritmos.
</p>


================================================
FILE: extras/bibliography/17_numeric_methods.md
================================================
# Livros: Métodos Numéricos

<hr>

## Métodos Numéricos para Engenharia

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/b647ef65-1c2b-47a9-8367-e1d82b322e8f" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Métodos Numéricos para Engenharia</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Steven C. Chapra (Autor) e Raymond P. Canale</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2016</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>7.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788580555684</td>
    </tr>
</table>

### Descrição

<p align="justify">
Escrito por autores renomados, Métodos Numéricos para Engenharia apresenta uma extensa gama de métodos numéricos, como o tratamento de otimização e de equações diferenciais. Com explicações simples e voltadas para a prática, conta com exemplos, estudos de caso e problemas elaborados de acordo com a prática da engenharia, incluindo áreas emergentes como bioengenharia.Esta edição mantém seu foco no uso apropridado de ferramentas computacionais, trazendo discussões meticulosas sobre seus alicerces matemáticos. Também fornece pseudocódigos para os algoritmos dos métodos numéricos e uma visão geral de pacotes de software populares, como MATLAB, Excel e MathCAD.Ganhador do prêmio de melhor livro-texto da American Society for Engineering Education, este é um recurso indispensável para os cursos de Engenharia e outros da área de Ciências Exatas, como Química, Física, Matemática e Computação.
</p>

<hr>

## Cálculo Numérico

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/67102bcd-1820-4c2d-8e70-866b2391a040" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Cálculo Numérico</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Décio Sperandio, João Teixeira Mendes e Luiz Henry Monken</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2014</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788543006536</td>
    </tr>
</table>

### Descrição

<p align="justify">
Com os atuais recursos computacionais, os métodos numéricos tornaram-se imprescindíveis na formação de cientistas e engenheiros. Atendendo a essa necessidade, Cálculo numérico apresenta os procedimentos matemáticos mais importantes para a análise de complexos modelos matemáticos, provenientes das mais variadas áreas de conhecimento. Na obra, os assuntos são descritos de maneira a terem sempre uma clara base matemática. A disposição dos tópicos facilita um entendimento crescente das abordagens mais frequentes em problemas numéricos, e muitos exemplos resolvidos passo a passo auxiliam o aprendizado dos esquemas numéricos. Para completar, exercícios ao final de cada capítulo permitem ao leitor testar seus conhecimentos e explorar o conteúdo teórico desenvolvido.
</p>

<hr>

## Cálculo Numérico: Aspectos Teóricos e Computacionais 

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/54681191-bd23-4b9e-a0c9-6bede2014c75" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Cálculo Numérico: Aspectos Teóricos e Computacionais</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Ruggiero, M.A.G. e Lopes, V.L.R.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2000</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788534602044</td>
    </tr>
</table>

### Descrição

<p align="justify">
O objetivo principal do texto é a apresentação de métodos numéricos com sua fundamentação teórica, suas vantagens e dificuldades computacionais. Em todos os capítulos - lista de exercícios, com respostas no apêndice. Na maioria dos capítulos, proposta de projetos.
</p>


================================================
FILE: extras/bibliography/18_database.md
================================================
# Livros: Banco de Dados
<hr>

## Sistema de Banco de Dados

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/ccae0272-0dd4-42d5-b1d1-677c5bd03a34" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistema de Banco de Dados</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Silberschatz, A., Korth, H., Sudarshan, S.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2020</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>7.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788595157330</td>
    </tr>
</table>

### Descrição

<p align="justify">
Tudo sobre sistema de banco de dados: dos fundamentos aos novos conceitos. Com questões práticas e teóricas, este livro apresenta aplicação, gerenciamento e implementação de banco de dados e inclui os assuntos recentes da área, como Big Data e blockchain. Como diferencial, Sistema de Banco de Dados apresenta conceitos e algoritmos em um ambiente geral, não ligados a um sistema de dados específico, o que flexibiliza a aplicação da teoria a cenários diversos. Além disso, oferece variedade de exercícios em diferentes níveis de complexidade e ferramentas de suporte ao aprendizado.Esta edição de Sistema de Banco de Dados é necessária porque traz:Extensa cobertura dos sistemas Big Data, do ponto de vista do usuário, além de uma perspectiva interna;Atualizações (em todos os capítulos) sobre aspectos internos do banco de dados, para refletir a tecnologia de última geração, como discos em estado sólido (SSD), bancos de dados na memória principal, sistemas de múltiplos núcleos e bancos de dados paralelos e distribuídos;Cobertura avançada do gerenciamento de dados semiestruturados usando JSON, RDF e SPARQL;Cobertura atualizada de dados temporais, análise de dados e técnicas de indexação avançadas, como índices otimizados para escrita;Reorganização e atualização dos capítulos para dar melhor suporte aos cursos, com um componente prático significativo, incluindo o uso de ferramentas de última geração para desenvolvimento de aplicações e sistemas Big Data, como Apache Hadoop e Spark;Novo capítulo sobre Bancos de Dados de Blockchain, que introduz a tecnologia e sua função cada vez mais importante nas aplicações corporativas.
</p>

<hr>

## Sistemas de Banco de Dados

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/01e8907c-2583-40a5-bfcb-6aeee75d9453" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistemas de Banco de Dados</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Elsmari, R., Navathe, Shamkant B.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2019</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>7.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788543025001</td>
    </tr>
</table>

### Descrição

<p align="justify">
Sistemas de banco de dados apresenta de forma profunda e atualizada os aspectos mais importantes dos sistemas e aplicações de banco de dados, bem como das tecnologias relacionadas. Esta obra de referência introduz os conceitos fundamentais necessários para projetar, usar e implementar sistemas de banco de dados, enfatizando fundamentos de modelagem, projeto, linguagens e modelos fornecidos pelos sistemas de gerenciamento e técnicas de implementação. Nesta edição, foram introduzidos capítulos novos sobre os avanços recentes em sistemas de banco de dados e processamento Big Data, introdução a bancos de dados NOSQL e tecnologias para processamento de big data. Além disso, foram incluídos novos exemplos e o conteúdo sobre processamento e otimização de consulta e suas técnicas, estratégias e algoritmos para processamento foi expandido, e foram acrescentadas novas construções SQL. Com conteúdo atualizado, esta obra é ideal para estudantes de análise de redes, análise de sistemas processamento de dados e engenharia da computação que queiram dominar o assunto e destacar-se na área.
</p>

<hr>

## Sistemas de Gerenciamento de Bancos de Dados


<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/0d950f37-ba06-4670-8678-060a6bea7fb6" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistemas de Gerenciamento de Bancos de Dados</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Ramakrishnan, R.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2008</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788577260270</td>
    </tr>
</table>

### Descrição

<p align="justify">
Este livro apresenta uma abordagem clara e atualizada dos fundamentos dos sistemas de banco de dados. Os professores podem optar por dar ênfase a aplicações de bancos de dados ou a sistemas. O livro traz muitos exemplos e aplicações, incluindo SQL e Oracle, e aplicações para a Internet. Além disso, são introduzidos padrões atuais, como JDBC e XML, e desenvolvimento de aplicações em três camadas.
</p>


================================================
FILE: extras/bibliography/19_computer_architecture_II.md
================================================
# Livros: Arquitetura de Computadores

<hr>

## Arquitetura e Organização de Computadores

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/fef95302-f3f2-4ca0-be7f-bb127fed6eda" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Arquitetura e Organização de Computadores</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>W. Stallings</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2024</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>11.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788582606360</td>
    </tr>
</table>

### Descrição

<p align="justify">
Desde a última edição deste livro, a área de arquitetura e organização de computadores passou por inovações e melhorias contínuas. Esta nova edição dedica-se a capturar esse movimento sem perder a visão da área como um todo.Apesar da variedade e do ritmo de mudança no campo da computação, certos conceitos fundamentais se aplicam a toda a área de modo consistente. A aplicação desses conceitos depende do estado atual da tecnologia e dos objetivos de preço/desempenho do projetista. Esta nova edição discute de modo aprofundado os fundamentos da arquitetura e organização de computadores, relacionando-os a questões de projeto contemporâneas.Sempre foi importante projetar sistemas computacionais para que alcancem alto desempenho, mas nunca esse requisito foi tão relevante ou difícil de satisfazer quanto hoje. Arquitetura e organização de computadores auxiliará acadêmicos e profissionais na busca pelos melhores resultados.
</p>

<hr>

## Organização e Projeto de Computadores: a Interface Hardware/Software

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/ec1a2d41-ea09-4b57-a1f8-48bf871a1d90" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Organização e Projeto de Computadores: a Interface Hardware/Software</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>D. Patterson; J. Hennessy.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2017</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>5.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788535287936</td>
    </tr>
</table>

### Descrição

<p align="justify">
A quinta edição da Organização de Computadores traz novos exemplos, exercícios e materiais destacando o surgimento da computação móvel e a nuvem. Esta mudança geracional é enfatizada e explorou com computadores conteúdo atualizado caracterizam tablet, infra-estrutura de nuvem, ea (computação em nuvem) arquiteturas ARM (dispositivos de computação móvel) e x86. A compreensão de hardware moderno é essencial para alcançar um bom desempenho e eficiência energética, esta edição inclui um novo exemplo concreto indo mais rápido, usado em todo o texto para demonstrar técnicas de otimização extremamente eficazes. Outra novidade para esta edição é a discussão dos Oito Grandes Ideias de arquitetura de computadores. Como nas edições anteriores, um processador MIPS é o núcleo usado para apresentar os fundamentos de tecnologias de hardware, a linguagem assembly, aritméticas computador, canalização, hierarquias de memória e I/O.
</p>

<hr>

## Organização Estruturada de Computadores

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/d6a10c36-141f-41f9-931a-b2e93c0fd9ef" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Organização Estruturada de Computadores</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>A. S. Tanenbaum.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2013</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788581435398 </td>
    </tr>
</table>

### Descrição

<p align="justify">
Esta sexta edição traz o que há de mais moderno em termos de organização estruturada de computadores, apresentando as terminologias, tecnologias e tendências mais recentes em organização e arquitetura de computadores. Com novos exemplos e discussões sobre x86, microcontroladores AVR e arquitetura ARM, ""Organização estruturada de computadores"" é uma obra indispensável para estudantes de ciência da computação, engenharia da computação, análise e desenvolvimento de sistemas e sistemas de informação, bem como para profissionais da área.
</p>


================================================
FILE: extras/bibliography/20_logical_programming.md
================================================
# Livros: Programação Lógica

<hr>

## Aprenda PROLOG Já!

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/42ce7449-0453-4f5b-85e6-40274b898e2b" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Aprenda PROLOG Já!</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>BLACKBURN, P; BOSS, J; STRIEGNITZ, K. </td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2014</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9781848901551</td>
    </tr>
</table>

### Descrição

<p align="justify">
A Série Apontamentos tem por objetivo explorar preferencialmente textos de apoio didático a cursos de graduação ou pós-graduação. Sinopse Apresenta a linguagem de programação lógica Prolog, adequada para resolver problemas que envolvem objetos e relações entre objetos. Apresenta e discute um vasto conjunto de predicados Prolog para o tratamento de listas, árvores e grafos.
</p>

<hr>

## A cartilha PROLOG

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/f05b7121-be3f-4f0a-b774-9e400a34dd9d" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>A cartilha PROLOG</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Maria do Carmo Nicoletti</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788576000112</td>
    </tr>
</table>

### Descrição

<p align="justify">
A Série Apontamentos tem por objetivo explorar preferencialmente textos de apoio didático a cursos de graduação ou pós-graduação. Sinopse Apresenta a linguagem de programação lógica Prolog, adequada para resolver problemas que envolvem objetos e relações entre objetos. Apresenta e discute um vasto conjunto de predicados Prolog para o tratamento de listas, árvores e grafos.
</p>


================================================
FILE: extras/bibliography/21_computer_network.md
================================================
# Livros: Redes de Computadores

<hr>

## Redes de Computadores e a Internet: Uma Abordagem Top-Down

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/05085e45-836f-402c-b52a-254322e7246b" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Redes de Computadores e a Internet: Uma Abordagem Top-Down</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>KUROSE, J. F.; ROSS, K. W.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>8.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788582605585</td>
    </tr>
</table>

### Descrição

<p align="justify">
Seguindo o sucesso da abordagem top-down de suas edições anteriores, "Redes de computadores e a Internet" tem como foco camadas de aplicação e interfaces de programação, propondo ao leitor uma experiência prática com os conceitos de protocolo e redes de computadores antes de trabalhar com mecanismos de transmissão de informação das camadas inferiores das pilhas de protocolos.
</p>

<hr>

## Redes de Computadores

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/d3b8dc6a-5060-459e-a186-2d2a001ebdbb" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Redes de Computadores</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>TANENBAUM, A. S.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788582605608</td>
    </tr>
</table>

### Descrição

<p align="justify">
Nesta que é a bíblia de redes de computadores, Tanenbaum, Feamster & Wetherall explicam o funcionamento das redes de dentro para fora. Isto é, começam com a camada física das redes, dos computadores e dos sistemas de transmissão e vão até às aplicações. Os capítulos  apresentam os conceitos-chave e são ilustrados por exemplos de redes reais: Internet, redes sem fio, incluindo LANs sem fio; banda larga sem fio e Bluetooth. Esta 6ª edição de Redes de computadores traz muitas mudanças. Todos os capítulos foram atualizados e o Capítulo 8, que trata de segurança, foi completamente reformulado, priorizando a segurança de redes.
</p>


================================================
FILE: extras/bibliography/22_software_engineering.md
================================================
# Livros: Engenharia de Software 
<hr>

## Engenharia de Software 

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/0252f1d2-2403-47b6-93e8-352137a1c9d8" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Engenharia de Software</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>SOMMERVILLE, I.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2019</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>10.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788543024974</td>
    </tr>
</table>

### Descrição

<p align="justify">
A 10ª edição de Engenharia de software foi extensivamente atualizada para refletir a adoção crescente de métodos ágeis na engenharia de software. Um dos destaques da nova edição é o acréscimo de conteúdo sobre a metodologia do Scrum. A divisão em quatro partes do livro foi significativamente reformulada para acomodar novos capítulos sobre engenharia de resiliência, engenharia de sistemas e sistemas de sistemas. Além disso, capítulos sobre tópicos como confiança, segurança e proteção foram completamente reorganizados.Todas essas mudanças se justificam por compreenderem questões essenciais para a engenharia de software moderna ― gerenciamento da complexidade, integração da agilidade a outros métodos e garantia de que os sistemas sejam seguros e resilientes. Obra de referência para estudantes de ciência da computação, engenharia da computação e sistemas de informação, e para qualquer profissional que deseje atualizar seus conhecimentos sobre reúso de software, arquitetura de projetos, confiabilidade e segurança e engenharia de sistemas.
</p>

<hr>

## Engenharia de Software: Uma abordagem profissional

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/f3086dac-fa7f-450b-90ff-88aba3771a66" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Engenharia de Software: Uma abordagem profissional</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>PRESSMAN, Roger S..</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>9.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9786558040101</td>
    </tr>
</table>

### Descrição

<p align="justify">
A nova edição do livro-texto líder de mercado em engenharia de software traz uma série de novidades. O livro foi totalmente revisado e reestruturado para melhorar seu fluxo pedagógico.Traz novos e importantes processos e práticas da área, dentre eles o uso de inteligência artificial e machine learning para garantir velocidade e qualidade nas entregas. O autor enfatiza aspectos de qualidade de software, principalmente no uso de métodos ágeis. Segurança é outro item que ganhou destaque.
</p>

<hr>

## Engenharia de Software - Produtos - Vol.1 e 2

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/8056cf18-b8e6-4620-9cb2-4d969308664b" width="550px">
</p>


<table align="center">
    <tr>
        <th>Título</th>
        <td>Engenharia de Software - Produtos - Vol.1 e 2</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>PÁDUA FILHO, W. </td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2019</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>4.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521636687 e 9788521636694</td>
    </tr>
</table>

### Descrição

<p align="justify">
Referência para cursos de Computação e afins. De Wilson de Pádua Paula Filho, o livro Engenharia de Software – Produtos é uma ferramenta para estudantes e profissionais por apresentar conteúdos relevantes sobre a manutenção e desenvolvimento de software. Agora em dois volumes, esta primeira parte está ligada à área de Produtos e traz uma introdução ao assunto, mantendo um perfil mais técnico. Concentra capítulos de embasamento, apresentando temas como UML básica, requisitos, análise, desenho, testes e implementação, além dos padrões mais relevantes e detalhados dos métodos técnicos do processo Praxis “clássico” (SPraxis) e da respectiva versão “ágil” (XPraxis). O tratamento tem por base a tecnologia orientada a objetos. Sua notação de análise e desenho é a UML 2.0 e os padrões seguem os estabelecidos pela Engenharia de Software do Instituto de Engenheiros Eletricistas e Eletrônicos (IEEE), acompanhando todas as atualizações realizadas. Com material suplementar para professores, Engenharia de Software abrange tópicos requeridos por cursos de graduação diversos, como Informática, Engenharia da Computação, Ciência da Computação, Análise de Sistemas, Processamento de Dados, entre outros. Por que ler Engenharia de Software? Os sistemas informatizados têm enorme potencial de trazer benefícios, bem como prejuízos quando elaborados de maneira errada. Uma vez que o software é a alma dos sistemas informatizados, a Engenharia de Software é a disciplina que ensina a construir produtos reais a partir dos conceitos fundamentais da Informática. Assim, este livro apresenta as práticas mais consagradas dessa disciplina.
</p>


================================================
FILE: extras/bibliography/23_operating_system.md
================================================
# Livros: Sistemas Operacionais

<hr>

## Sistemas Operacionais Modernos

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/7a7e75ca-9d7a-42bb-bfc8-58a87371c300" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistemas Operacionais Modernos</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Tanenbaum, Andrew S.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2024</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>5.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788582606162</td>
    </tr>
</table>

### Descrição

<p align="justify">
Esta nova edição aborda os mais recentes desenvolvimentos em tecnologias de sistemas operacionais. Os estudos de caso exploram sistemas operacionais populares, sempre contextualizados à nossa realidade.De forma clara e divertida, os autores descrevem os conceitos que designers de sistema operacional precisam dominar, tais como processos, threads, gerenciamento de memória, sistemas de arquivos, E/S (entrada/saída), impasses, design de interface, multimídia, compensações de desempenho e tendências em design de sistema operacional. Vale destacar, ainda, um novo capítulo, sobre o Windows 11, a atualização do capítulo sobre segurança, com mais foco em tópicos que são diretamente relevantes aos sistemas operacionais e a ênfase dos solid state drives (SSDs) baseados em memória flash.
</p>

<hr>

## Fundamentos de Sistemas Operacionais

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/39069d94-3da4-4cf8-b009-03376aa1c1e7" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Fundamentos de Sistemas Operacionais</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Abraham Silberschatz</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2015</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>9.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521629399</td>
    </tr>
</table>

### Descrição

<p align="justify">
Fundamentos de Sistemas Operacionais, já em sua 9a edição, está dividido em 20 capítulos, compostos por registros de experiências vivenciadas pelos autores em um universo em transformação constante. Neste livro, é possível ter uma abordagem aprofundada de assuntos como os sistemas móveis e a computação em nuvem.O sucesso da obra acontece já em sua concepção, quando os autores entendem que os sistemas operacionais são parte essencial de qualquer sistema de computação. Assim, o conteúdo foi pensado para oferecer uma ampla base teórica a estudantes e profissionais da área.O fato de os autores trabalharem detalhadamente com Linux e Windows – sistemas nos quais  parte dos usuários ainda tem muitas dúvidas –, torna a obra ainda mais peculiar, única e interessante. Ela também faz uma análise apurada dos sistemas utilizados em smartphones, que são o grande destaque do momento no setor.Os conteúdos são abordados de maneira singular. Além da conceituação concreta, ainda há dezenas de exercícios e mais 20 novos problemas e projetos de programação. Quem deseja ampliar os conhecimentos nessa área irá encontrar em Fundamentos de Sistemas Operacionais uma excelente ferramenta.
</p>

<hr>

## Arquitetura de Sistemas Operacionais: Incluindo Exercícios com o Simulador SOSIM e Questões do ENADE


<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/1f61f458-f852-4ddf-85ef-8b2e4856dd9e" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Arquitetura de Sistemas Operacionais: Incluindo Exercícios com o Simulador SOSIM e Questões do ENADE</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Machado, Francis Berenger; Maia, Luiz Paulo.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2013</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>5.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521622109</td>
    </tr>
</table>

### Descrição

<p align="justify">
O estudo de sistemas operacionais ganha importância à medida que diversos profissionais da área de computação necessitam deste conhecimento para exercer suas atividades, como administradores de sistemas, programadores de aplicações concorrentes e gerentes de segurança. Outro fator importante é o relacionamento dos sistemas operacionais nas redes de comunicação de dados, o que faz seu estudo necessário para os administradores de rede. Arquitetura de Sistemas Operacionais aborda a arquitetura e funcionamento dos sistemas operacionais multiprogramáveis, de forma atual, abrangente e didática. Seu conteúdo é direcionado a estudantes e a profissionais de informática de todas as áreas. Como pré-requisito básico para sua leitura, é necessário apena s algum conhecimento de organização de computadores e estrutura de dados. Sempre que for necessário o uso de programas será utilizada a linguagem de programação Pascal, por sua clareza e fluência no meio acadêmico, assim como a linguagem Java, por sua ampla aceitação no mercado.
</p>


================================================
FILE: extras/bibliography/24_math_optimization.md
================================================
# Livros: Programação Matemática

<hr>

## Introdução à Pesquisa Operacional

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/ca44038a-eea7-47d0-b0ac-aab077f244a1" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Introdução à Pesquisa Operacional</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>HILLIER, F.S.; LIEBERMAN, G.J.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2013</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>9.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788580551181</td>
    </tr>
</table>

### Descrição

<p align="justify">
Por mais de quatro décadas, Introdução à Pesquisa Operacional tem sido um clássico na investigação de operações. Com os fundamentos mais atuais da área e maior cobertura de aplicativos de negócios, essa nova edição mantém a tradição de um texto com conceitos claros e abrangentes, extenso conjunto de problemas interessantes e casos para análise e prática, com uso de softwares de pesquisa operacional. Um extenso material de apoio encontra-se disponível no site do livro. O ponto forte da 9ª edição é a nova parceria entre a Introdução à Pesquisa Operacional (PO) e o Institute of Operations Research and the Management Sciences (INFORMS). Esses dois pilares da PO se uniram para demonstrar algumas aplicações de pesquisa de operações.
</p>

<hr>

## Pesquisa Operacional

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/52d69294-4b91-41f9-97a0-9b86a1b3bcb7" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Pesquisa Operacional</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>ARENALES, M; ARMENTANO, V; MORABITO, R.; YANASSE, H.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2007</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788535214543</td>
    </tr>
</table>

### Descrição

<p align="justify">
Livro-texto base para disciplinas de introdução à Pesquisa Operacional e suas aplicações na graduação em Engenharia de Produção. O material é suficiente para dois cursos semestrais, ou um curso anual, e pretende ilustrar o uso das modelagens e as aplicações dos algoritmos em problemas da realidade brasileira, em particular, nos sistemas de produção e logística. 
</p>

<hr>

## Otimização Combinatória e Programação Linear

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/3d88431b-bd26-455b-880f-41626598e904" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Otimização Combinatória e Programação Linear</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>GOLDBARG, M.C. e LUNA, H.P.L</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2005</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788535215205</td>
    </tr>
</table>

### Descrição

<p align="justify">
Esta obra tem por objetivo propiciar subsídios técnicos, descrever modelos matemáticos, debater algoritmos de solução e sugerir temas de aplicação, dentro da visão quantitativa de análise do fenômeno de tomada de decisão, principalmente aos alunos de graduação das engenharias, cursos de administração e de ciência da computação.
</p>

<p align="justify">
O conteúdo programático coberto pelos capítulos 1 a 5 engloba o que é exigido em disciplinas como “Pesquisa Operacional”, “Otimização de Sistemas de Engenharia”, “Programação Linear” e outras. O conteúdo dos capítulos 6 a 10 aborda temas que são objeto de disciplinas como “Otimização Combinatória”, “Algoritmos em Grafos”, “Fluxos em Redes”, entre outras. Essa segunda parte do livro contém material um pouco mais avançado, servindo a disciplinas optativas de nossos cursos de graduação ou a disciplinas de pós-graduação.
</p>

<p align="justify">
Uma outra característica marcante deste trabalho são as várias aplicações práticas retiradas da realidade brasileira, o que permite aproximar a disciplina ao dia-a-dia do estudante, aumentando o incentivo à motivação. No âmbito da programação linear, o livro é caracterizado pelo uso intensivo de interpretação econômica do método simplex e das relações de dualidade e sensibilidade. A ideia é lembrar que as ferramentas de otimização indicam as atividades de maior produtividade nas empresas e que o uso dessas ferramentas também indica os preços de maior competitividade.
</p>

<p align="justify">
No âmbito da otimização combinatória, como o próprio nome indica, o livro se caracteriza pela apresentação dos problemas através do uso deliberado de formulações de programação linear inteira mista. Além do interesse teórico, a formulação de problemas combinatórios através da programação inteira abre caminho para o uso dos eficientes pacotes comerciais de programação matemática, cujo avanço na solução exata de importantes problemas práticos tem sido marcante. Mesmo para heurísticas que dispensam a formulação de programação linear inteira, muitas vezes podem ser feitas avaliações de qualidade de solução mediante o uso de relaxação do problema de programação linear.
</p>

<p align="justify">
Constituindo uma versão atualizada que preserva o conteúdo original e melhora a forma de apresentação, esta segunda edição contempla uma significativa inclusão de referências à produção científica do primeiro lustre do novo milênio. A atualização resultou em um saldo positivo de dezenas de páginas, com a supressão de algumas páginas do apêndice que não eram referenciadas no texto principal da primeira edição. A rica ilustração do livro foi reorganizada com a numeração restrita ao escopo de cada capítulo, abrangendo as referências a figuras, equações, quadros e tabelas, que, por sua vez, tiveram apresentação padronizada. Esta segunda edição surge numa época em que se consolida a ligação entre otimização combinatória e programação linear, o que ratifica o acerto do nome do livro e a importância da matéria nele ensinada.
</p>


================================================
FILE: extras/bibliography/25_fundamentals_computer_graphics.md
================================================
# Livros: Fundamentos de Computação Gráfica

<hr>

## Fundamentos de Computação Gráfica

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/6b1d2f39-8976-4b2b-ba4f-68cb0fe221e7" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Introdução à Pesquisa Operacional</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Luiz Velho e Jonas Gomes</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2015</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788524402005</td>
    </tr>
</table>

### Descrição

<p align="justify">
Este livro se originou das notas de aula de um curso introdutório de Computação Gráfica, lecionado no IMPA há 10 anos como parte do programa de Computação Gráfica IMPA/PUC-Rio. O livro enfoca aspectos conceituais da área de Computação Gráfica, estudando os diversos modelos matemáticos utilizados, bem como os problemas inerentes à discretização desses modelos. A abordagem do livro é feita de forma elementar, abrangendo todo o programa de um curso introdutório, exigindo como pré-requisitos apenas conhecimentos de Cálculo Diferencial, Álgebra Linear e noções de algoritmos. 
</p>

<hr>

## Computer Graphics: Principles and Practice

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/61995430-d9ac-4d3d-aaf6-258fd9cf2cd9" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Computer Graphics: Principles and Practice</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Hughes, J. F., Van Dam, A., Mcguire, M., Sklar, D. F., Foley, J. D., Feiner, S. K., Akeley, K. </td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2013</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780321399526</td>
    </tr>
</table>

### Descrição

<p align="justify">
Computer Graphics: Principles and Practice, Third Edition, remains the most authoritative introduction to the field. The first edition, the original “Foley and van Dam,” helped to define computer graphics and how it could be taught. The second edition became an even more comprehensive resource for practitioners and students alike. This third edition has been completely rewritten to provide detailed and up-to-date coverage of key concepts, algorithms, technologies, and applications.
</p>

<p align="justify">
The authors explain the principles, as well as the mathematics, underlying computer graphics–knowledge that is essential for successful work both now and in the future. Early chapters show how to create 2D and 3D pictures right away, supporting experimentation. Later chapters, covering a broad range of topics, demonstrate more sophisticated approaches. Sections on current computer graphics practice show how to apply given principles in common situations, such as how to approximate an ideal solution on available hardware, or how to represent a data structure more efficiently. Topics are reinforced by exercises, program­ming problems, and hands-on projects. 
</p>


================================================
FILE: extras/bibliography/26_automata_theory.md
================================================
# Livros: Linguagens Formais e Autômatos

<hr>

## Linguagens Formais e Autômatos

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/02d4aa76-05b8-473b-a2ff-40f845e60978" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Linguagens Formais e Autômatos</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>MENEZES, P. B.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2010</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788577807659</td>
    </tr>
</table>

### Descrição

<p align="justify">
A Teoria das Linguagens Formais foi originalmente desenvolvida na década de 1950 com o objetivo de desenvolver teorias relacionadas com as linguagens naturais. Entretanto, logo foi verificado que esta teoria era importante para o estudo das linguagens artificiais e, em especial, para as linguagens originárias na Ciência da Computação. Desde então, o estudo das Linguagens Formais desenvolveu-se significativamente e com diversos enfoques, com destaque para aplicações em análise léxica e sintática de linguagens de programação, modelos de sistemas biológicos, desenho de hardware e relacionamentos com linguagens naturais. Recentemente, inclui-se a ênfase no tratamento de linguagens não-lineares, como planares, espaciais e n-dimensionais.
</p>

<p align="justify">
Linguagens Formais e Autômatos visa apresentar os conceitos básicos da Teoria das Linguagens Formais. É baseado em experiências letivas no Curso de Bacharelado em Ciência da Computação da UFRGS. É delineado, principalmente, como um primeiro curso de Linguagens Formais, sendo auto-contido e podendo ser adotado como bibliografia básica. Possui um texto simples, exemplos detalhados e exercícios em níveis crescentes de raciocínio.
</p>

<hr>

## Linguagens Formais: Teorias e Conceitos

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/9a35921b-4b88-48b3-a2b3-4b62cac471a6" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Linguagens Formais: Teorias e Conceitos</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>RAMOS, M.; NETO, J. J; VEGA, I.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2023</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9786555067163</td>
    </tr>
</table>

### Descrição

<p align="justify">
Concebido como referência para cursos superiores da área de computação, este livro explora tópicos sobre as linguagens definidas pela Hierarquia de Chomsky. Contudo, seu alcance foi expressivamente ampliado pela inclusão de introduções à matemática discreta, aos conceitos básicos de linguagens, à classe das linguagens recursivas, à análise sintática descendente, à decidibilidade e à complexidade.Fruto de diversos anos da experiência docente e dedicação dos autores, em diversas instituições de ensino, à disciplina Linguagens Formais e Autômatos, esta obra, repleta de exemplos e exercícios, mitiga a aridez intrínseca dos muitos assuntos estudados, tornando-os mais acessíveis a um público-alvo amplo e diversificado.
</p>

<hr>

## Linguagens Formais: Exercícios e Soluções

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/9f44b3b7-718c-4c22-aeae-5f11f28388a8" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Linguagens Formais: Exercícios e Soluçõess</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>RAMOS, M.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9786586057591</td>
    </tr>
</table>

### Descrição

<p align="justify">
Fazer exercícios é a maneira mais eficaz de aprender linguagens formais e autômatos. É importante estudar exercícios resolvidos para melhorar o entendimento acerca das estratégias mais usadas e reduzir o tempo de resolução de problemas novos. Ainda assim, é raro que a solução de problemas novos não faça uso, pelo menos em parte, de estratégias consagradas utilizadas em problemas conhecidos.
Em vez de teoria e conceitos abstratos, este livro é composto de 601 exercícios resolvidos sobre as temáticas dos capítulos. A ideia é que, a partir do enunciado, da solução e também das explicações que fundamentam as estratégias apresentadas, o leitor entenda como certas soluções são obtidas e se capacite mais rapidamente na resolução de novos problemas.
</p>

<p align="justify">
Esta obra é uma grande coletânea, devidamente revisada e estendida, do material que foi sendo acumulado ao longo de mais de uma década de dedicação ao ensino da disciplina Linguagens Formais e Autômatos na Universidade Federal do Vale do São Francisco. Em cada capítulo, uma pequena introdução traz um resumo das principais definições e resultados relevantes para o estudo do assunto, o que não dispensa o uso de uma boa referência teórica complementar sobre essa importante matéria.
</p>


================================================
FILE: extras/bibliography/27_artificial_intelligence.md
================================================
# Livros: Inteligência Artificial

<hr>

## Inteligência Artificial - Uma Abordagem de Aprendizado de Máquina

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/c944ffff-502a-414b-9262-9e625a108b1b" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Inteligência Artificial - Uma Abordagem de Aprendizado de Máquina</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>André Carlos Ponce de Leon Ferreira et al.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2021</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521637349</td>
    </tr>
</table>

### Descrição

<p align="justify">
Inteligência Artificial sob novos olhares. Com abordagem equilibrada de tópicos básicos e avançados desenvolvidos por renomados pesquisadores da área, esta nova edição traz exemplos de implemen­tações dos métodos abordados e exercícios teóricos e práticos.Vencedor do Prêmio Jabuti 2012 (Categoria Tecnologia e Informática) quando foi lançado, Inteligência Artificial – Uma Abordagem de Aprendizado de Máquina aborda os principais conceitos e algoritmos de aprendizado de máquina e aponta caminhos para transformar esse conhecimento em aplicações práticas, como:auxílio ao diagnóstico de doenças e descoberta de tratamentos mais eficazes;monitoramento da qualidade da água;prevenção de incêndios florestais;detecção e localização de falhas em linhas de transmissão de energia;reconhecimento de imagens para prover segurança em eventos;bloqueio de mensagens fraudulentas que impõem riscos aos usuários, entre outras.Por que ter Inteligência Artificial?Há algum tempo, a área de inteligência artificial deixou de ser vista apenas como teórica – destinada à aplicação em pequenos problemas “curiosos” – para se tornar um campo de pesquisa crescente, em busca de soluções de problemas reais da sociedade.Katti Faceli, Ana Carolina Lorena, João Gama, Tiago Agostinho Almeida e André Carlos Ponce Carvalho preenchem, com sucesso, a lacuna de livros abrangentes e atualizados voltados ao público nacional.
</p>

<hr>

## Inteligência Artificial

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/cf78a90a-7a45-48e4-87fe-4d2fb18dfeed" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Inteligência Artificial</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>LUGGER, G.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2015</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788581435503</td>
    </tr>
</table>

### Descrição

<p align="justify">
Com uma abordagem clara e objetiva, George F. Luger reúne nesta sexta edição as práticas mais recentes do mercado e os tópicos importantes relacionados à inteligência artificial, como computação emergente, representação da incerteza e processamento probabilístico de linguagem natural, entre outros. Muito rica em exemplos práticos, esta obra é ideal para estudantes de ciência da computação, engenharia da computação e sistemas de informação, pois apresenta equilíbrio entre teoria e prática e os conceitos fundamentais da área, com detalhes e informações necessárias para a implementação dos algoritmos e estratégias discutidos no livro.
</p>

<hr>

## Inteligência Artificial

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/46cc7b23-307f-4eb1-aa44-dac9bcfdf19d" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Inteligência Artificial</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>COPPIN, B.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2010</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521617297</td>
    </tr>
</table>

### Descrição

<p align="justify">
O livro cobre uma variedade de técnicas de Inteligência Artificial, algoritmos e metodologias, incluindo playing game, agentes inteligentes, aprendizado de máquinas, algoritmos genéticos e vida artificial. Com texto descomplicado e acessível, o autor concentra-se em explicar como técnicas de Inteligência Artificial se relacionam e são derivadas de sistemas naturais, tais como o cérebro humano e a própria evolução das espécies, explicando como os equivalentes artificiais são utilizados no mundo real. Cada capítulo inclui uma introdução, explicando o que será abordado, um resumo do capítulo, alguns exercícios e questões para revisão, bem como sugestões para leitura adicional. Há uma bibliografia completa no final do livro, além de um glossário incluindo breves definições da maioria dos termos importantes.
</p>


================================================
FILE: extras/bibliography/28_distributed_computing.md
================================================
# Livros: Computação Distribuída 

<hr>

## Sistemas Distribuídos: Conceitos e Projeto

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/2024369a-f75b-4056-aaf4-271de84cfea7" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistemas Distribuídos: Conceitos e Projeto</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>COULOURIS, G; DOLLIMORE, J; KINDBERG, T; BLAIR, G.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2013</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>5.a edição.</td>
    </tr>
</table>

### Descrição

<p align="justify">
A Internet e a Web não param de crescer e têm impacto cada vez maior em diversos aspectos da nossa sociedade. Do ponto de vista do desenvolvimento de sistemas distribuídos, que interligam computadores e outros dispositivos, esse crescimento impõe novas demandas em termos de arquitetura, algoritmos, requisitos de projeto, variedade de aplicações e de cargas de trabalho. A 5ª edição deste best-seller continua a ser uma fonte de conhecimento abrangente sobre os princípios e a prática de sistemas distribuídos, com estudos de caso modernos que ilustram seu projeto e desenvolvimento e exercícios ao final de cada capítulo que ajudam a fixar o conteúdo abordado.Destaques da 5ª edição:• Novos capítulos: comunicação indireta, objetos e componentes distribuídos e projeto de sistemas distribuídos.• Novos tópicos: computação em nuvem, virtualização de rede e de sistemas operacionais, sistemas peer-to-peer não estruturados, espaços de tupla, baixo acoplamento em serviços Web e computação móvel e ubíqua.• Novos estudos de caso: JavaSpaces, JMS, WebSphere, Messa Queues, Entreprise JavaBeans,Skype, Gnutella, TOTA, L2imbo, BitTorrent, End System Multicast, infraestrutura Google.
</p>

<hr>

## Sistemas Distribuídos: Princípios e Paradigmas 

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/7850fabc-6a4b-4a39-bf96-e1a3c4f34a62" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Sistemas Distribuídos: Princípios e Paradigmas</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Andrew S. Tanenbaum, Maarten Van Steen. </td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2007</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788576051428</td>
    </tr>
</table>

### Descrição

<p align="justify">
Nesta segunda edição, melhorada e atualizada, Tanenbaum e Van Steen apresentam os detalhes de funcionamento dos sistemas distribuídos, bem como as tecnologias subjacentes. Ao separar princípios de paradigmas, os autores mostram como os princípios se relacionam uns com os outros, discutindo quatro classes diferentes de sistemas distribuídos, o que permite uma percepção ainda mais abrangente do conteúdo apresentado.
</p>


================================================
FILE: extras/bibliography/29_graphs.md
================================================
# Livros: Teoria dos Grafos

> #### ⚠️ Infelizmente, nessa seção a bibliografia está em inglês. Caso conheça materiais de qualidade sobre o assunto em Português, abra um PR.

<hr>

## Introduction to Graph Theory

<p align="center">
  <img src="https://m.media-amazon.com/images/I/41URdh0hZLL._SY425_.jpg" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Introduction to Graph Theory</td>
    </tr>
    <tr>
        <th>Autor</th>
        <td>Douglas B. West</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2000</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9780130144003</td>
    </tr>
</table>

### Descrição

<p align="justify">
This book fills a need for a thorough introduction to graph theory that features both the understanding and writing of proofs about graphs. Verification that algorithms work is emphasized more than their complexity. An effective use of examples, and huge number of interesting exercises, demonstrate the topics of trees and distance, matchings and factors, connectivity and paths, graph coloring, edges and cycles, and planar graphs. For those who need to learn to make coherent arguments in the fields of mathematics and computer science.
</p>

<hr>

## Graph Theory

<p align="center">
  <img src="https://media.springernature.com/full/springer-static/cover-hires/book/978-3-662-70107-2?as=webp" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Graph Theory</td>
    </tr>
    <tr>
        <th>Autor</th>
        <td>Reinhard Diestel</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2025</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9783662701065</td>
    </tr>
</table>

### Descrição

<p align="justify">
This standard textbook on modern graph theory combines the authority of a classic with the engaging freshness of style that is the hallmark of active mathematics. It covers the core material of the subject, with concise yet complete proofs, while offering glimpses of more advanced methods in each field via one or two deeper results.
</p>

<p align="justify">
This is a major new edition. Among many other improvements, it offers additional tools for applying the regularity lemma, brings the tangle theory of graph minors up to the cutting edge of current research, and addresses new topics such as chi-boundedness in perfect graph theory.
</p>

<p align="justify">
The book can be used as a reliable text for an introductory graduate course and is also suitable for self-study.
</p>

<hr>

## Graph Theory

<p align="center">
  <img src="https://media.springernature.com/full/springer-static/cover-hires/book/978-1-84628-969-9?as=webp" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Graph Theory</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Adrian Bondy e U.S.R. Murty</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2008</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>1.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9781846289699</td>
    </tr>
</table>

### Descrição

<p align="justify">
Graph theory is a flourishing discipline containing a body of beautiful and powerful theorems of wide applicability. Its explosive growth in recent years is mainly due to its role as an essential structure underpinning modern applied mathematics – computer science, combinatorial optimization, and operations research in particular – but also to its increasing application in the more applied sciences. The versatility of graphs makes them indispensable tools in the design and analysis of communication networks, for instance.
</p>

<p align="justify">
The primary aim of this book is to present a coherent introduction to the subject, suitable as a textbook for advanced undergraduate and beginning graduate students in mathematics and computer science. It provides a systematic treatment of the theory of graphs without sacrificing its intuitive and aesthetic appeal. Commonly used proof techniques are described and illustrated, and a wealth of exercises - of varying levels of difficulty - are provided tohelp the reader master the techniques and reinforce their grasp of the material.
</p>

<p align="justify">
A second objective is to serve as an introduction to research in graph theory. To this end, sections on more advanced topics are included, and a number of interesting and challenging open problems are highlighted and discussed in some detail. Despite this more advanced material, the book has been organized in such a way that an introductory course on graph theory can be based on the first few sections of selected chapters.
</p>


================================================
FILE: extras/bibliography/30_multivariable_calculus.md
================================================
# Livros: Cálculo III

<hr>

## Um Curso de Cálculo - Vol. 3

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/cbcc9f74-c89b-4f57-a97d-f3a39767aaeb" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Um Curso de Cálculo - Vol. 3</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>GUIDORIZZI, H.</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2022</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>6.a edição.</td>
    </tr>
    <tr>
        <th>ISBN</th>
        <td>9788521635451</td>
    </tr>
</table>

### Descrição

<p align="justify">
Guidorizzi, o conteúdo integral para o seu diferencial! De Hamilton Luiz Guidorizzi, Um Curso de Cálculo apresenta recursos pedagógicos digitais que aprofundam e fixam a aprendizagem dos estudantes de Cálculo e auxiliam aulas de professores da disciplina. Este terceiro volume aborda temas como integrais duplas, integrais triplas, integrais de linha, entre outros. É indicado para alunos de graduação de Matemática, Engenharia e Ciências Exatas que cursam Cálculo Diferencial e Integral e disciplinas de Cálculo relacionadas.
</p>

<hr>

## Cálculo III

<p align="center">
  <img src="https://github.com/Universidade-Livre/ciencia-da-computacao/assets/30880723/a7463469-1a51-474b-9ab1-a246689934ed" width="550px">
</p>

<table align="center">
    <tr>
        <th>Título</th>
        <td>Cálculo III</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>CARVALHO, A.N.; NUNES, W.V.L.; ZANI, S.L. </td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2001</td>
    </tr>
</table>

### Descrição

<p align="justify">
Notas de Aula do ICMC - USP.
</p>
<a href="https://www.icmc.usp.br/institucional/estrutura-administrativa/departamentos/sma/material-didatico">Disponível aqui.</a>




================================================
FILE: extras/bibliography/31_theory_of_computation.md
================================================
# Livros: Teoria da Computação

<hr>

## Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing)

<p align="center">
    <img src="https://github.com/jonathan-matheus/ciencia-da-computacao/assets/109118732/ca0b03f1-3126-40d1-9f55-e829600e2c12" width="550px">
</p>

<table align="center">
    <tr>
        <th>Titulo</th>
        <td>Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing)</td>
    </tr>
    <tr>
        <th>Autores</th>
        <td>Martin Davis; Ron Sigal; Elaine J. Weyuker</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>1994</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>

</table>

### Descrição

<p align="justify">
    Computability, Complexity, and Languages is an introductory text that covers the key areas of computer science, including recursive function theory, formal languages, and automata. It assumes a minimal background in formal mathematics. The book is divided into five parts: Computability, Grammars and Automata, Logic, Complexity, and Unsolvability. Computability theory is introduced in a manner that makes maximum use of previous programming experience, including a "universal" program that takes up less than a page. The number of exercises included has more than tripled. Automata theory, computational logic, and complexity theory are presented in a flexible manner, and can be covered in a variety of different arrangements.
</p>

<hr>

## Introdução á Teoria da Computação

<p align="center">
    <img src="https://m.media-amazon.com/images/I/610Mr7w4MlL._SL1005_.jpg" width="550px">
</p>

<table align="center">
    <tr>
        <th>Titulo</th>
        <td>Introdução á teoria da computação</td>
    </tr>
    <tr>
        <th>Autor</th>
        <td>Michael Sipser</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2005</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>2.a edição.</td>
    </tr>
</table>

### Descrição

<p align="justify">
    Esta obra apresenta a teoria da computação por meio de teoremas e provas, sempre com a preocupação do autor em mostrar a intuição por trás de cada resultado e em amenizar a leitura destas últimas, apresentando, para cada teorema, uma ideia da prova. Com este livro, através da prática de resolução de problemas, os alunos, nos exercícios, revisarão definições e conceitos da área e, nos problemas, irão se deparar com atividades que exigem maior engenhosidade. Os três últimos capítulos são novos, e esta 2ª edição incorpora as sugestões de professores e alunos enviadas ao autor ao longo dos anos. Contém material para mais de um semestre de curso, propiciando flexibilidade para escolha de tópicos a serem mais ou menos explorados.
</p>

<hr>

## Introduction to the Theory of Computation

<p align="center">
    <img src="https://github.com/jonathan-matheus/ciencia-da-computacao/assets/109118732/9d51f4ee-1dea-4d49-908d-ddee00f21253" width="550px">
</p>

<table align="center">
    <tr>
        <th>Titulo</th>
        <td>Introduction to the Theory of Computation</td>
    </tr>
    <tr>
        <th>Autor</th>
        <td>Michael Sipser</td>
    </tr>
    <tr>
        <th>Ano de Publicação</th>
        <td>2012</td>
    </tr>
    <tr>
        <th>Edição</th>
        <td>3.a edição.</td>
    </tr>
</table>

### Descrição

<p align="justify">
    Gain a clear understanding of even the most complex, highly theoretical computational theory topics in the approachable presentation found only in the market-leading INTRODUCTION TO THE THEORY OF COMPUTATION, 3E. The number one choice for today's computational theory course, this revision continues the book's well-know, approachable s
Download .txt
gitextract_8jkg2j4b/

├── .all-contributorsrc
├── .github/
│   └── FUNDING.yml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── FAQ.md
├── HELP.md
├── LICENSE
├── README.md
├── extras/
│   ├── bibliography/
│   │   ├── 01_digital_circuits.md
│   │   ├── 02_discrete_mathematics.md
│   │   ├── 03_programming_languages.md
│   │   ├── 04_intro_python.md
│   │   ├── 05_analytic_geometry.md
│   │   ├── 06_intro_calculus.md
│   │   ├── 07_intro_linear_algebra.md
│   │   ├── 08_data_structure.md
│   │   ├── 09_python.md
│   │   ├── 10_object_orientation.md
│   │   ├── 11_graph_algorithms.md
│   │   ├── 12_computer_architecture.md
│   │   ├── 13_statistics_probability.md
│   │   ├── 14_advanced_calculus.md
│   │   ├── 15_haskell.md
│   │   ├── 16_analysis_of_algorithms.md
│   │   ├── 17_numeric_methods.md
│   │   ├── 18_database.md
│   │   ├── 19_computer_architecture_II.md
│   │   ├── 20_logical_programming.md
│   │   ├── 21_computer_network.md
│   │   ├── 22_software_engineering.md
│   │   ├── 23_operating_system.md
│   │   ├── 24_math_optimization.md
│   │   ├── 25_fundamentals_computer_graphics.md
│   │   ├── 26_automata_theory.md
│   │   ├── 27_artificial_intelligence.md
│   │   ├── 28_distributed_computing.md
│   │   ├── 29_graphs.md
│   │   ├── 30_multivariable_calculus.md
│   │   ├── 31_theory_of_computation.md
│   │   ├── 32_deep_learning.md
│   │   ├── 33_compilers.md
│   │   ├── 34_quantum_computing.md
│   │   └── 35_methodology.md
│   ├── books.md
│   ├── courses.md
│   └── softskills.md
└── specializations/
    ├── computer_graphics.md
    ├── cybersecurity.md
    ├── data_science.md
    ├── database_administration.md
    ├── devops.md
    ├── embedded_systems.md
    ├── mobile_development.md
    └── web_development.md
Condensed preview — 54 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (231K chars).
[
  {
    "path": ".all-contributorsrc",
    "chars": 7384,
    "preview": "{\n  \"projectName\": \"ciencia da computacao\",\n  \"projectOwner\": \"Camilotk\",\n  \"repoType\": \"github\",\n  \"repoHost\": \"https:/"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 88,
    "preview": "# These are supported funding model platforms\n\ngithub: [@Universidade-Livre, @Camilotk]\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 2914,
    "preview": "# Código de Conduta\n\nA UBL é um ambiente onde todos os que aprendem e contribuem podem se sentir seguros e acolhidos. Es"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 2389,
    "preview": "# Como contribuir\n\n## Ajudar outros estudantes\n\nO aprendizado sempre é catalisado por ter pessoas engajadas no mesmo obj"
  },
  {
    "path": "FAQ.md",
    "chars": 1499,
    "preview": "# Perguntas Frequentes\n\nEsta página tem como objetivo responder perguntas que frequentemente recebemos. Caso a sua dúvid"
  },
  {
    "path": "HELP.md",
    "chars": 1490,
    "preview": "# Conseguindo Ajuda\n\n### Procure nas Perguntas Frequentes (FAQ)\n\nPor favor, cheque se sua dúvida já não foi respondida n"
  },
  {
    "path": "LICENSE",
    "chars": 1087,
    "preview": "MIT License\n\nCopyright (c) 2021 Universidade Brasileira Livre \n\nPermission is hereby granted, free of charge, to any per"
  },
  {
    "path": "README.md",
    "chars": 43441,
    "preview": "<!--\nMIT License\n\nCopyright (c) 2021 Universidade Brasileira Livre \n\nPermission is hereby granted, free of charge, to an"
  },
  {
    "path": "extras/bibliography/01_digital_circuits.md",
    "chars": 3783,
    "preview": "# Livros: Circuitos Digitais\n\n<hr>\n\n## Sistemas Digitais: Princípios e Aplicações\n\n<p align=\"center\">\n  <img src=\"https:"
  },
  {
    "path": "extras/bibliography/02_discrete_mathematics.md",
    "chars": 4492,
    "preview": "# Livros: Matemática Discreta\n\n<hr>\n\n## Matemática Concreta: Fundamentos Para Ciência Da Computação\n\n<p align=\"center\">\n"
  },
  {
    "path": "extras/bibliography/03_programming_languages.md",
    "chars": 5765,
    "preview": "# Livros: Linguagens de Programação\n\n> #### ⚠️ Infelizmente, nessa seção a bibliografia está em inglês. Caso conheça mat"
  },
  {
    "path": "extras/bibliography/04_intro_python.md",
    "chars": 5188,
    "preview": "# Livros: Introdução a Programação\n\n<hr>\n\n## Pense em Python: Pense como um Cientista da Computação\n\n<p align=\"center\">\n"
  },
  {
    "path": "extras/bibliography/05_analytic_geometry.md",
    "chars": 2296,
    "preview": "# Livros: Geometria Analítica\n\n<hr>\n\n## Geometria Analítica: Um Tratamento Vetorial\n\n<p align=\"center\">\n  <img src=\"http"
  },
  {
    "path": "extras/bibliography/06_intro_calculus.md",
    "chars": 3400,
    "preview": "# Livros: Cálculo I\n\n<hr>\n\n## Cálculo: Volume I\n\n<p align=\"center\">\n  <img src=\"https://github.com/Universidade-Livre/ci"
  },
  {
    "path": "extras/bibliography/07_intro_linear_algebra.md",
    "chars": 3712,
    "preview": "# Livros: Álgebra Linear I\n\n<hr>\n\n## Álgebra Linear\n\n<p align=\"center\">\n  <img src=\"https://github.com/Universidade-Livr"
  },
  {
    "path": "extras/bibliography/08_data_structure.md",
    "chars": 7818,
    "preview": "# Livros: Estruturas de Dados\n\n<hr>\n\n## Algoritmos - Teoria e Prática\n\n<p align=\"center\">\n  <img src=\"https://github.com"
  },
  {
    "path": "extras/bibliography/09_python.md",
    "chars": 4285,
    "preview": "# Livros: Introdução a Programação II\n\n<hr>\n\n## Programação Orientada a Objetos com Java: Uma Introdução Prática Usando "
  },
  {
    "path": "extras/bibliography/10_object_orientation.md",
    "chars": 2848,
    "preview": "# Livros: Orientação a Objetos\n\n<hr>\n\n## Java: como programar\n\n<p align=\"center\">\n  <img src=\"https://github.com/Univers"
  },
  {
    "path": "extras/bibliography/11_graph_algorithms.md",
    "chars": 5364,
    "preview": "# Livros: Algoritimos em Grafos\n\n<hr>\n\n## Algoritmos - Teoria e Prática\n\n<p align=\"center\">\n  <img src=\"https://github.c"
  },
  {
    "path": "extras/bibliography/12_computer_architecture.md",
    "chars": 4569,
    "preview": "# Livros: Arquitetura de Computadores\n\n<hr>\n\n## Arquitetura e Organização de Computadores\n\n<p align=\"center\">\n  <img src"
  },
  {
    "path": "extras/bibliography/13_statistics_probability.md",
    "chars": 5183,
    "preview": "# Livros: Probabilidade e Estatística\n<hr>\n\n## Estatística Aplicada e Probabilidade para Engenheiros\n\n<p align=\"center\">"
  },
  {
    "path": "extras/bibliography/14_advanced_calculus.md",
    "chars": 2468,
    "preview": "# Livros: Cálculo II\n\n<hr>\n\n## Cálculo: Volume II\n\n<p align=\"center\">\n  <img src=\"https://github.com/Universidade-Livre/"
  },
  {
    "path": "extras/bibliography/15_haskell.md",
    "chars": 4868,
    "preview": "# Livros: Programação Funcional\n\n<hr>\n\n## Aprender Haskell será um Grande Bem para Você\n\n<p align=\"center\">\n  <img src=\""
  },
  {
    "path": "extras/bibliography/16_analysis_of_algorithms.md",
    "chars": 5765,
    "preview": "# Livros: Análise de Algoritmos\n<hr>\n\n## Algoritmos\n\n<p align=\"center\">\n  <img src=\"https://github.com/Universidade-Livr"
  },
  {
    "path": "extras/bibliography/17_numeric_methods.md",
    "chars": 4078,
    "preview": "# Livros: Métodos Numéricos\n\n<hr>\n\n## Métodos Numéricos para Engenharia\n\n<p align=\"center\">\n  <img src=\"https://github.c"
  },
  {
    "path": "extras/bibliography/18_database.md",
    "chars": 5217,
    "preview": "# Livros: Banco de Dados\n<hr>\n\n## Sistema de Banco de Dados\n\n<p align=\"center\">\n  <img src=\"https://github.com/Universid"
  },
  {
    "path": "extras/bibliography/19_computer_architecture_II.md",
    "chars": 4569,
    "preview": "# Livros: Arquitetura de Computadores\n\n<hr>\n\n## Arquitetura e Organização de Computadores\n\n<p align=\"center\">\n  <img src"
  },
  {
    "path": "extras/bibliography/20_logical_programming.md",
    "chars": 2101,
    "preview": "# Livros: Programação Lógica\n\n<hr>\n\n## Aprenda PROLOG Já!\n\n<p align=\"center\">\n  <img src=\"https://github.com/Universidad"
  },
  {
    "path": "extras/bibliography/21_computer_network.md",
    "chars": 2429,
    "preview": "# Livros: Redes de Computadores\n\n<hr>\n\n## Redes de Computadores e a Internet: Uma Abordagem Top-Down\n\n<p align=\"center\">"
  },
  {
    "path": "extras/bibliography/22_software_engineering.md",
    "chars": 5289,
    "preview": "# Livros: Engenharia de Software \n<hr>\n\n## Engenharia de Software \n\n<p align=\"center\">\n  <img src=\"https://github.com/Un"
  },
  {
    "path": "extras/bibliography/23_operating_system.md",
    "chars": 5231,
    "preview": "# Livros: Sistemas Operacionais\n\n<hr>\n\n## Sistemas Operacionais Modernos\n\n<p align=\"center\">\n  <img src=\"https://github."
  },
  {
    "path": "extras/bibliography/24_math_optimization.md",
    "chars": 6255,
    "preview": "# Livros: Programação Matemática\n\n<hr>\n\n## Introdução à Pesquisa Operacional\n\n<p align=\"center\">\n  <img src=\"https://git"
  },
  {
    "path": "extras/bibliography/25_fundamentals_computer_graphics.md",
    "chars": 3257,
    "preview": "# Livros: Fundamentos de Computação Gráfica\n\n<hr>\n\n## Fundamentos de Computação Gráfica\n\n<p align=\"center\">\n  <img src=\""
  },
  {
    "path": "extras/bibliography/26_automata_theory.md",
    "chars": 5283,
    "preview": "# Livros: Linguagens Formais e Autômatos\n\n<hr>\n\n## Linguagens Formais e Autômatos\n\n<p align=\"center\">\n  <img src=\"https:"
  },
  {
    "path": "extras/bibliography/27_artificial_intelligence.md",
    "chars": 4954,
    "preview": "# Livros: Inteligência Artificial\n\n<hr>\n\n## Inteligência Artificial - Uma Abordagem de Aprendizado de Máquina\n\n<p align="
  },
  {
    "path": "extras/bibliography/28_distributed_computing.md",
    "chars": 3015,
    "preview": "# Livros: Computação Distribuída \n\n<hr>\n\n## Sistemas Distribuídos: Conceitos e Projeto\n\n<p align=\"center\">\n  <img src=\"h"
  },
  {
    "path": "extras/bibliography/29_graphs.md",
    "chars": 4894,
    "preview": "# Livros: Teoria dos Grafos\n\n> #### ⚠️ Infelizmente, nessa seção a bibliografia está em inglês. Caso conheça materiais d"
  },
  {
    "path": "extras/bibliography/30_multivariable_calculus.md",
    "chars": 1888,
    "preview": "# Livros: Cálculo III\n\n<hr>\n\n## Um Curso de Cálculo - Vol. 3\n\n<p align=\"center\">\n  <img src=\"https://github.com/Universi"
  },
  {
    "path": "extras/bibliography/31_theory_of_computation.md",
    "chars": 5905,
    "preview": "# Livros: Teoria da Computação\n\n<hr>\n\n## Computability, Complexity, and Languages: Fundamentals of Theoretical Computer "
  },
  {
    "path": "extras/bibliography/32_deep_learning.md",
    "chars": 407,
    "preview": "# Livros: Deep Learning\n\nGOODFELLOW, I.; BENGIO, Y.; COURVILLE, A. Deep Learning. Cambridge, Massachusetts: The Mit Pres"
  },
  {
    "path": "extras/bibliography/33_compilers.md",
    "chars": 1155,
    "preview": "# Livros: Compiladores\n\n<hr>\n\n## Compiladores: Princípios, Técnicas e Ferramentas\n\n<table align=\"center\">\n    <tr>\n     "
  },
  {
    "path": "extras/bibliography/34_quantum_computing.md",
    "chars": 491,
    "preview": "# Livros: Computação Quântica\n\nNIELSEN, Michael A. Computação quântica e informação quântica. Bookman, c2003. xix, 733 p"
  },
  {
    "path": "extras/bibliography/35_methodology.md",
    "chars": 168,
    "preview": "# Livros: Metodologia da Pesquisa\n\nMetodologia de Pesquisa para Ciência da Computação -  Raul Sidnei WAZLAWICK\n\nBases Te"
  },
  {
    "path": "extras/books.md",
    "chars": 2627,
    "preview": "# Livros Sobre a Área de Computação:\n\n- Entendendo Algoritmos: Um Guia Ilustrado Para Programadores e Outros Curiosos. A"
  },
  {
    "path": "extras/courses.md",
    "chars": 1677,
    "preview": "# Ciência da Computação - Ótimos Cursos\n\nEssa é uma lista de cursos de excelente qualidade que por uma razão ou outra ac"
  },
  {
    "path": "extras/softskills.md",
    "chars": 1,
    "preview": "\n"
  },
  {
    "path": "specializations/computer_graphics.md",
    "chars": 2331,
    "preview": "## Computação Gráfica\n\nA computação gráfica é a área da computação destinada à geração de imagens em geral — em forma de"
  },
  {
    "path": "specializations/cybersecurity.md",
    "chars": 3012,
    "preview": "## CyberSecurity\n\nA área da segurança da informação vem crescendo cada vez mais com a ascenção da Internet e dos negócio"
  },
  {
    "path": "specializations/data_science.md",
    "chars": 3034,
    "preview": "### Ciência de Dados\n\nCiência de dados (Data science) é uma área interdisciplinar voltada para o estudo e a análise de d"
  },
  {
    "path": "specializations/database_administration.md",
    "chars": 236,
    "preview": "\n### Database Administrator (DBA)\n\n**Áreas de aplicação**:\n`administração de banco de dados`\n`organização de tabelas de "
  },
  {
    "path": "specializations/devops.md",
    "chars": 3816,
    "preview": "## DevOps\n\nA metodologia DevOps é uma abordagem de cultura, automação e design de plataforma que tem como objetivo agreg"
  },
  {
    "path": "specializations/embedded_systems.md",
    "chars": 2869,
    "preview": "## Embarcados\n\nUm sistema embarcado (ou sistema embutido) é um sistema microprocessado no qual o computador é completame"
  },
  {
    "path": "specializations/mobile_development.md",
    "chars": 213,
    "preview": "### Desenvolvimento Mobile\n\n**Áreas de aplicação**:\n`jogos mobile`\n`aplicativos para smartphone`\n`desenvolvimento para t"
  },
  {
    "path": "specializations/web_development.md",
    "chars": 2689,
    "preview": "## Desenvolvimento Web\n\nDesenvolvimento web é o termo utilizado para descrever o desenvolvimento de sites, na Internet o"
  }
]

About this extraction

This page contains the full source code of the Universidade-Livre/ciencia-da-computacao GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 54 files (216.0 KB), approximately 61.9k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!