Jump to content

  • Log In with Google      Sign In   
  • Create Account

- - - - -

C++ Workshop - Introduction

  • You cannot reply to this topic
262 replies to this topic

#1 JWalsh   Moderators   -  Reputation: 463

Like
0Likes
Like

Posted 14 May 2006 - 07:11 AM

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:
  1. Anyone interested in participating will purchase the official workshop "textbook" (See below), either from Amazon.com, a local bookstore, etc...(No “signup” is necessary)
  2. Each week participants are responsible for reading 1 chapter of the book.
  3. 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.
  4. Tutors may post additional questions to help test the students' understanding of the material.
  5. 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 reference
  • It explains things in an easy to read format by accompanying all concepts with complete example programs, without spanning several pages
  • It answers the majority of beginning C++ questions I see appear on GDNet.
  • All examples include the code listing, output, and an analysis of the code
  • All examples include line numbers for easy reference
  • It 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 items
  • It 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 Structures
  • The Standard Template Library
  • DirectX
  • OpenGL
  • Mathematics for Computer Graphics (Linear Algebra)
  • Video game Physics
  • Windows Programming (Win32 API or .NET)
  • Shader programming (Pixel/vertex)
  • Skeletal Animation and Modeling
  • Procedural Texturing and materials
  • Network programming
  • Programming languages and translators
  • C++/CLR and the .NET Framework Library
And 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]
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints

Sponsor:

#2 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 14 May 2006 - 07:21 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.

#3 Promit   Moderators   -  Reputation: 7587

Like
0Likes
Like

Posted 14 May 2006 - 07:23 AM

Quote:
Original post by jwalsh
Why not Thinking in C++ instead? It's a better book IMO, and will save them a good bit of cash.

#4 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 14 May 2006 - 07:29 AM

Quote:
Original post by Promit
Quote:
Original post by jwalsh
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.



#5 playstation   Members   -  Reputation: 146

Like
0Likes
Like

Posted 14 May 2006 - 07:33 AM

[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].

#6 bytecoder   Members   -  Reputation: 100

Like
0Likes
Like

Posted 14 May 2006 - 07:35 AM

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.

#7 ForeverNoobie   Banned   -  Reputation: 138

Like
0Likes
Like

Posted 14 May 2006 - 07:36 AM

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?

#8 crazyishone   Members   -  Reputation: 172

Like
0Likes
Like

Posted 14 May 2006 - 07:37 AM

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

#9 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 14 May 2006 - 07:37 AM

Quote:
Original post by bytecoder
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.

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]



#10 programwizard   Members   -  Reputation: 100

Like
0Likes
Like

Posted 14 May 2006 - 07:50 AM

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.
------------------------------Support the Blue Skies in Games Campaign!A blog... of sorts.As a general rule, if you don't have a general rule in your signature, you aren't as awesome as someone who does. General rules roxor teh big one one ones.

#11 playstation   Members   -  Reputation: 146

Like
0Likes
Like

Posted 14 May 2006 - 07:54 AM

Although I don't have C++ for Dummies book. I will see if I can get it. Whatever it may be we have nothing to loose and we will only know more. I hope many newbies take part. I will read for my exams first[lol] but would like to read some intresting answers. I just know how to play with numbers,array and beginners level C++. Function,classes and inheritence only basics and have implemented only simple programs.

Please keep this thread alive[smile].

#12 bytecoder   Members   -  Reputation: 100

Like
0Likes
Like

Posted 14 May 2006 - 08:00 AM

Quote:
Original post by Alpha_ProgDes
Quote:
Original post by bytecoder
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.

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]

Meh, a person with a good reason to learn C++ as his first language is very, very hard to find. This is, after all, gamedev.net, and let's face it--C++ isn't the best game programming language under the sun.

#13 ForeverNoobie   Banned   -  Reputation: 138

Like
0Likes
Like

Posted 14 May 2006 - 08:01 AM

Quote:

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.


