• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Finished C++ Primer Plus

MrRamon

Senior member
Making small games in console window is fun and all, but now that I know the fundamentals of the language what do I do from here? C++ is my first language by the way. I have zero other programming experience.
 
What's your overall goal in learning programming?

The next step in learning, if you want to continue to learn more at this point, is probably algorithms. Try Sedgewick's Algorithms in C (the book, linked from here.)
 
find a project you want to do, then learn as you go

i was never a fan of learning for the sake of learning, i always needed an end goal
 
find a project you want to do, then learn as you go

i was never a fan of learning for the sake of learning, i always needed an end goal
While I agree with this to some extent. There are some things that you just have to learn for the sake of learning. For example, I probably never would have come up with a divide and conquer algorithm if I had not first been exposed to the idea via learn for the sake of learning.

Learning the theory of computing is important as it introduces you to concepts you might not have come across any other way.
 
Get a dev board and jump into some embedded programming. I've been working on a project for a few weeks now, and have learned a ton of stuff. Today I had a problem with my program counter getting messed up going into functions. Turned out my stack wasn't big enough and it was getting addresses from who knows where.

Next week(4 day weekend 😎) I'm going to try to get some ADC stuff going.
 
What's your overall goal in learning programming?

The next step in learning, if you want to continue to learn more at this point, is probably algorithms. Try Sedgewick's Algorithms in C (the book, linked from here.)

I thought for sure you would suggest assembly.

For my part, I suggest you learn how to read obstruction-free and lock-free data structures.
 
Get a dev board and jump into some embedded programming. I've been working on a project for a few weeks now, and have learned a ton of stuff. Today I had a problem with my program counter getting messed up going into functions. Turned out my stack wasn't big enough and it was getting addresses from who knows where.

Next week(4 day weekend 😎) I'm going to try to get some ADC stuff going.

I spent 3 hours why my simple I/O code such as (*output_ptr = *input_ptr) wasn't working. Turns out caching was enabled on the processor so I had to force a flush of the cache before I would see the output. For embedded stuff I really like FPGA dev boards (I used the Altera DE2... roughly $270 if you happen to be a student) because they let you play around with both the hardware and the software design.

Although I don't think the OP is looking at embedded stuff yet.
 
As many others have already said, start into data structures and algorithms, then branch out from there.

Once you've got the fundamentals of a language down, its not a bad idea to pick up a long-term project to work on in between your other learning sessions to apply stuff you've learned. Doesn't have to be insanely complicated but enough that you couldn't just hack it together in an hour.
 
I would take a different approach and start learning about software analysis and design. Take the top down approach when you are new at programming to help make the end goal more clear and have purpose.
 
I would take a different approach and start learning about software analysis and design. Take the top down approach when you are new at programming to help make the end goal more clear and have purpose.

I've been reading some design patterns books... good stuff but I think you need to be a little more comforable with the syntax before you move onto things.

I'd say step one is to go over your basic data structures (arrays, array lists, linked lists, bst, hash table, etc).
 
What's your overall goal in learning programming?

The next step in learning, if you want to continue to learn more at this point, is probably algorithms. Try Sedgewick's Algorithms in C (the book, linked from here.)

I'm not really sure. I don't even know what I want to make. I actually stopped for a month because I was confused about a few things. Such as the Win32 API/DirectX. I just don't know where to go. The book I read had lots of great information and examples, however it's only for the little console window. I will learn algorithms for now, however I think my main question is should I move on to the Win32 API? Does it take more or less time than C++ itself.. I just need direction I think. Should I not worry about these things until I understand hash tables/algorithms etc and just work in the little console window?
 
Last edited:
I wouldn't even get into the Win32/DirectX stuff at this point. I wouldn't lock yourself into windows at this level, learn stuff that will be beneficial no matter the OS. Do some data structures (red-black trees and other fun stuff), and add in some producer/consumer functionality (pthreads!) for the lulz.

When you say you know the fundamentals, does that include object oriented stuff?
 
I wouldn't even get into the Win32/DirectX stuff at this point. I wouldn't lock yourself into windows at this level, learn stuff that will be beneficial no matter the OS. Do some data structures (red-black trees and other fun stuff), and add in some producer/consumer functionality (pthreads!) for the lulz.

When you say you know the fundamentals, does that include object oriented stuff?

OK thanks, I just felt lost because the book didn't say DO "THIS" next. Yes, I learned about classes and structures. It included base classes, abcs, derived classes, inheritance, containment, operator overloading, etc.
 
In addition to what's already been mentioned:

If you want to stick around in C++ land, you should check these out. And if you want to stick with games, there's a bunch of libraries out there (like SDL) that would be a good next step. GameDev.net is a phenomenal resource if you're into games.

As always, though, the best thing you can do to become a better coder is to write code. Lots of it. Pick a project that's interesting and feasible, and just do it. Google up answers to the (many) questions that will arise during development, and come to forums for answers you can't find by searching.

Is there any specific type of development you're interested in? This might help us suggest some interesting and educational projects.
 
Back
Top