What Is the Right Sequence For You To Study?

What Is the Right Sequence For You To Study?

I am often asked, “okay, so you write great C++ programming books, but what one should i get? I want to be able to program this….” My answer is always it depends upon what you wish to achieve, what you wish to be able to do, based upon your current skill set. This blog reply will give you an answer. You can always contact me for more specific information.

All too often, writers of beginning books on C++ programming try to merge object oriented programming features as they introduce the basic elements of the language. With so much confusing information, it is no wonder that the student has enormous trouble with learning to program well in C++. No, the starting point is to learn the basic C++ language. Build a solid platform on which to build knowledge. This platform must also explain the “whys” behind the scene, such as the Stack Frame and how it works, which suddenly makes the Storage Classes in C++ programming make sense to the student.

So assuming that you are new to C++ programming or have tried it and gotten yourself totally confused, the starting point is C++ Programming for Computer Science and Engineering. This initial book will give you that solid foundation of basic C++ programming. With that caveat out of the way, let’s look at some routes.

 

I just need to learn C++ Object Oriented Programming:

  1. C++ Programming for Computer Science and Engineering
  2. Beginning Data Structures in C++
  3. Object Oriented Programming in C++

Examine the detailed table of contents starting with #1 above to see where you need to begin your study. For example, if you have mastered all topics in #1, go on to #2, and so on.

 

I need to learn to write Windows applications:

  1. C++ Programming for Computer Science and Engineering
  2. Beginning Data Structures in C++
  3. Object Oriented Programming in C++
  4. Windows MFC Programming I
  5. Windows MFC Programming II

Again, examine the detailed table of contents starting with #1 above to see where you need to begin your study. For example, if you have mastered all topics in #1, go on to #2, and so on.

 

I want to write a cool game:

  1. C++ Programming for Computer Science and Engineering
  2. Beginning Data Structures in C++
  3. Object Oriented Programming in C++
  4. Windows MFC Programming I
  5. Game Theory Programming in C++
  6. Programming Non-graphical Games in C++
  7. Windows MFC Programming II (Optional)

Again, examine the detailed table of contents starting with #1 above to see where you need to begin your study. For example, if you have mastered all topics in #1, go on to #2, and so on.

Not every single game needs to be written using the Direct-X platform, which is incredibly complex and certainly total overkill for many games. True, for first-person shooter games, it’s needed. But for my WWII game? Hardly. Direct-X is needed using the off-screen video buffers directly for fast frame rates where extensive calculations are needed for each frame to be shown. Many, many games just need a simple Windows application. My suggestion is to try using the basic Windows platform first and see if it can handled your needs. You will find the coding vastly simpler and without having to do total rewrites when the next Direct-X version comes out.

 

What about advanced data structures?

Of necessity, Advanced Data Structures in C++ had to have a lot of overlap with Object Oriented Programming in C++, since when it was written, the students taking that course usually had not yet had the OOP course. It does not fully cover OOP nor with the same depth, just enough to get on with the more advanced data structures. So if you find that you have need for some of these more advanced structures in your programs, go ahead and study it. If your goal is to get a working knowledge of advanced data structures, here is your sequence.

  1. C++ Programming for Computer Science and Engineering
  2. Beginning Data Structures in C++
  3. Advanced Data Structures in C++

 

I hope this helps you work out your path to becoming a great C++ programmer and achieve your goals!

Contact me if you have more questions.

by Vic Broquard

 

Share Button

Leave a Reply