Author Topic: New to programming, advice needed.  (Read 8083 times)

Eurac

  • Guest
New to programming, advice needed.
« on: May 15, 2008, 09:53:46 am »
My son is interested in C++, I have no idea about it, I love the roleplay.

He is 14 and about to begin his GCSE studies in ICT, he gets A1 grades in ICT at the moment so I think he will soak it up as kids do. He is, of course, keen to be able to programme his own games and has himself played PS.

I would like advice on how I can help him on his way with C++.

What does he need to begin?
What min spec PC will he need?
What software will he need?

Please recommend any good Web Sites, Publications.

I may even learn something myself.

Thanks.


Durwyn

  • Hydlaa Citizen
  • *
  • Posts: 301
    • View Profile
    • Athénée Royal Jean Rey Couvin
Re: New to programming, advice needed.
« Reply #1 on: May 15, 2008, 11:40:19 am »
What does he need to begin?
What min spec PC will he need?
What software will he need?

Please recommend any good Web Sites, Publications.

I may even learn something myself.

Thanks.
1. he will have to get used to these main features: (at least thats how my teacher made us know them, by order)
- "printf", "scanf", "if","while" , "do while","for", "switch", "var[..]", "board dimensions", "functions", "struct", "files.txt", "files.binaries"...
i found a website which is talking about all these features: http://www.learn-programming.za.net/programming_c_learn01.html.
offer him some challenge to solve sometimes  \\o//
2. any sort of pc will be enough, coding doesnt overload your cpu :)
3. he needs a compiler of course :o im using Dev C++ myself (http://www.bloodshed.net/devcpp.html)
   - open a new file and put the code in the main frame
   - click on the menu "Execute" then Compile. (a popup will appear with "done" if no errors), then click on Execute. (or press F9 for doing both actions!)

well it was the list of what i studyed this year in C course  :thumbup:
if you need help for coding, you can send me some codes if you want ;)
hope to have been clear and have helped you! ^_^
http://arjrcouvin.jimdo.com/
Athénée Royal Jean Rey Couvin

Rayken

  • Hydlaa Citizen
  • *
  • Posts: 378
  • postcount--;
    • View Profile
Re: New to programming, advice needed.
« Reply #2 on: May 15, 2008, 11:49:04 am »
cplusplus.com is a good resource.  Most linux distros come with GCC, a compiler.  It will likely be a long time before he is ready to do anything other than console apps, though, so I hope he doesn't expect to be coding 3D games right away...
"Here's to lowering caskets of old friends choice and consequence we'll birth a new day with the death of an old and start over, start over.  Here's to burying hatchets in those who you'd never call your friend...we'll birth a new day with the death of an old day and start over, start over!"

Eurac

  • Guest
Re: New to programming, advice needed.
« Reply #3 on: May 15, 2008, 02:37:08 pm »
He he! A lot of that is over my head. it is nice to be able to tell him that he won't overload his cpu. Thanks for the links.

And of course he expects to be able to code games right away he is, after all,14. He he!

LigH

  • Forum Legend
  • *
  • Posts: 7096
    • View Profile
Re: New to programming, advice needed.
« Reply #4 on: May 16, 2008, 12:55:10 am »
My recommendation: Before learning a language, one should first learn programming... means, the rather language independent elements, like (binary instead of decimal) algebra and numerics (with a limited number resolution), abstraction, algorithms, complexity, programming models (top-down, bottom-up, ...).

Programming is done before writing any line of code. But you can combine both abstract theory and language with *the* default book every programmer should know, in the matching variant: "Algorithms in C++" (Robert Sedgewick - Addison Wesley).
__

Coding games is possible. But "games" are not mainly the 3D effects - rather the rules behind the user interface. The worst mistake game programmers usually do are spending more time with the user interface, effects and art, than with the core of the game. Remember: Tetris is still fun, after decades. ;)
« Last Edit: May 16, 2008, 12:59:29 am by LigH »

Gag Harmond
Knight and Ambassador
The Royal House of Purrty

TymTheEnchanter

  • Traveller
  • *
  • Posts: 33
    • View Profile
Re: New to programming, advice needed.
« Reply #5 on: May 22, 2008, 05:00:06 pm »
Probably the best advice I can give, that has not already been given :) , is to have a goal in mind when you start to program. Something of your own devising that is realistic in scope, but concrete so that your son can say "I have done this" when he finishes the small project. Not only will he have learned some of the basics of programming, he will also have achieved a goal of his own which is very important.

I say this because I felt that learning from books was all well and good, but the toy problems they set are not really that interesting to most people and it can be easy to lose interest in the early stages of learning.

So, I suppose, first identify a task you want to do, like write a game, and then break it down into a number of smaller sub tasks, and so on until you have a number of small, simple, concrete problems to start with which can be used as the learning problems if the breakdown is done suitably.
E.g.
 * read & write data from a file in order to load/save game state.
 * capture input from different devices and use some of the captured data in some way. Such as a word recogniser that uses a list of words read in from a file that repeats words it recognises to the console and asks the user if it should write words it does not recognise back to the file.
 and so on.

I can recommend Eclipse for C++ programmers as an IDE, which I runs best on linux as it already has a compiler. The only problem you will find if a slow machine will take a while to compile large programs, but I doubt your son will be doing those for a little while :)


macchesney

  • Traveller
  • *
  • Posts: 21
    • View Profile
Re: New to programming, advice needed.
« Reply #6 on: May 22, 2008, 07:03:06 pm »
Eurac, I think something like 'GameMaker' would be perfect for your child. Its a program that will allow your child to actually create working games almost instantly. But more importantly, it will teach him about certain aspects of programming and teach him how to solve problems using 'features' that Durwyn expained.

http://www.gamemaker.nl/

Enjoy  :D

Lokked

  • Wayfarer
  • *
  • Posts: 1
    • View Profile
Re: New to programming, advice needed.
« Reply #7 on: December 15, 2009, 02:05:16 pm »
Some primary resources for beginner C++:

Text/Diagram based - Accelerated C++:
http://rapidshare.com/files/94730437/Accelerated.C.2.plus.rar

Video-based Tutorials - The best I've found are created by Youtube User XoaXdotnet:
http://www.youtube.com/user/xoaxdotnet#p/p

And here is a link to the first video in his beginner C++ tutorial Playlist:
http://www.youtube.com/user/xoaxdotnet#p/c/A68C1F33757B4A38/0/KaXDZ7uzLIo

Here is a link to start you off with 3D Development using OPEN GL. There are 5 vids in this series:
http://www.youtube.com/watch?v=WTcNFCJ-afs

Please note, the knowledge gap between understanding C++ Syntax (First set of lessons) to Rendering a 3D image is extremely large. It involves an intermediate knowledge of the way memory is interacted with, and an advanced knowledge of something called Pointers. Here is a link discussing Pointers - http://www.cplusplus.com/doc/tutorial/pointers/

When you think you're done with learning Memory Management and Pointers in C++, try this Quiz (warning - don't let this scare you): http://www.cprogramming.com/cgi-bin/memory_quiz/quiz.cgi

Good Luck! C++ is the best language to learn to program in. If you want advanced stuff once you figure you've learned enough C++, search for Inline Assembly.

Lokked

LigH

  • Forum Legend
  • *
  • Posts: 7096
    • View Profile
Re: New to programming, advice needed.
« Reply #8 on: December 15, 2009, 02:37:39 pm »
C++ is the best language to learn to program in.

We could start arguing about that opinion. Especially a loose treatment of types raises doubts about the "C" language family.

But C++ is definitely one of the most widespread languages, and useful for high-performace and versatile cross-platform development, probably the most universal language.

Gag Harmond
Knight and Ambassador
The Royal House of Purrty

ThomPhoenix

  • Testers
  • Forum Addict
  • *
  • Posts: 2678
  • A Phoenix, what'd you expect?
    • View Profile
Re: New to programming, advice needed.
« Reply #9 on: December 15, 2009, 05:53:30 pm »
He's 14 years old, eh? If I was him I'd wait with C++ for a while, it'd probably scare him out of programming. Start with a more easy high level language such as C# or Java.
Especially Visual Studio 2008 + C# is a very friendly environment for new programmers. It's used at my school to learn people how to program.

