    C++ Workshop - Introduction
  Greetings All!  Here is an update to the C++ Workshop proposal.  Thanks to those people who've expressed feedback about the idea.  I'm looking forward to seeing how this little project turns out.C++ Workshop Proposal (Start date: June 1, 2006)Note: The following is simply the current incarnation of an idea by JWalsh.  There has been no formal approval yet by the staff or moderators of GDNet.Overview:This workshop is designed to aid people in their journey to learn beginning C++.  This workshop is targeted at highly motivated individuals who are interested in learning C++ or who have attempted to learn C++ in the past, but found that without sufficient support and mentoring they were unable to connect all the pieces of this highly complex but powerful programming language.  This is a 'guided' self-teaching C++ workshop.  Each student is responsible for taking the time to read the material and learn the information. The community and tutors that arise out of this workshop are here for making the learning process run more smoothly, but are not obligated to baby-sit a person's progress. Because everyone will be working from the same textbook, students may find it easier to get answers to the specific questions they might have.  There is no minimum age requirement, and there is no previous programming experience required.Additionally, this workshop does not attempt to defend C++ as a language, nor does it attempt to demonstrate that C++ is either more or less useful then other programming languages for any particular purpose.  People who intend to start a discussion about the differences between C++ and ANY other languages (except as are relevant to a particular discussion),  are encouraged to do so elsewhere.  This workshop is for educational, not philosophical discussions.  "C++ Workshop" Summary:Anyone interested in participating will purchase the official workshop "textbook" (See below), either from Amazon.com, a local bookstore, etc...(No “signup” is necessary)Each week participants are responsible for reading 1 chapter of the book.As people have questions on a chapter they may post them in our weekly chapter threads (see below), to be answered by tutors (see below) and other students.Tutors may post additional questions to help test the students' understanding of the material.Each month there will be a programming project (see below) - designed to test a student's understanding of the previous 4-5 chapters.  Students can optionally complete these projects and post a link to their source code for review.Textbooks:After looking at over a dozen textbooks I have chosen "Teach yourself C++ in 21 Days (5th Edition)" as the official textbook for the workshop.  The reasons for this are as follows:It covers the majority of relevant C++ topics briefly enough to be an easy learning tool but thoroughly enough to be a useful referenceIt explains things in an easy to read format by accompanying all concepts with complete example programs, without spanning several pagesIt answers the majority of beginning C++ questions I see appear on GDNet.All examples include the code listing, output, and an analysis of the codeAll examples include line numbers for easy referenceIt includes a brief summary, questions & answers, quizzes, and exercises at the end of every chapter.It's 5 editions have been widely read by many individuals and so it's had a chance to "mature."The easy reference cards on the back and front inside covers are useful reference itemsIt rings up at around $35.  Cheaper then "C++ Primer Plus" at around $50.00, and my personal favorite "C++ How to Program" at $99.00.Now that we've chosen a textbook, specifically one with 4 previous editions, there will invariably be questions about needing to purchase the 5th edition of our textbook.Q. I own a physical copy of a previous edition of the book. (likely 3rd or 4th edition)  Do I still need to purchase the 5th edition?A. No.  It looks like the previous editions are close enough to the current edition (5th edition) that if you've got a physical copy of a previous edition, there probably isn’t a need for purchasing the latest edition, unless you find it necessary as we advance. In general, just keep the edition you've got and see if you can follow along. If you find that you cant follow along or aren’t able to get your questions answered, then it might be best to “upgrade” to the 5th edition.  Q.  I don’t have a physical copy of “Teach Yourself C++ in 21 Days,” but I found that there’s a free version of the 2nd edition online, is that acceptable?A. I'd like to discourage it. Not because the 2nd edition won’t be close enough for you to follow along with, but because there's just no replacement for having a physical copy of a book. It gives you the ability to go sit down and read it, fully absorb yourself in it, and then come to the computer only when necessary for doing exercises. It means you can read it while your friends/wife/parents are driving and you're in the car, you can read it at lunch, on a plane, at the park, while waiting in the dentist office, etc...As well, it comes with nifty reference cards on the inside covers. Finally, having the books means you can prop it on your desk and do the exercises with the book open without having to Alt-Tab back and forth between your compiler and your web browser. In general, a physical book is just an easier way to learn.Q. I don’t have a copy of "Teach Yourself C++ in 21 Days," but I have another textbook that was highly recommended to me and I feel comfortable using that book instead.  Is that ok?A.  Yes, but there’s a catch.  You wont be able to follow along closely with us and we wont be able to answer your C++ questions as effectively.  So I encourage you to purchase the textbook.  If you don’t, you're still welcome to ask/answer C++ related questions as they relate to the current topics, use our questions as a way to measure your own understanding, and complete our projects as an exercise to help you develop your skills. If your lack of textbook becomes an issue, we'll politely let you know and ask you to either purchase the textbook, or direct your questions to either the "For Beginners" or "General Programming" forums. This workshop is ultimately for people who want to learn together by reading a common textbook and then answering each other's questions. It only stands to reason that if you don’t have the textbook, this might not be the best forum for you.Chapter Threads:There will be a new forum created for the workshop. Each week a thread will be created that covers the current chapter. People can then post their questions and answers for the current chapter in that thread. People who come late to the workshop can read over the previous threads and continue to post their new questions.The weekly chapter thread will be mirrored (and stickied) in "For Beginners." The first post of each weekly thread will be structured with a brief introduction to the workshop, and provide links back to the C++ Workshop Forum and the "Tutors" thread (See below), so that people can easily navigate to us from FB, and follow the conversation of the current week.Project Threads: Threads will be created for each of the "Projects of the Month," where the first post outlines the details and requirements of the project. People can then use those threads to discuss the project, get design ideas, ask questions, and post their links to completed projects.About IDE's:For numerous reasons, Visual C++ EE is the recommended IDE for this workshop.  Participants who are already familiar with another IDE, however, are encouraged to use whatever they feel will help them learn most effectively.  To keep the workshop moving along, no assistance will be given for installing or configuring any other IDE then Visual C++ EE.  Other members of the workshop wishing to submit installation and configuration guides for additional IDE's are welcome to do so.The Future:I can definitely see doing continuing workshops on more advanced topics and other programming languages if this experiment proves successful.  Some other obvious topics include:Data StructuresThe Standard Template LibraryDirectXOpenGLMathematics for Computer Graphics (Linear Algebra)Video game PhysicsWindows Programming (Win32 API or .NET)Shader programming (Pixel/vertex)Skeletal Animation and ModelingProcedural Texturing and materialsNetwork programmingProgramming languages and translatorsC++/CLR and the .NET Framework LibraryAnd of course a language class can be done for any common language for video games - Java, C#, Python, Lua, ...Cheers![Edited by - jwalsh on September 28, 2006 11:12:00 AM]
  It sounds like a great idea. Most likely for it to be somewhat coherent and organized the Staff are gonna have to give you your own forum. The Lounge won't cut it, I'm afraid.I'm pretty sure if Lazy Foo isn't too busy that he might be interested.   ;Quote:Original post by jwalshAnyone interested in participating purchases a copy of C++ For Dummies 5th Edition.Why not Thinking in C++ instead? It's a better book IMO, and will save them a good bit of cash.   ;Quote:Original post by PromitQuote:Original post by jwalshAnyone interested in participating purchases a copy of C++ For Dummies 5th Edition.Why not Thinking in C++ instead? It's a better book IMO, and will save them a good bit of cash.I never did like that book. It seemed like a text for people going from one language to another but not learning from scratch.;  [cool]. Yeah this is great for me and other newbies. I just know the basic of C++ and questions and answers, explanation will only benefit us[wink]. I want to make games, any game to start of with. I want someone to teach/help me make my first game. I am intrested in knowing more[wow]. Unfortunately I have my theory exams[sad]. But will try my best to be part of this thread.[grin]. Thanks a lot, jwalsh for taking this initiative[smile].   ;  It seems to me that, if you have to tutor these people, perhaps you should be teaching them a better language than C++? Even in commercial game programming, any programmer worth his salt is going to try and spend as much time /away/ from C++ as possible.   ;  Im interested and I have "C++ For Dummies 5th Edition" but Im not sure If I fall into the tutor group yet. I just finished reading the book and Im pretty inexperienced. Maybe I could be a tutor on the early chapters and a student on the later ones?   ;  I am interested. This kind of thing is great, since before I'd spend 4 hours hitting myself over the head trying to get things working properly. Now I can spend 3, then hit the forums. :-p   ;Quote:Original post by bytecoderIt seems to me that, if you have to tutor these people, perhaps you should be teaching them a better language than C++? Even in commercial game programming, any programmer worth his salt is going to try and spend as much time /away/ from C++ as possible.Let the guy have his fun [grin]When the someone proposes a learning how to program tutoring thread then we'll all agree not to use C, C++, C#, Objective-C, D, and Java [smile];  Sounds like a very good idea, as there are many new people posting here as of late.  Sign me up as a tutor [smile]I second the decision not to use C++ For Dummies; I haven't read it, but I heard it isn't very good, and more people would participate if we used a free online book.  Other than that, sounds good.  We could have a single thread devoted to it to save forum space, or we could use the old Interactive Game Development Tutorial forum.   