I for one like "C++ For Dummies". All the information presented is simple and easy to follow, they dont assume any previous knowlegde, and it covers a good ammount of information. I dont know what everyone else is complaining about.

Having said that, I do agree a free online book would be nice but I wouldnt recomend "Thinking in c++" that is for people moving from one language to another like Alpha_ProgDes said.

#14 nilkn   Members   -  Reputation: 960

Like
0Likes
Like

Posted 14 May 2006 - 08:10 AM

Quote:
Original post by bytecoder
Meh, a person with a good reason to learn C++ as his first language is very, very hard to find. This is, after all, gamedev.net, and let's face it--C++ isn't the best game programming language under the sun.


True, but we must also consider the sheer number of third party game libraries already developed for C++. This is the main reason that I have never successfully parted from C++ when it comes to game programming.

Thankfully, however, it appears this is changing. There already has been a small explosion of activity spent on developing game development libraries in languages other than C++.

But anyway, I do agree with you -- C++ really is not a good beginner's language at all IMHO. I would advocate this course use Python -- and perhaps PyGame -- along with How to Think Like a Computer Scientist.

#15 dbzprogrammer   Members   -  Reputation: 100

Like
0Likes
Like

Posted 14 May 2006 - 08:11 AM

I would be interested in helping teach this "course," but could I recommend the book, "Beginning C++ Game Programming." It seems to be much more noob friendly and have an outline of what to do.

BTW, I will not be on most of the summer, so that's just a little heads up.

#16 Promit   Moderators   -  Reputation: 7587

Like
0Likes
Like

Posted 14 May 2006 - 08:13 AM

bytecoder: You're derailing this thread and I'd appreciate it if you'd stop. We've had more than enough language discussions (12 over the course of two weeks, to be exact) and this should not be yet another.

#17 programwizard   Members   -  Reputation: 100

Like
0Likes
Like

Posted 14 May 2006 - 08:20 AM

Simple suggestion: if a book, online or off, cannot be agreed on, the tutors can teach lessons directly; each post (or thread, if this ever gets its own forum) can be focused on a new concept (e.g. pointers, class inheritance, etc.), and then students will have the opportunity to ask questions about the disscussed concept. It will probably become difficult to get the topic from the thread, read the appropriate chapter in the book, come back to ask a question, and then get pointed back to the book; all of the material can be self-contained within the thread.
------------------------------Support the Blue Skies in Games Campaign!A blog... of sorts.As a general rule, if you don't have a general rule in your signature, you aren't as awesome as someone who does. General rules roxor teh big one one ones.

#18 Chad Smith   Members   -  Reputation: 1143

Like
0Likes
Like

Posted 14 May 2006 - 09:15 AM

I love this idea. Only one problem for me though is that I might feel like I know a little to much to be a student, but then again I don't know close to enough to be a tutor. So, could I still join maybe? I have been programming in C++ for just a little less then one year now. But, can I make a suggestion on the book. I too also suggest a free online book. Not thinking in C++, but maybe...Teach Yourself C++ in 21 days? This is the link

Well, that is my 2 cents.

Chad.

#19 ForeverNoobie   Banned   -  Reputation: 138

Like
0Likes
Like

Posted 14 May 2006 - 09:28 AM

Quote:
Original post by Chad Smith
I too also suggest a free online book. Not thinking in C++, but maybe...Teach Yourself C++ in 21 days? This is the link


I second that. I skimmed the chpaters and it seems that it goes more indepth then "C++ For Dummies".


#20 Iftah   Members   -  Reputation: 409

Like
0Likes
Like

Posted 14 May 2006 - 09:31 AM

perhaps people will be more inclined to stay through the hard time if they invest some coins, but on the other hand perhaps people will stay out because they dont have the spare coinage.
so, how about using a free online book or tutorial site?

a second note, maybe gamedev will make a new forum for this school group? it will be hard to track the groups posts among the others in "for beginners".
If this thing becomes successful it will be a wonderful feature for this great site.






PARTNERS