Problem Solving and Program
Design in C (3rd Edition) : Jeri R. Hanly, Elliot B.
Koffman : Addison Wesley Publishing Company (January 15, 2002) :
ISBN 0201754908
For learning C programing, I used the online University of Washington
“CSE
142 TVI - Lecture Materials, Autumn 2000” course
instructed by Dr. Martin Dickey.
Excellent – The instructor (Dr. Martin Dickey) giving the
prerecorded video lectures provided a very understandable dialog
and this made learning C incredibly easy. Along with this book,
a person can gain a very good basic understanding of computer C
programming. C++ and Java courses are also available online
through the University Washington website, however, you may be
lacking the excellent instruction from Dr. Martin Dickey. I used
this book as a supplementary to the video lectures. Without the
lectures, I consider this to be just an everyday book about
learning C programming.
In order to watch these videos
along side the JPEG slide show; you'll either need to update the
Lecture Files or ensure you have the an older Windows Media
Player version, or for other operating systems use WMClear for
extracting the slide show timings as noted below. Or guess
when to turn the slide image.
For Windows operating
systems, see my WMP9_template
page for applying this fixed template to the CSE 142
videos. (Required for viewing the videos alongside their
timed slideshow or slide images using Windows operating
systems.)
For Linux and other
operating systems, see my WMClear
web page hosting patches for fixing it's wmreader. (For
extracting the time markers metadata, or ASF script commands,
when using Linux or other operating systems.) FFmpeg's ffplay or
ffprobe will also display ASF slide transition timing metadata,
according to FFmpeg's own timings. Although FFmpeg has
little acceleration, this is likely the best method of viewing
the videos alongside their intended slideshow, as you can pause
and not loose your place while switching slides, as the time
within the output of ffplay corresponds to the metadata time
markers initially printed. On initial view, ffprobe/ffplay
printout of the ASF time markings seem to be more closer to even
mplayer's video stream A/V timer, then using wmreader's
output. Trying to put something together script based to
automate the slides seems possible, but the necessary feature of
a pause feature while watching will interrupt the video and
slide automated synchronization. So probably best to use a
minimal file or image browser (such as geeqie) while playing the
video.
Linux Shell Scripting with Bash : Ken O Burtch : Prentice Hall (January 2004) : ISBN 0672326426
This is an excellent book for the serious Bash scripting
programmer who, “wants to learn a more proper Bash scripting
fundamentals”. The author is well experienced with programming
and demonstrates his knowledge thoroughly with this book. Well
written and easily understandable. For anybody just starting
Bash scripting to the more experienced scripter.
(Excellent)
Linux Programming by Example: The Fundamentals : Arnold Robbins : Pearson Education, Inc. (April 2004) : ISBN 0131429647
After learning some C, this book will give you a proper method
of programming GNU Linux/Unix system call APIs. (ie: Opening and
writing to files.) Covers C language common to the Linux/GNU
programmer, language not usually found in the other main stream
C/C++ books. Includes proper, more common implementations
including many examples.
(Very Good - Still reading)
Programming for the
Ground Up :
Jonathon Bartlett; Dominick, Jr. Bruno Ed. : Bartlett
Publishing (July 31, 2004) : ISBN 0975283847
The first book detailing how to program Assembly Language
using GNU Linux. A great book for any devoted programmer
detailing how and why programming is the way it is. Includes
the famous "Hello World" program as well as a detailed themed
program within each of it's chapters for thorough studying. If
you wish, sign-up for the email
list or view the
it's archives. (Excellent - Only book on
GNU Linux ASM to date! This should be a required supplementary
book for any programming class teaching anything about GNU
programming.)
Linux 2.6 Kernel Developement (2nd Edition) : Robert Love : Novell Press (January 12, 2005) : ISBN 0672327201
In my opinion, cut & dry but gives quite a few good examples such as the famous "Hello World" module. This book covers allot of material about the Kernel-2.6, including debugging techniques. The online reviews can document more about this book then I can as I've just started reading it. If you're a kernel developer or wanting to gain an understanding of the Linux kernel, then this is your book!
(Still reading)
The C Programming Language, Second Edition : Brian W. Kernighan and Dennis M. Ritchie. : Prentice Hall, Inc., 1988 : ISBN 0-13-110362-8
Your basic, should have on the shelf, C programming book which paved the path to ANSI C. "C Programming: A Modern Approach, 2nd Edition by K.N. King ISBN 0393979504", being more recently written and published, is mentioned within the #C irc channel as well.
Practical C Programming, Third Edition : Steve Oualline : O'Reilly Media (August 1997 ) : ISBN 978-1-56592-306-5
A good second source when stumped by the other books. Topics contain more explanation within this book.
Mastering Algorithms with C : Kyle Loudon : O'Reilly Media (August 1999 ) : ISBN 978-1-56592-453-6
Section I. "Preliminaries" really provided clarification concerning the confusion surrounding Arrays and Pointers. Much like learning Assembly Language, and Assembly Language providing clarification of other language grammar and syntax implementations. Have yet to read the remainder of this book, as the remainder is loaded with information on C algorithms