Skip to content

tcharding/self_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self Learning

To follow the path, look to the master, follow the master, walk with the master, see through the master, become the master. -- Zen Proverb

This tree contains source code I have written (also in some cases source code downloaded from text book website) whilst learning the craft of programming. Categorized by text book name (or abbreviation thereof). I have attempted to attribute all source files that were typed directly from texts to their respective authors in the first line of the code. Attribution is generally given in the source files only (not the header files). However, many files contain lines of code, or whole functions, taken directly from a text. This has been done on the path of knowledge and, I believe, is within the spirit with which the texts were written.

I owe a debt of gratitude to the authors of these texts for having the opportunity to learn from them. Many thanks.

Directory Listing

adt:
Abstract Data Types - Implemented in C.

aic:
Algorithms in C (Third edition) Parts 1-4 - Robert Sedgewick

assembler/arm/aal:
Arm Assembly Language Fundamentals and Techniques by William Hohl

assembler/arm/eggwall:
Arm Assembly exercises http://www.eggwall.com/2011/09/android-arm-assembly-device-set-up-part.html

blp:
Beginning Linux Programming - Neil Matthew and Richard Stones.

CLRS:
Introduction to Algorithms - Cormen, Leiserson, Rivest, Stein

cpl:
The C Programming Language - Brian W. Kernighan, Denis M. Ritchie, Second edition.

gopl:
The Go Programming Language - Alan A. A. Donovan, Brian W. Kernighan

haskell/LearnYouAHaskell:
Learn You a Haskell for Great Good http://learnyouahaskell.com/

haskell/RealWorldHaskell:
Real World Haskell - Bryan O'Sullivan, John Goerzen, Don Stewart

haskell/CIS194:
http://www.seas.upenn.edu/~cis194/fall16/

haskell99HaskellProblems:
https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems

perl/learning-perl:
Learning Perl - Randal L. Schwartz, brian d foy and Tom Phoenix, Sixth edition.

perl/intermediate-perl:
Intermediate Perl - Randal L. Schwartz, brian d foy and Tom Phoenix, Second edition.

programming-perls:
Programming Perls - Jon Bentley

pthw:
Python the Hard Way - Zed A. Shaw.

scheme/little-schemer:
The Little Schemer - Daniel P. Friedman and Matthais Felleisen (Fourth Edition).

scheme/seasoned-schemer:
The Seasoned Schemer - Daniel P. Friedman and Matthais Felleisen (Fourth Edition).

scheme/scheme-programming-language:
The Scheme Programming Language - R. Kent Dybvig (Fourth Edition).

scheme/sicp:
Structure and Interpretation of Computer Programs - Harold Abelson and Gerald Jay Sussman with Julie Sussman

tlpi:
The Linux Programming Interface - Michael Kerrisk

UNIX/apue:
Advanced Programming in the UNIX Environment - Stevens and Rago, Third Edition.

UNIX/usp:
UNIX SYSTEMS Programming - Kay A. Robbins, Steven Robbins.

UNIX/unp:
UNIX Network Programming - Stevens, Fenner, Rudoff, Volume 1, Third Edition.

tpop:
The Practice of Programming - Brian W. Kernighan, Rob Pike.

Approximate Line Counts

Calculated using wc on source files (C headers excluded)

apue: 9000
unp: 3000
usp 8000
tlpi: 9000
perl: 2000
C lib: 1000

Solution code not public (at the request of the project)

Eudyptula Challenge (C, kernel): 1000
Project Euler (Python): 3000
Matasano cryptography challenges (Python): 2000
HackerRank (Golang): More than 10 000 (not including test code).

Line count does not include open source contributions

Total approximate line count for apprenticeship so far: approx 50 000

About

Text books and programming problem websites

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published