• Advertisement
Sign in to follow this  

Programming and Lack of Focus

This topic is 4144 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I really want to learn programming. But I lack the focus needed to learn. I have the "Teach Yourself c++ in 21 Days" book, but I got to a portion of the book that, for the lack of explaining, just doesn't make sense. Therefore I get frustrated because I don't see the results quickly enough. I have tried various methods of learning, from books to video tutorials. Maybe it's my A.D.D., maybe it's just that I can't learn it. I have a desire to, but I am finding it difficult to do. Anyone have any ideas? I think it would be easier to learn for me, if I had a tutor, but that costs lots of money, and besides there is no one in my area. Perhaps an online 1 on 1 session or something. I dunno, I'm just throwing ideas out there. I've always heard people say things like, "Just open a source code of something a start fooling around with it, you'll learn that way" But I find problems with that, because I have no idea what anything does, or what words to use to try new things, etc. Any help on this? Any ideas? Thanks in advance

Share this post


Link to post
Share on other sites
Advertisement
Hmmm.
First, I also have the "Teach Yourself..." book, and I agree, really doing the book in 21 days is beyond boring, although the workshop here has helped some.

I really don't know what can motivate a programmer. I find some good motivation in two places in particular.
First, I have a job that I'm required to be in attendance for 40 hours a week, but I really only have about 10 hours worth of work (lucky me XD ) And when your computer only has visual studio on it and you love games, you'll want to make your own so you can play something (the Tetris-clone tutorial in an hour, located here even though it took me like 2 1/2 hours, is a great start, plus you get a fun game in a short amount of time)
Also, listen to music or something as well...I personally can't stand the sound of my noisy keyboard and nothing else.

other than that, i dunno...motivation is the hardest part about game programming. Its harder than coding, drawing the graphics (in MSPaint), and debugging combined.

Share this post


Link to post
Share on other sites
I always learn by setting some goal, and then using whatever I'm trying to learn to accomplish it. For example, set yourself the goal of writing a hangman game and then use C++ to do it.

With this approach, you are not learning C++ as an end in itself, but as a means to an end. This outlook really keeps me motivated, because you can apply what you learned right away. For example, reading about functions for functions sake can be incredibly dull. Reading about functions and thinking about how they can help your hangman game adds interest (at least for me).

HTH

Share this post


Link to post
Share on other sites
Another "trick" is simply to not just follow one book. If/when you get stuck with the book you're reading, take a peek at another, or at online tutorials. Look around, and see if whatever it is is better explained elsewhere

Share this post


Link to post
Share on other sites
http://www.amazon.co.uk/o/ASIN/1592002056/ref=s9_asin_image_1/026-2323224-2321226

i think this book is very good for learning c++ because it helps you to program a game as you learn what functions etc etc do,this keeps me interested more than just reading "this is a fuction" with no example or reason of why or how to use it other than on its own,most books tell you how to create one but very few tell you why you implement it,either that or they lose you in jargon it doesnt explain very well.

Share this post


Link to post
Share on other sites
Wow, these are great tips.
I like the idea of programming to meet a goal. That seems like the application of knowledge is more retainable than just reading about stuff, you may or may not ever use.

Share this post


Link to post
Share on other sites
Do you know anyone else who would like to learn how to program and create games? I've just completed an MSc degree in Computer Science (Games Development) and there were a number of students on the degree who had very little programming experience or motivation to learn. This all changed when we sat down to work together on projects though. I recommend that you try and learn with other people. Get together with a few friends and set yourselves little projects and teach each other what you learn. You will also learn how to comment your code properly as well if you work on group projects.

All the best
Jon

Share this post


Link to post
Share on other sites
I think there's a hundred thousand C/C++ tutorials on the internet. Google up some C++ tutorials and try them all, until you find one that "clicks". Then you can go back to your book and re-read portions of it, and it'll become clear.

It's hard at the beginning, but you'll get used to figuring out where the gaps in your understanding are, and finding the documentation or help to fill those gaps. That's the "focus" I think you are referring to. It comes with time, practice, and patience. Don't give up.

Share this post


Link to post
Share on other sites
Starting out with C++ was a bit difficult for me at first.
I would drop it, pick it up later, and drop it again several times.

Then, when not at the computer, I had a book on C++ that I would read while going on long rides in a car (somebody else driving of course) or right before I fall asleep.

When I woke up I would have a new idea based on what I read that night and I would head for the computer to try it out but I still didn't know how to start my idea.

So I started with the most basic program playing with if/else statements and cin/cout in MS-DOS

from there I researched. Keep reading about the language. At least that's what I did.

Also I find that having a decent sized whiteboard and a marker nearby is great for jotting down notes on the current thing you're working on.

And if you get bored that's fine. I have a short attention span when programming. Get up, go do something else. You never know what event might inspire your programming. Ready to give it another go? Come on back and pick up where you left off.

