Page 1 of 2

I could use some help learning please.

Posted: Wed Apr 11, 2012 12:59 pm
by JersyDvl
Hello, I could really use some help learning C++. I am not looking for someone to actually teach me coding, what I am looking for is some advice on some ways to best teach myself. I have never been much good at learning just from a book (HTML being the only exception). I have a couple of books and web resources that I am using

Sam's Teach Yourself C++ in 21 Days 6th Edition
C++ for Dummies 6th Edition
http://www.learncpp.com

I read the books and whatnot, but I could really use some advice to help make what I read stick. If anyone could give me some tips on things I can do to help with the learning process I would really appreciate it. I plan on returning to school to finish my degree in computer science, however at the moment I am physically unable to (needing a hip replacement at 29 sucks lol). I would really like to spend the downtime I have right now doing something productive and learning C++ seems like a great idea to me as ive always wanted to learn programming something other then the QBasic I learned in high school. I would also like to be able to teach others as well once I have learned.

Thank you in advance.
JersyDvl

Re: I could use some help learning please.

Posted: Wed Apr 11, 2012 3:07 pm
by blackball2186
The best thing you could do is write code , make a game , nothing complicated to start with and expand on that m
Moosader has some great tutorials if you get stuck, or post on here, im sure someone would be happy to help. I'm almost always online so shoot me a message if you need help. Learn by doing is the best way to go though. Good luck :mrgreen:

Re: I could use some help learning please.

Posted: Wed Apr 11, 2012 4:04 pm
by Falco Girgis
JersyDvl wrote:I am not looking for someone to actually teach me coding, what I am looking for is some advice on some ways to best teach myself.
Holy shit, he just said the magic words! :shock2:
JersyDvl wrote:I read the books and whatnot, but I could really use some advice to help make what I read stick.
That's a very common concern with learning any new technical skill, but unfortunately, almost nobody asks that question. Do not sit down and read a book all thew ay through. I honestly don't if I have ever read an entire programming book from cover-to-cover. NOBODY will retain it all. It's just human nature.

What you want to do is read enough to get comfortable (maybe get 1/2 to 2/3 through your programming book), then revisit the book as a reference as you work on your projects.

Computer programming is an engineering discipline. You aren't learning code to learn code--you're learning code to create and produce a product. THIS is how you learn. The sooner you can begin applying your knowledge, the better.

When I was young, my "Focus on SDL" book was sooo helpful. It was an entire book that I could read cover-to-cover and reference, but it also had a demo CD. This demo CD gave me a starting point. I could take the demo project that rendered a sprite and add my own input functionality to make it move. Then I could add bullets... then I could interface that demo with the audio demo to add sound effects to my demo...

Demo code like this is amazing for letting you get your foot in the door. It gives you something to build on.

Re: I could use some help learning please.

Posted: Wed Apr 11, 2012 5:56 pm
by JersyDvl
Thanks for the replies. I will definitely keep your advice in mind. Would you happen to know any books that could help me understand C++ in terms of writing a game? Do you have any experience with this book?
http://www.amazon.com/Beginning-C-Throu ... 857&sr=8-1
The title seems like it may be what I am looking for but would rather not spend the cash on it if there is a better book out there.

Also would there happen to be a decent IDE for mac that is not xcode? I have xcode on my desktop but use win7 for c++. I need something for my hackintosh laptop (gonna buy a new macbook pro when the new ones come out this summer) and xcode wont install on it. I looked into this program and it seemed like it would be a great program for writing code. Any ideas?
http://krillapps.com/coderunner/

Thanks

Re: I could use some help learning please.

Posted: Wed Apr 11, 2012 7:25 pm
by StoveBacon
If you feel like you have learned enough, you can try working on a game. If you're looking for a beginner tutorial, you can try moosader's tutorials, she's really good at explaining everything, and it's what I got started.

Webstie:
http://moosader.com/resources/tutorials

youtube:
http://www.youtube.com/user/LusikkaMage/videos?view=1

If you don't understand most of the the stuff in the tutorials though, you may want to go back and review some more and work on smaller programs.
As for an IDE, I've heard good things about Code::Blocks http://www.codeblocks.org/home

Hope I've answered some of your questions

Re: I could use some help learning please.

Posted: Thu Apr 12, 2012 1:04 am
by k1net1k
My best suggestion would be to use video tutorials. One one screen I have a video playing that I can pause easily, and I literally copy as they go. I don't know why but in the very early stages of learning this helped me immensely. Now I look up code samples and language reference to get my info, but in those early days it all seemed so complicated. Video seemed to 'sink-in' better than text. And the fact that I was actually writing the code rather than just thinking to myself "oh yeah sounds straightforward" while reading code, but not actually doing it. After a while it feels great when you just know what to type and dont have to look up syntax and names of everything every 2 minutes.

Having a good teacher (either in person or online is great). Find yourself a mentor. Even good programmers benefit from having a mentor. There is always someone who knows more than you.

The other problem with learning to program is that you dont know what to google for. It is frustrating when you know there is likely a way to do what you want, but you just dont know the terminology to even know where to look for it. I find IRC great for asking general questions, and then i find those keywords to look up on google (which 99% of the time the first result is the official language reference page anyway). I also ask people questions when its not their chosen programming language, because almost every time I can find a corresponding tutorial/example in another programming language. Then I can also google "how to ..... in otherprogramlanguage" and invariably someone has written a guide for someone familair with one language, and how to do it in the other language.

