• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Tutorial Doctor

Programming Textbook?

22 posts in this topic

So, last night I started what I intended to be a short but sweet book on the basics of programming. However, it was too short to be called a book, and soon my ideas started to expand and that short "book" idea became a long "textbook" idea.

I am far from qualified to make a textbook, but I think it is a very good idea. Thing is, this textbook would serve to keep things very simple as well with useful and thoughtful examples. I was using iBooks Author so that I can add interactivity.

Once again, my ideas get too big for my ability, and another idea is wasted.

So I thought, if only I knew some cool people who knew all of this heavy stuff, and who could relate to my necessity for simplicity and collaborate with me to make an awesome book.

Then I thought of GameDev.

Here is the question, does anyone know of any excellent programming textbooks? I am not looking for a book for a certain language, but an entire textbook. Any you can recall from school that were actually useful as a reference and not just a waste of $150?
0

Share this post


Link to post
Share on other sites

Everyone likes to think of creating a book to cover the things that the standard book is not covering.  This problem causes even the simple plans to write a simple "Tell All" tutorial to become massive.  The best "Self-Teaching" guide to programming book I ever used was written in the Mid 1980s covering the then Pascal Language.

I do not recall the title but it covered Turbo Pascal 5.5.  To me, it was the Layout of the book that allowed it to be concise and useful.

It was laid out like a dictionary/reference book.  Each Keyword had it own little section in alphabetical order in the book.  Words Like Private and Public were in separate sections entitled Private and Public.  Although Similar their purposes are different.  After reading about 1 the reader was directed to the next logical step in learning the Language.

  Once it was time to learn about graphics, the reader was then directed to each section in progression to learn all the graphical commands

Again the book was laid out as a reference book, so anytime the reader need a refresher they could simply turn to the section Titled Graphics or Put, Get, Class or any other command for a quick refresher.

  this format also seem to cut out allot of the un-needed author conversation and did present straight forward code demonstrating the Command in use.

 

Maybe try this approach

1

Share this post


Link to post
Share on other sites
Great response! These are the very things I was thinking!

I began to see how important layout is in such a book, or even any reference book. I decided to use color coding for section types.

And the progression is in a logical order too. It was a little hard to place the topics, and I had only one chapter worth of content (which was going to be the whole book initially.)

The progression is:

Chapter 1: The Basics

Introduction
Variables
Functions
Algorithms
Debugging
Syntax
IDE
Memory
Flow Control
Conditional Statements
Loops
Data Types
Classes
Methods
Objects
Events
API
Examples

Chapter 2: History
Chapter 3: Tools
Chapter 4: The Languages
Chapter 5: A little math review
Chapter 6: Let's program!
0

Share this post


Link to post
Share on other sites

Show a little appreciation smile.png biggrin.png LOL!!    -   If your book is to be about Basics of programming, then Save your Chapters 2 through 5 for another book,  Every other author seems to want to cover these subjects in their books, thus wasting a lot of pages.  Those items would be good for a college 1-2 day seminar, and when I am wanting to learn a language, I skip those subjects anyway. ( However - Chapter 3 Tools could be a good Chapter 1 in your book ONLY if those items covered pertained directly to your language and Samples)

  A little food for thought, organize your book in 2 parts.  Part 1 > Cover items such as algorithms and syntax etc., Part 2 Cover Coding Keywords Such as Function and Class.

I think you will find this to be more concise and an effective method for bestowing your knowledge unto others.

0

Share this post


Link to post
Share on other sites

Theres like, a gazillion Learn to Program books that follow approximately the format you've described, including numerous "For Dummies" for different domains.

Edited by Aardvajk
0

Share this post


Link to post
Share on other sites
Thanks poigahn! Great suggestions! I am going to keep it simple then.

Haha Aardvajk, I guess that might be so, but personally I don't like the for dummies books, as they are not easy enough to understand. I am thinking of making it an iBook, as well as ePub for people who don't like or have iOS. I think an interactive book is a better way to present programming.

I am also thinking of making a udemy course, and making the short book a prerequisite, then using the course to go I to how to actually apply the things learned, instead of putting it all in the book.
0

Share this post


Link to post
Share on other sites