And last but not least, to keep track of what I'm doing since I get up a lot, NEVER finish a function or complete your train of thought. The reason being is, when you come back you can skim through the first piece of the function and it will help you remember what you were doing easier. Finish the rest of that function and you'll have an easier time getting back on your train of thought in my experience.

Share this post


Link to post
Share on other sites
I know exactly how you feel. Dont expect quit results. some things in c++, take weeks to completely understand, brother.

Share this post


Link to post
Share on other sites

Quote:


I know exactly how you feel. Dont expect quit results. some things in c++, take weeks to completely understand, brother.



I bet you meant _years_, but you didn't want to be discouraging ;)

I started with simple programs that draw some lines on the screen. I took the path of looking and changing other people's source code. Did some bad programming for a long time, but with a goal. I took a simple board game and tried to make a computer version of it.

Huge leaps happened sometimes, when I understood something revolutionary (such as how to allocate memory, object-orientated programming, abstraction ...).

So, try to find some samples and start modifying them. Remember that you'll need to enjoy what you're doing (programming simple things bring the results fast too).

I never read any programming related books.

Cheers!

Share this post


Link to post
Share on other sites
demus79

how good would you say you are at programming now? and how long have you done it,i was just wondering because i like your method but i was just wondering what you are now able to do with your skills.

Share this post


Link to post
Share on other sites
I think it helped me that I started out with QBasic. In a few lines of code I had something interactive on the screen. Hacking does help to (messing other peoples code legally), you won't know everything about what is going on but by changing things and seeing how it affects the end result you can learn.

Share this post


Link to post
Share on other sites
crowleyhammer

How good am I ? Well, one cannot say such a thing objectivily. I consider myself a good programmer (not that I have actually accomplished something really great). I know that one can be always better but also that it is difficult to see the quality of your own work. I have been programming for over 10 years, started with Turbo Pascal, moved to Borland C/C++ and then Watcom C++ and then Visual C++. So in that way I am bit limited to C/C++ but I don't mind since it meets up with my requirements.

Being a good programmer is as much of writing good code as understanding the thing you are describing with the programming language. It is important to understand how to split the problems into so small pieces that eventually you are able to describe every small piece with the language of your desire.
I do quite much of self evaluation and if I discover a new or a better way to do something I am ready to change lots of things (improving the code gives kind of satisfaction).

Cheers !

Share this post


Link to post
Share on other sites
best way to keep yourself motivated is to try and set yourself attainable goals, and give yourself a break and don't beat up on yourself when things get tough. Learning with some other people who share the same goal is great if you can.

Remember sometimes there are no short cuts, some things are just plain hard and you have to work at them. Some things are evolutionary, got to crawl before you walk, walk before you run, and all that stuff. Every experience good or bad you allow yourself to have is building you up to the next level, as long as you let it all soak in and don't try to skip too much.

Saying that, if you find some code completed, like that Tetris tutorial pointed out above for instance... fiddling, breaking, repairing and improving something is also a good practical way of figuring out how something works.

I don't know, a lot of my generation used to copy listings out of books and magazines for their Orics, BBCs, Spectrums, C64s, etc. Yeah it was several flavours of basic, but I think exposing yourself to more then just C++ also can give you insight and understanding of architecture where it might not immediately be obvious to a new developer. Or just different ways of thinking demanded by other languages. I guess in a world where C++ is now the uber #1 standard for game programming has it's obvious plus points, but it might also be leading some developers to think it's not worth trying anything else.

Man that last paragraph made me sound old. [rolleyes]

Share this post


Link to post
Share on other sites
I've got a feeling that lots of people on the web says to beginners that they should "just mess around, read code examples etc, and you will learn". I don't think that approch works for everyone. I personally learn more from reading about concepts and explainations more than I do with examples, especially code examples.

I have two tips: Think about a game you would REALLY like to do first. Not just something that you would think was OK. It can be hard, I know, but once you have it, it will boost you motivation.

Secondly, If you have a friend, that you talk to daily, and that is in the same situation as you (wanting to make games, and at the same skill level when it comes to making them), that's great, for two reasons. You can learn better by discussing things with each other, and secondly, if you work together that will help you actually do something, instead of never opening the book and doing other things instead.

Also, check out these tutorials on SDL (Simple DirectMedia Layer). With SDL you can draw 2d graphics, play sound, handle user input and more. The good thing is that it's really easy to learn with these tutorials. If you have a basic understanding of functions, classes, loops, conditions (if (..)) and operators, you should be able to follow them. So, you can begin making games without having to learn lots of programming stuff first.

Share this post


Link to post
Share on other sites
tufflax:

Unfortunately, Lazyfoo's Tutorials are going to be useless to me. His installation instructions do not work well with the Express Edition of C++.

But I will read them and Bookmark them for when I do find a way to get it working. Thanks

Share this post


Link to post
Share on other sites
Quote:
Original post by tufflax
You could get a free IDE like Dev-C++


My editor of choice :thumbsup:
I was using a batch file to compile my code I would write using Notepad before Dev-C++ XD

I tried other IDEs but Dev-C++ is my favorite so far.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement