O que são alguns livros de informática para iniciantes?
O curso de graduação "Ciência da Computação" é um programa rigoroso de 4 anos que ensina a raciocinar e a construir entidades computacionais. A maior parte dele é abstrato, com uma dose pesada de matemática discreta. Os alunos implementam os fundamentos ensinados a eles usando programação de computadores.Em sua pergunta, parece que você'está mais interessado em aprender como programar e também aprender alguns dos princípios do design de software ao longo do caminho. Eu recomendaria "Programação Python": Uma Introdução à Informática". Este livro também é usado no MIT CS 6.00 para ensinar alunos calouros de CS que podem ter zero experiência em programação.
Python é uma linguagem muito agradável, de propósito geral e fácil que pode ilustrar vários estilos de raciocínio sobre computação. Não há nada contra o C (ou C++) do meu lado; eu aprendi na escola secundária e tenho programado extensivamente através da faculdade. É, no entanto, uma linguagem de nível bastante baixo, mais adequada para o desenvolvimento de software de sistemas. Você deve ter em mente que a escolha da linguagem de programação irá influenciar muito o seu pensamento sobre computação. C não tem'não tem funções como cidadãos de primeira classe, então seu pensamento sobre a construção de software se você só ler C, será limitado a um estilo imperativo.
Após você ter alguma fluência em pelo menos uma linguagem de programação, você deve gastar algum tempo compreendendo estruturas de dados e algoritmos básicos. Eu recomendaria um livro muito básico para isso, algo na linha de "Data Structures and Algorithms in Java" de Robert Lafore. Como você já conhece um pouco de C, Java será muito fácil de aprender. Como outros cartazes mencionados, você também pode usar Cormen et. al. para entender Algoritmos, porém tenha em mente que é um livro de texto avançado, tipicamente usado em nível de pós-graduação. Um bom conhecimento de Estruturas de Dados é uma necessidade absoluta para se tornar um bom programador. Pense neles como uma coleção de ferramentas para atacar qualquer problema, semelhante a uma caixa de ferramentas de um carpinteiro ou de um mecânico. Depois disto, você pode querer "olhar debaixo do capô" e passar algum tempo compreendendo a arquitetura da máquina. Um excelente livro para este propósito é "Computer Systems": A Programmers Perspective" de Randal E Bryant, da Universidade Carnegie Mellon. Eu posso'não o recomendo o suficiente. Uma vez que você saiba como os computadores realmente funcionam, você pode começar a aprender e usar técnicas avançadas de programação como multithreading para fazer uso de máquinas multiprocessador e criar programas ultra rápidos e escaláveis.
CS é um campo fascinante e I'estou feliz que você'esteja interessado nele. No final, divirta-se, e don'evite fazer uso dos sites de cursos abertos disponíveis gratuitamente no MIT, Stanford, etc. Aqui's um link para o curso de Introdução à CS no MIT que mencionei anteriormente:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/
Artigos semelhantes
- Qual é o melhor dispositivo para a leitura de livros de programação e manuais de informática (eBook readers/tablets)?
- Quais são alguns livros recomendados para os iniciantes aprenderem sobre finanças e Wall Street?
- Quais são os melhores filmes que explicam a tecnologia informática?
- A tecnologia informática e a tecnologia da informação são iguais?