Thanks Gerretke. I am getting more ideas now after a message someone sent me. 

 

I like the idea of the Wiki. It is a collaborate way to present information. If I could start a wiki, then all sorts of people can contribute to it. All I would have to do is set guidelines and formats for the wiki beforehand. I would also want the wiki to be downloadable as either .mobi or .epub. 

 

Hmm, now I might be changing direction. We will see. 

0

Share this post


Link to post
Share on other sites
Initially, i liked when they tried to make a conversation but now, i don't.
Currently, i've used 5 programming books. The worst being Programming Practice and Principles Using C++ (i know). It's supposed to be THE beginners book but it's more like a book that expects you to know programming from my pov.
One minute, it's teaching loops and the next it's teaching vectors and then jumps to something else before it goes back to complete vectors. A 1100+ page book of confusing confusion :).
(1) Jumping into c++, (2) Beginning c++ programming with game dev, third edition, (3) the cplusplus.com pdf (not happy with it because it doesn't have exercises) and (4) the very brief tutorialspoint pdf (it's more like a very incomplete dictionary with no excercises).
Right now, i'm reading (1).

I'm tired of getting books and being disappointed by them and then post ideas here and repeat these steps. I wish i could find a book that teaches me c++ well enough so i could start implementing my dreamy ideas :(.
0

Share this post


Link to post
Share on other sites

I used to like the dictionary-style books, but that was before you could just google a keyword to figure out what it does.

 

The only other books I can think of that were useful for a while were Effective C++. It's been a while, but I think the basic structure of that book was each chapter taught a single concept and why it is a useful concept to learn and apply as quickly and succinctly as possible.

 

The learn a language or whatever types of books seem far worse than following interactive tutorials online (or even non-interactive ones), so I'm not sure there is any way to make such a book not be a waste of money. Those books always seem to be a generation behind (teaching C++0x when C++11 is out, DX9 when DX11 is out, etc.) anyways.

0

Share this post


Link to post
Share on other sites

The only other books I can think of that were useful for a while were Effective C++
. . .
. . . teaching C++0x when C++11 is out

C++0x and C++11 are the same thing.
I haven't checked effective c++ yet.
0

Share this post


Link to post
Share on other sites

Debugging seems to be an area that books (and many college courses) don't cover. A series of dodgy programs and debugging exercises could be helpful in a book.

 

Best book I have probably read was "Advanced Windows" by Jeffrey Richter. It's old now. Lot's of information and a few gags too "Funcenstein, FuncNFurter, FunclinDRoosevelt" etc. instead of foo/bar ;)

0

Share this post


Link to post
Share on other sites
Good point shifter. I really like Codecademy, but if I could have something like that as a software that would be perfect. They had debugging examples in there too. I was doing a lesson in JavaScript and I felt like I was actually getting the kind of practice one needs. I was learning the info while using it.

Now that I think about it, I am officially convinced that I should keep the book brief.

I am liking the reference book idea too. I want it to be brief yet full (usually how my tutorials are).

If anyone has any more feedback or ideas, please post. I might do the book and the wiki too. I don't know if it will take a whole course.
0

Share this post


Link to post
Share on other sites
Having admitted to being unable to use modern IDEs, along with all your other examples of being rather inexperienced, do you honestly think you are the right one for the job of writing yet another How To Code book?
1

Share this post


Link to post
Share on other sites
I know I can write a good beginners programming book. Enough to make someone comfortable with programming and working with APIs.

I have actually made a tutorial that teaches the basics in about 7 minutes. Most of the ideas come from that tutorial.

http://snapguide.com/guides/understand-computer-programming

I don't go into much detail as far as syntax, so I thought a book was a good way to elaborate.

I actually have the beginning of the book on my ipad right now. It is a convenient resource for myself, so I figured others might like it too, although I want it to be a good resource for beginners.

I just see so many beginners tutorials that are not for beginners.

Tell me what you think about that tutorial. I need more feedback from more advanced programmers, I have cleaned up some of the words for the book.
0

Share this post


Link to post
Share on other sites

I stopped at the slide that said:

 

"I once saw a program that was a WHOLE PAGE LONG that made an object follow the cursor. I did the same thing with ONE LINE OF CODE! And it was faster."

 

Move along, nothing to see here...

1

Share this post


Link to post
Share on other sites

Had a quick read of the slides. Im certainly no expert but definitely proof read them as I saw some spelling/grammar mistakes which should not be present. Your explanation of inheritance was pretty useless as you only half mentioned what it is and no expansion at all. Also that slide that explains a while loop is completely lost on me (maybe I just dont get it but the sentence doesnt make sense to me). Your use of "Hahas" and things like that make it seem quite childish. Maybe thats what you are going for but it doesnt look right. Just a few things.

1

Share this post


Link to post
Share on other sites
Thanks Walsh for the feedback. That guide was informal. I corrected the Hahas in the book. Each step is limited to a certain amount of characters, so I can't really elaborate without making the guide too long. Guides are supposed to be a "snap" thus "Snapguide."

All of the grammar stuff is fixed in the book also, including the funky use of CAPS.

There is no bold nor italics for Snapguide yet.
0

Share this post


Link to post
Share on other sites

I stopped at the slide that said:
 
"I once saw a program that was a WHOLE PAGE LONG that made an object follow the cursor. I did the same thing with ONE LINE OF CODE! And it was faster."
 
Move along, nothing to see here...


It's true. Haha. The program was about 5 lines, but the sequence was one line.

Whole page in 12pt font.
0

Share this post


Link to post
Share on other sites

Thanks Walsh for the feedback. That guide was informal. I corrected the Hahas in the book. Each step is limited to a certain amount of characters, so I can't really elaborate without making the guide too long. Guides are supposed to be a "snap" thus "Snapguide."

All of the grammar stuff is fixed in the book also, including the funky use of CAPS.

There is no bold nor italics for Snapguide yet.

Fixing for the book is good but surely you want this guide to be usable too. Even with limited characters you can explain a while loop in proper english. 

0

Share this post


Link to post
Share on other sites

 

I stopped at the slide that said:
 
"I once saw a program that was a WHOLE PAGE LONG that made an object follow the cursor. I did the same thing with ONE LINE OF CODE! And it was faster."
 
Move along, nothing to see here...


It's true. Haha. The program was about 5 lines, but the sequence was one line.

Whole page in 12pt font.

 

 

Okay.

 

There's a phenomena that we've seen a great deal of over the years. People learn a tiny bit about our subject, then decide that they want to educate people who know slightly less than them. So they write very bad tutorials. Yours is an example of this.

 

Any fool can write a vague, generalised description of the concepts of what are involved in writing a computer program. This is not the same as a tutorial that helps beginners to actually write a program. That requires a very thorough understanding of the subject.

 

Most of those of us that have been involved in online forums such as this one for a number of years have spent an enormous amount of time dealing with people who have learned nonsense from bad tutorials and our advice has always been don't write a tutorial unless a) it hasn't already been written and b) you have a very thorough understanding of the subject matter.

 

Your "tutorial" is a confused and patronizing way for you to shout "Look how clever I am" to a bunch of people who are entirely underqualified to judge the value of the material they are reading. Please stop acting like you are some kind of programming messiah, come unto deliver code wisdom to the masses, and go actually learn the subject properly.

 

If this seems harsh, it is based on a wider observation than this thread alone. My patience is out.

2

Share this post


Link to post
Share on other sites

I am far from a "programming messiah" as you say. It was merely introducing people who may not know anything about programming to what programming involves. The intent, as the title implies, is to help them understand programming, not to teach them how to program, or how to do it effectively. 

 

As I acknowledged, I am indeed a beginner myself. And if I can help someone to understand, even at my level, then that is good. 

 

I posted this post to get feedback AND help, on how I can improve it (being a beginner) and I thank those who gave useful feedback. 

 

The purpose of the book is to elaborate and actually teach beginning programming, whereas the purpose of that guide was to try to help people understand programming in general. 

0

Share this post


Link to post
Share on other sites

Please stop acting like you are some kind of programming messiah, come unto deliver code wisdom to the masses, and go actually learn the subject properly.
 
If this seems harsh, it is based on a wider observation than this thread alone. My patience is out.

I remember when i was told this. Lol
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0