When comparing The C Programming Language (AKA: K&R) vs CS50x - HarvardX (edX), the Slant community recommends The C Programming Language (AKA: K&R) for most people. In the question“What are the best resources for a beginner to learn C?” The C Programming Language (AKA: K&R) is ranked 2nd while CS50x - HarvardX (edX) is ranked 4th. The most important reason people chose The C Programming Language (AKA: K&R) is:
This book is so well known that it's affectionately called "K & R", after the authors. It's been cited in many other books and is familiar to most, if not all, CS students.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Well known classic
This book is so well known that it's affectionately called "K & R", after the authors.
It's been cited in many other books and is familiar to most, if not all, CS students.
Pro It's excerpted from the idea of its creators
This book is written by Dennis Ritchie, who was one of the main people behind the development and design of C and UNIX.
Pro Creative, challenging exercises
The challenges at the end of each chapter do a great job of requiring many of the skills learned up to that point. Completing the challenges is a great way of insuring you understand the material.
Pro This book set the template for programming language books
Pro Amazing instructors
The instructors are very enthusiastic and extremely knowledgeable.
The main professor uses a variety of fun examples to demonstrate points, often making for exciting and funny lectures.
Pro High quality instruction
CS50x is the actual Harvard course turned into a MOOC, with the lectures filmed from the actual Harvard course. The problem sets are all the same as well.
This has resulted in the quality of the course being extremely high.
Pro Really in-depth
The reason the time demand for the course is so great is because of how in-depth it is.
CS50 has you programming in C right from the start. Computer Science concepts, such as runtime analysis and data structures, are also taught very early on and applied in projects.
Along with C, this course will also introduce you to web development (JavaScript and PHP).
Cons
Con Out of Date
Some commands and practices are out of date, so errata and googling is needed while going through the book.
Con Teaches bad style
The K&R style works for old Unix mainframe command-line programs that exit after a simple task and leave the cleanup to the OS; where input is only from trusted experts; and most functions are only called internally to the program. The environment is very different today. This style will get your server owned by hackers, or crash it due to a memory leak, etc. You will have to unlearn what you've learned from this book to use C correctly in the real world today.
Con Not for beginners
Assumes familiarity not only with programming concepts but some C language specifics.
Con Large demand on time
The course is very fast-paced. Weekly suggested readings are usually a couple of chapters from two different text books, there are hours of videos each week, plus problem sets that often take a beginner many hours to complete.
In order to keep up with the course, you have to be prepared to put in a lot of hours.