Recursos diversos

Sumário

Livros

Esta disciplina utilizará os seguintes livros:

Programming Abstractions in C Livro base 1: Programming Abstractions in C, de Eric S. Roberts, publicado pela Addison-Wesley, 1998 (1ª edição). Livro didático e muito bem escrito. Será o livro de base para nossa disciplina (as aulas seguirão muito de perto o conteúdo do livro). A Parte I do livro é um revisão acelerada dos principais conceitos da linguagem C necessários. A Parte II está focada no conceito de recursividade. A Parte III tem dois grandes objetivos: introduzir os principais tipos de dados não recursivos (os tipos de dados mais comuns em um curso de estruturas de dados), e ensinar abstração de dados através de interfaces, tendo os TADs como conceito unificador. A Parte IV é focada nos principais tipos de dados recursivos.

The Algorithm Design Manual Livro base 2: The Algorithm Design Manual, de Steven S. Skiena, publicado pela Springer, 2020 (3ª edição). Também é um livro bem didático Livro didático e muito interessante: a primeira parte tem o conteúdo teórico e a segunda parte é um manual de projetos de algoritmos. Não será utilizado no dia a dia mas, eventualmente, alguns capítulos serão indicados.

Algorithms in Livro de consulta 1: Algorithms in C, de Robert Sedgweick, publicado pela Addison-Wesley, 1997 (3ª edição), em dois volumes. O volume 1 contém material introdutório, estruturas de dados e algoritmos de busca e ordenação. O volume 2 é dedicado a algoritmos para grafos. Não será utilizado dirtamente, mas servirá para cosulta e referência. As figuras são muito boas.

Introduction to Algorithms Livro de consulta 2: Introduction to Algorithms, de Thomas H. Cormen e outros autores, publicado pela MIT Press, 2022 (4ª edição). Também não será utilizado diretamente, mas servirá para consulta e referência. O texto tem um enfoque mais matemático e baseado em provas, e os algoritmos são descritos em pseudocódigo.

Introduction to Algorithms Livro de consulta 3: Algoritmos em Linguagem C, de Paulo Feofiloff, publicado pela Elsevier, 2009 (1ª edição). Também não será utilizado diretamente, mas servirá para consulta e referência. Discute algoritmos para alguns problemas básicos de computação bem como as correspondentes estruturas de dados. Dá grande destaque aos algoritmos recursivos, documentação e elegância do código. Uma versão gratuita em PDF pode ser obtida diretamente no site do autor.

The Art and Science of C Livro de revisão C: The Art and Science of C, de Eric S. Roberts, publicado pela Addison-Wesley, 1995 (1ª edição). É um livro didátivo e muito bem escrito, sendo uma introdução à ciência da computação através da linguagem C, com o uso de uma biblioteca de funções própria para facilitar o aprendizado pelos alunos. Servirá como consulta e referência para a lingaugem C.

Softwares de virtualização

Desde o ano de 2024 a vmware liberou gratuitamente para uso pessoal seus softwares de virtualização para desktops, o VMware Workstation Pro (para Linux e Windows) e o VMware Fusion Pro (para Mac). Você pode fazer um rápido cadastro no site da vmware e fazer o download. Apenas com o intuito de facilitar e agilizar o processo de download para nossos alunos, os links abaixo correspondem às versões mais recentes desses sistemas de virtualização:

Desktop virtual Linux

Neste disciplina você trabalhará com programação C, usando bibliotecas especializadas (CRpaic e CSLIB). Para facilitar a padronização do ambiente para todos os alunos, está disponível para download e uso uma máquina virtual para os softwares de virtualização da vmware (Workstation ou Fusion), com todas as ferramentas necessárias instaladas e configuradas. Você pode fazer o download da máquina virtual nos links abaixo:

Se você tem um computador Windows, recomenda-se enfaticamente que você utilize o VMware Workstation Pro 17 para Windows com o Desktop Virtual Linux 1.0 do Computação Raiz. Isso irá poupá-lo de muitos e muitos problemas de instalação e configuração das ferramentas necessárias diretamente no Windows.

Se você tem um computador Linux, você tem duas opções:

  • Usar o Desktop Virtual Linux: sim, é possível usar uma máquina virtual Linux até mesmo em um computador Linux (mais fácil); ou
  • Instalar diretamente as ferramentas e bibliotecas necessárias em seu computador (um pouco mais difícil, mas 100% possível)

Se você tem um computador Mac, você tem duas opções:

  • Usar o Desktop Virtual Linux: você pode usar o VMware Fusion e instalar a máquina virtual em seu Mac (mais fácil); ou
  • Instalar diretamente as ferramentas e bibliotecas necessárias em seu computador (um pouco mais difícil, mas 100% possível)

Uso correto do papel almaço

Arredondamento de notas


Última modificação desta página: 2025-02-14 08:12:00 -0300;
Último build deste site: 2025-03-23 00:57:07 -0300.