Difference between revisions of "Learning Resource Recommendations"

From the Linux and Unix Users Group at Virginia Teck Wiki
Jump to: navigation, search
imported>Mjh
(Started migrating stuff to fancy table)
imported>Mjh
(More stuff converted to table)
Line 7: Line 7:
 
! Notes
 
! Notes
 
|-
 
|-
|rowspan="2" |"Hacking" (example)
+
|Hacking
 
|[http://www.catb.org/esr/faqs/hacker-howto.html How To Become a Hacker] - Eric Raymond
 
|[http://www.catb.org/esr/faqs/hacker-howto.html How To Become a Hacker] - Eric Raymond
 
|Introduction to hacking
 
|Introduction to hacking
 
|-
 
|-
 +
|Hacking
 
|[http://paulgraham.com/gba.html The Word "Hacker"] - Paul Graham
 
|[http://paulgraham.com/gba.html The Word "Hacker"] - Paul Graham
 
|Another introduction
 
|Another introduction
Line 87: Line 88:
 
|-
 
|-
 
| Perl || Learning Perl ||  ||  
 
| Perl || Learning Perl ||  ||  
 +
|-
 +
| R || R Language Definition * || ||
 +
|-
 +
| R || An Introduction to R * || ||
 
|-
 
|-
 
| Ruby || [http://ruby.railstutorial.org/ Ruby on Rails Tutorial: Learn Web Development with Rails (2nd edition)] ||  ||
 
| Ruby || [http://ruby.railstutorial.org/ Ruby on Rails Tutorial: Learn Web Development with Rails (2nd edition)] ||  ||
 +
|-
 +
|}
 +
 +
 +
==Computer Science==
 +
{| class='wikitable sortable'
 +
|-
 +
! Topic !! Title !! Author !! Notes
 +
|-
 +
| Algorithms || Intro to Algorithms || Corman, Leiserson, Rivest, Stein ||
 +
|-
 +
| Algorithms || The Art Of Computer Programming: Fundamental Algorithms || Knuth ||
 +
|-
 +
| Algorithms || The Art Of Computer Programming: Seminumerical Algorithms || Knuth ||
 +
|-
 +
| Algorithms || The Art Of Computer Programming: Sorting and Searching || Knuth ||
 +
|-
 +
| Algorithms || The Art Of Computer Programming: Combinatorial Algorithms, Part 1 || Knuth ||
 +
|-
 +
| Compilers || The Art of Compiler Design || ||
 +
|-
 +
| Computer Architecture || What Every Programmer Should Know About Memory *  || ||
 +
|-
 +
| Computer Vision || Learning OpenCV || ||
 +
|-
 +
| Machine Learning || Machine Learning for Hackers || ||
 +
|-
 +
| Networking || TCP/IP Illustrated, Volume 1 || ||
 +
|-
 +
| Operating Systems || Mac OS X Internals || ||
 
|-
 
|-
 
|}
 
|}
Line 111: Line 146:
  
 
==Misc==
 
==Misc==
* Introduction to Algorithms
 
 
* Checking C Programs with lint
 
* Checking C Programs with lint
* What Every Programmer Should Know About Memory *
 
* Machine Learning for Hackers
 
* The Art Of Computer Programming: Fundamental Algorithms
 
* The Art Of Computer Programming: Seminumerical Algorithms
 
* The Art Of Computer Programming: Sorting and Searching
 
* The Art Of Computer Programming: Combinatorial Algorithms, Part 1
 
* Learning OpenCV
 
* Mac OS X Internals
 
 
* Mastering Regular Expressions
 
* Mastering Regular Expressions
* The Art of Compiler Design
 
 
* Eloquent JavaScript *
 
* Eloquent JavaScript *
 
* JavaScript: The Good Parts
 
* JavaScript: The Good Parts
Line 130: Line 155:
 
* PDF Explained
 
* PDF Explained
 
* PostScript Language *
 
* PostScript Language *
* TCP/IP Illustrated, Volume 1
 
* An Introduction to R *
 
* R Language Definition *
 
  
 
<nowiki>*</nowiki> denotes digital-only format
 
<nowiki>*</nowiki> denotes digital-only format

Revision as of 02:34, 25 January 2013

This page contains recommendations for learning technical information on a variety of subjects.

Topic Resources Notes
Hacking How To Become a Hacker - Eric Raymond Introduction to hacking
Hacking The Word "Hacker" - Paul Graham Another introduction

Reference Cards

External Lists

Free Programming Books

Productivity

Topic Title Author Notes
Shell Learning the Bash Shell
Shell From Bash to Z Shell: Conquering the Command Line
Version Control Version Control with Git

Software Engineering

  • Beautiful Code
  • The Art Of Readable Code
  • Code Simplicity
  • Design Patterns
  • The Practice of Programming

Programming

Topic Title Author Notes
ASM PC Assembly Language *
C The C Programming Language Kerninghan & Ritchie
C C: A Reference Manual
C The Standard C Library
C The Elements of C Programming Style
C 21st Century C
C Mastering Algorithms with C
C++ The C++ Programming Language
C++ C++ The Core Language
C++ Practical C++ Programming
C++ Safe C++
C++ Effective STL
C++ C++: The Good Parts Still being written as of Dec. 2012
Haskell Learn You a Haskell for Great Good
Java Thinking in Java *
Java Effective Java
Perl Learning Perl
R R Language Definition *
R An Introduction to R *
Ruby Ruby on Rails Tutorial: Learn Web Development with Rails (2nd edition)


Computer Science

Topic Title Author Notes
Algorithms Intro to Algorithms Corman, Leiserson, Rivest, Stein
Algorithms The Art Of Computer Programming: Fundamental Algorithms Knuth
Algorithms The Art Of Computer Programming: Seminumerical Algorithms Knuth
Algorithms The Art Of Computer Programming: Sorting and Searching Knuth
Algorithms The Art Of Computer Programming: Combinatorial Algorithms, Part 1 Knuth
Compilers The Art of Compiler Design
Computer Architecture What Every Programmer Should Know About Memory *
Computer Vision Learning OpenCV
Machine Learning Machine Learning for Hackers
Networking TCP/IP Illustrated, Volume 1
Operating Systems Mac OS X Internals

Unix

  • The Design and Implementation of the 4.4 BSD Operating System
  • Berkeley Unix: A Simple and Comprehensive Guide
  • Unix Made Easy
  • The Unix Programming Environment
  • Advanced Programming in the Unix Environment (2nd Edition)
  • The Art of Unix Programming
  • Unix Systems for Modern Architectures
  • UNIX Power Tools
  • Using C on the UNIX System

Security

  • The Art of Software Security Assessment
  • The Book of PF (2nd edition)
  • Applied Cryptography
  • Handbook of Applied Cryptography *
  • Applied Cryptography: Protocols, Algorithms, and Source Code in C

Misc

  • Checking C Programs with lint
  • Mastering Regular Expressions
  • Eloquent JavaScript *
  • JavaScript: The Good Parts
  • WebGL: Up and Running
  • Node: Up and Running
  • HTML & CSS: The Good Parts
  • PDF Explained
  • PostScript Language *

* denotes digital-only format