CS Faculty and Students To Write a Creative Commons C++ Textbook
Cynic writes "Inspired by an earlier Slashdot story about Finnish teachers and students writing a math textbook, I pitched the idea of writing our own much cheaper/free C++ textbook to my programming students. They were incredibly positive, so I decided to move forward and started a Kickstarter project. We hope to release the textbook we produce under a CC BY-NC-SA 3.0 license and sell cheap hard copies to sustain the hosting and other production costs."
Its that kind of thinking, collaboration, and progress that revolutionizes industries. Best of luck to you!
Nobodies Prefect
Tidbits for Techs Technology Blog
The hard part is writing the book of what NOT to do in C++. That would easily take several volumes.
As a good comparison, consider O'Reilly's JavaScript: The Good Parts, which is a mere 176 pages.
There's no -1 for "I don't get it."
A book written by a committee will be a painful read.
If you want to do something useful, create one of those single plastic sheet two page guides to the language. Boiling the language down to two pages of small type with a few diagrams is a useful exercise. More useful than another thousand page book of blithering.
One of the major costs of college was the $100 text books that showed the basics of a language and example code, but it wasn't something that I would keep as a reference for future study.
Your book was junk. There are too many programming books that are bloated and meandering. Granted, C++ itself is bloated and meandering, but still...
I still have my K+R ANSI C book 20 years later. I actively used it for a good while, perhaps a third of that time. This book is well under 1 cm thick, not much over 1/4 inch, and it delivers the goods.
A much fatter book that also delivers the goods is Advanced Programming in the UNIX Environment. I so wish that the these books could be properly updated by their original authors, keeping the original style. (not possible anymore)
Bruce Eckel publishes free (freeware?) books about several languages, and the one on C++ was one of my most read. Just a suggestion to check the existing state of the art and to not duplicate efforts. Anyway, a very good idea!
Pledged ($50). I don't care if the book turns out crap or not; more people should release books in this manner (IMO) so the decision to pledge was very easy.
NonCommercial is going to make it useless as a textbook. It can't even be included in, for example, Debian or other Linux distributions.
"Thinking in C++" is the most famous free C++ book, freely available online.
It's not that great, but can a couple of random programming students really make something better?
K&R ANSI C is the only usable C reference. If you have a prof require a book other than K&R for a C course, you need to file a complaint with your CS dean, alleging incompetence.
C++, on the other hand, doesn't seem to have a similar significant tome. I tried reading Stroustrop... it's just not the same. There's also the problem that while C is effectively a static language now, C++ is evolving constantly. (See c++0x, c++11)
In addition, many of the C++ concepts are libraries, rather than the actual language syntax, e.g. use of the STL or other container classes to prevent rewriting commonly used containers is almost as important as being able to write said containers if you need them.
Hopefully the teacher knows his stuff and is a good editor.
Speaking from experience, C++ is complex enough to fool you into thinking you're good at it early on when you've really only just began to scratch at the surface to see what's underneath.
The students may be writing with the best of intentions, but there's a good chance they'll give bad information. Learning to not fool yourself about your limits is an underrated skill.
On the other hand, writing documentation for things is one of the best ways I've found to really flesh out my understanding of something, so I bet these students will come out of the project with a significantly improved understanding of the language.
First these guys need to read The Nature of Code; full stop. I have never read a better book on coding. The language covered in that book is the obscure Processing (a C++ like syntax) but it doesn't matter. That guy explains everything you need from pretty well zero to Genetic Algorithms in ways that I have never seen done so simplistically. Most shelf computer books meander through the usual OOP stuff such as circle and square inheriting from the shape base class but without really explaining why the hell you would need any of that.
CS textbooks can't wait to show off the writer's math skills and while explaining one thing will throw in lambda calculus just for laughs. Also CS textbooks often contrive the need for something like a doubly linked list instead of leading the student up to where they hit a problem that is nicely solved by the topic. This is where you find the critical difference between obtaining knowledge to regurgitate on a test and building a skill set for life.
One of the keys to the nature of code is that the writer is almost always doing something graphical. The result is that you can get a feel for what your code is doing while at the same time having concrete goals. I am sick of textbooks where they will introduce a vector blah and then get you to sort and print the results. I doubt there is a person on earth who went into a CS course wanting to sort a list of names. But if you have a graphical bunch of rectangles and you put each rectangle in a vector and then have the student sort them that way and display them stacked, still useless but the student will probably get more satisfaction.
Good luck with the book.
$5000?!
It's $500, not $5000
Stroustrup's book is practically unreadable. Unorganized, stream of conscious writing style. Hard to find anything, and absolutely unsuitable for a reference. Given how great the C book by K&R was, I thought reading from the author for C++ would be great. In reality it was a waste of money.
I still have more fans than freaks. WTF is wrong with you people?