Notes on C, Unix and Scripting
Last updated on 2018-08-23
About the Book
These are the notes I developed while teaching a very unusual course at Carnegie Mellon University over 10 years ago. The course was expected to provide first year Computer Science students with a quick introduction to C, Unix and Scripting. Most students only knew Java and did not know a low-level programming languages or scripting that are critical to succeed in upper level courses. Hence the notes that helped cover those topics, not in depth, but just enough to get by. Over the years, people have found these notes online and used them. Now I thought of assembling them together. This might help you learn some of these topics quickly, but you need to find other books to supplement if you need to get a deeper understanding of any of these topics. I plan to add more supplemental material to this book in the coming months and years. I hope I have attributed credits to any material I have used in the book or I will do so, as I find them. The book is not formatted at the moment, but will be in the future and you will receive free updates..
I have intentionally revisited the same topics again and again. As we revisit these topics, the reader will be able to reinforce them more. There can be some errors in book. I appreciate if you let me know by sending email to firstname.lastname@example.org. I hope you will find this material useful in getting a quick overview of C programming in UNIX, Shell and Perl Scripting and Assembly Programming and Basics of Systems Programming. You can find lot more material such as skills labs, programming labs and demo code at the old site http://www.cs.cmu.edu/~guna/15-123S11/. The site is not well formatted, but hope it is useful.
Chapter 01 - Introduction to C and Unix
Chapter 02 - Arrays, Functions and IO
Chapter 03 - Pointers and Strings
Chapter 04 - Arrays and Pointers
Chapter 05 - Pointer to a Pointer
Chapter 06 - Debugging and Memory Leaks
Chapter 07 - Advanced Topics in Pointers
Chapter 08 - Dealing with Dynamic Memory
Chapter 09 - Structs and Linked Lists
Chapter 10 - Linked List Operations
Chapter 11 - Array of Linked Lists
Chapter 12 - Doubly Linked Lists and Recursion
Chapter 13 - Function Pointers
Chapter 14 - Generic Data Structures
Chapter 15 - Introduction to Hashing
Chapter 16 - Bit Operations
Chapter 17 - Regular Expressions
Chapter 18 - Perl Programming
Chapter 19 - Advanced Perl Programming
Chapter 20 - Shell Scripting
Chapter 21 - Shell Scripting II
Chapter 22 - Systems Programming
Chapter 23 - Systems Programming II
Chapter 24 - Assembler Fundamentals
Chapter 25 - C and Assembly
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
Free Updates. Free App. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.