Have a look at some 3rd party code libraries. Dont try and understand everything, but take not of how they structure things, what they call the variable names, what does that function sound like it would do. The other thing I can suggest would be when you start using a library or api etc, have a look at all the methods and public functions. Most of them give a good descriptive name to the function name. I also find these popup while typing in intellisense/code-completion. That way later when you are looking for some feature you at least have a mental map of what's available

Write shit loads of comments. Initially even write a comment for every line of code and really describe what is happening. A few weeks later you will go back and think "oh god there is a faster/better way to do that"

Re: I could use some help learning please.

Posted: Thu Apr 12, 2012 1:44 am
by blackball2186
also http://www.dreamincode.net has some great topics, tutorials , and has always helped me solve any problems ive encountered

Re: I could use some help learning please.

Posted: Thu Apr 12, 2012 1:54 am
by Valfader
I am learning a lot from The New Boston tutorial series on YouTube. You can check it out and see if it's your cup of tea or not:

The New Boston C++ Tutorials

Re: I could use some help learning please.

Posted: Thu Apr 12, 2012 11:04 am
by JersyDvl
Thanks, I will definitely check out those tutorials.

As for finding a mentor, I would not even know where to look for one without feeling like I am just bothering people. I don't want to be a nuisance to anyone lol. I would actually like to be able to teach my best friend to program after I learn, or even other people as well. I am just trying to get past that annoyance called learning hehe.

I looked up that Focus on SDL book on amazon and hole crap. A used copy is $40+.

As for my inquiry for a os x IDE, I was able to get xcode installed finally. So thanks for the suggestion of code::blocks anyway.

Re: I could use some help learning please.

Posted: Thu Apr 12, 2012 5:34 pm
by dandymcgee
JersyDvl wrote:As for finding a mentor, I would not even know where to look for one without feeling like I am just bothering people. I don't want to be a nuisance to anyone lol.
It's not so much a chore to be done as something that usually just ends up happening accidentally over time. Find someone who is working on a project you are interested in, and follow their progress. They will serve as someone to look up to, and might even be available to answer your questions occasionally if you can't find an answer anywhere else. StackOverflow is also one of my favorite places for finding answers to common and uncommon problems alike, as well as asking questions that it seems have not already been answered anywhere.

When I stumbled across the attic chapter of AiGD, I thought what they were doing was awesome. I joined the community the and starting making contributions where I was able. Eventually I started talking to Falco more closely, and now I ask him his opinion just about any time I come across a seemingly unsolved problem because I know he's likely experienced the same problem himself at some point.

As has been said so many times before, programming is learned through experience, books are only references. Just jump in and start making really simple console games like "Guess a number between 1-100". If you get stuck Google the problem, if you're still stuck post here and someone will surely respond to help you out.

Re: I could use some help learning please.

Posted: Fri Apr 13, 2012 12:35 am
by JersyDvl
dandymcgee wrote:When I stumbled across the attic chapter of AiGD, I thought what they were doing was awesome..
I have had an interest in learning C++ for a while, however it was the Adventures in Game Development that inspired me to take it more seriously (that and Code Monkeys). I have been on disability for a while do to some severe arthritis in my right hip and AiGD has motivated to learn it while I have so much free time now and after I have my surgery. It also helps keep my mind of the pain (the pain is ridiculous and Percocet barely takes the edge off). I have several good ideas that I would like to see completed, I just dont want to get ahead of myself either.

I suppose I can eventually find a mentor if I just keep doing what I am doing.

One last quick question. Can I use my macbook to make programs that are compatible with windows? Im sure i would have to recompile it on windows, but would code written on my mac work?

Thanks

Re: I could use some help learning please.

Posted: Fri Apr 13, 2012 1:17 am
by blackball2186
Code Monkeys is one of my fav shows on netflix

Re: I could use some help learning please.

Posted: Fri Apr 13, 2012 10:46 am
by JersyDvl
blackball2186 wrote:Code Monkeys is one of my fav shows on netflix
Defiantly. First time I watched it I thought it was just brilliant in its simplicity. Instead of making it all flashy it was just enjoyable to watch.

As for my question about using my macbook, I went ahead and bought CodeRunner (http://krillapps.com/coderunner/). While it doesn't make executables, so far it has been perfect for what I was looking for. I can type my code in and run it in the build in console. For $5 I am very happy with it. I would recommend it to anyone running OS X.

Re: I could use some help learning please.

Posted: Fri Jul 27, 2012 1:21 pm
by JersyDvl
Forgive me for resurrecting this thread but I figured it a better idea then cluttering with a new post about the same topic. I have been trying to learn C++, however I am having some difficulty. I thought maybe learning something mew newbie friendly such as C# would be a better choice. My problem is my brain seems to not want to replace the bit of C++ I have learned with C# yet. Can anyone provide a suggestion on which way to go? I have several books on both C++ and C#, plus I have been watching the video tutorials from thenewboston.com, wibit.net and the tutorials from Lynda.com. Im hoping that maybe if someone just pointed me in the right direction and why that I would finally be able to make up my mind. I also want to add that my goal is to not learn only one of these languages, but both, and perhaps more afterwards (at least Objective-C as well).

Thanks again.

PS, is there anyone here that I also starting out with learning programming that would be interested in discussing and perhaps learning together over Skype or whatever?

Re: I could use some help learning please.

Posted: Fri Jul 27, 2012 1:35 pm
by bbguimaraes
I would strongly disagree with falling back to a "simpler" language. Define a simple project, try to implement it and post any doubts you have. If you can find someone that replies to your doubts faster than a forum, it's even better.