After that you could take a shot at Java. It's a bit more hard than C# but it's more powerful with, for example, multi-threading.
Multithreading with Mutexing et all is a field of study in itself, so it's good to learn all about it in a more "easy" language.

After that I would go to more advanced low level languages such as C++, but don't be fooled by those cool "I'll teach you C++ in one day!" tutorials on the web and just book a good book such as "Practical C++ Programming", learn about algorithms with the book LigH mentioned or the book I read; "Programming Pearls". Or just take a course on C++, don't underestimate the power of an experienced teacher who can heed you for many mistakes.

And of course, once you know the basics, start programming. You only truly learn to program after months of practical experience. Start a project of your own, and once you're sure enough of your abilities, join an Open Source project perhaps! Sure you'll make plenty of mistakes and be shouted at by fellow developers, but you'll learn and that's always good.

Oh, and don't expect it to be fun all the time, to get to the good stuff you need to plow through the field of boringness first ;)

Btw, there's an "Express" edition of Visual Studio 2008 which is totally free. If you're interested in game developing also look at Microsoft's XNA framework.
If he likes thing as XNA you could later also look at the multi-platform gaming development tool Unity, which you can program to in C#, JavaScript and a Python dialect.
« Last Edit: December 15, 2009, 06:00:29 pm by ThomPhoenix »
We're not evil. We're simply amazing.

Yaniel

  • Guest
Re: New to programming, advice needed.
« Reply #10 on: December 16, 2009, 09:59:32 am »
I would rather suggest python (don't like it mysef, but it is a good language for beginners).
Also I don't think GameMaker is 'programming' since it is mostly based on drag&drop, which C++ isn't, but let's not argue about that, it's just my opinion.

ThomPhoenix

  • Testers
  • Forum Addict
  • *
  • Posts: 2678
  • A Phoenix, what'd you expect?
    • View Profile
Re: New to programming, advice needed.
« Reply #11 on: December 16, 2009, 12:19:46 pm »
Python is an awesome language, but know many games programmed in Python? No, me neither. (Although some game frameworks allow Python scripts to be used, such as Unity and even CrystalSpace). GameMaker has some kind of language you can use besides the visual stuff, but you'd be better of with C# and XNA if you're going that direction.
We're not evil. We're simply amazing.

Rigwyn

  • Guest
Re: New to programming, advice needed.
« Reply #12 on: December 16, 2009, 12:42:51 pm »

I leaned on my own in a dark corner with books and an old text based borland ide. I wasted hours upon hours struggling with things that could have been explained to me in a fraction of the time verbally ( or in writing ). I started off by trying to learn by reading the manuals and books that came with the IDE and only managed to confuse myself. Learning to get the IDE to work was tricky too. I expected it to be as easy as using a BASIC interpreter :(

 In hindsight making friends with people who code would have been a good idea. Also stay away from crappy "c++ for numb-skulls" type of books. I personally would recommend "The C++ Programming Language" by Bjarne Stroustrup. This book though rather long ( approx 1000 pgs ) but in my opinion was crystal clear. Also I agree with learning another language first in order to get the feel for what programming is. Java is a very good choice - its extremely portable, free, and is fairly commonly used in the financial sector believe it or not.




weltall

  • Associate Developer
  • Veteran
  • *
  • Posts: 1671
    • View Profile
    • http://weltall.heliohost.org
Re: New to programming, advice needed.
« Reply #13 on: December 16, 2009, 02:05:07 pm »
i started with msjava then moved to vb then started working in c (under a ps2 and next on psp) and then moved to c++ on pc and did java again in university (was quite easy at this point, probably the experience from c++)

the university courses here do c and then move to java for the object oriented programming.

Piker

  • Hydlaa Resident
  • *
  • Posts: 86
    • View Profile
Re: New to programming, advice needed.
« Reply #14 on: December 16, 2009, 04:34:06 pm »
When i started programming i was taught Cobol, Basic, Comal and Prolog...  :lol: