CS Faculty and Students To Write a Creative Commons C++ Textbook 96
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."
The easy part is writing what to do in C++ (Score:5, Insightful)
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.
Re:Absolutely fantastic! (Score:5, Insightful)
Decent books are worth more; your book was junk. (Score:2, Insightful)
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)
Re:Book written by a comittee (Score:5, Insightful)
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.
So let me get this straight.
1. This is Slashdot, where we routinely see articles decrying expensive textbooks required for university courses
2. A professor and a group of students are actually DOING SOMETHING to address this problem by writing text book for C++
3. The aim is to make this book freely available via the web, or as an easily affordable hardback
4. The contents of the book are basically open and may be revised at any point without expensive publishing costs
5. You have come here to day to complain that this initiative is a waste of time
Have I got that right?
Peace,
Andy.
Re:Absolutely fantastic! (Score:4, Insightful)
Here's hoping that arrays and pointers end up near the end of the book. I've seen more CS students completely hosed by profs teaching pointers, char[] and other arrays in Chapter 1, along with having them design linked lists, bubble sorts and such in their first few weeks of learning to program and their intro to C++. Teach <iostream>, <string>, <vector>, <map>, <algorithm>, etc. While doing that, teach about control structures: if, while, for, switch, and so on. Teach exceptions from the start. Then teach (properly) OO and inheritance. Drill the Liskov substitution principle into their heads when doing this. Explain about static vs. dynamic polymorphism. Then teach about pointers, arrays, data structures and algorithms. Start at the high-level and then drill down to the important stuff. Make sure that they see how fast and efficient <algorithm> is and ensure that they compare their algorithmic efficiency to what is in the standard library. I don't want to find another bubble sort or linked list implementation in production C++ code ever again.
If you want an indication of the sad state that C++ education is in, hang out on a C++ beginner forum for a while. Many schools are still teaching using pre-C++98 tools -- using Borland compilers from the early '90s. Why do that when there are really good, modern, free C++ compilers available?