C++/Programming For Young Adults

Just the other day one of clients' kids started asking me questions about how to get into programming.  I told him, and this is from my experiences in school, that one of the best languages to start with is C++.  After looking around I noticed that there are not very many programming classes or books geared toward young adults.  He understands basic math and is very computer savvy, but he would be unable to enroll in a class at a college campus because these are considered college level classes and he of course is only in high school.

I know everybody has their own preference on what languages to start with but does anyone know some place to start for a young adult?
blundahlAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

evilrixSenior Software Engineer (Avast)Commented:
>>  from my experiences in school, that one of the best languages to start with is C++
C++ is really not a good language for someone learning to program. You are going to struggle with the complexities of learning to code as well as the complexities and nuances of the C++ language.

>> I know everybody has their own preference on what languages to start
They do and it is subjective; however, IMO Python is a very good language to start with. It forces good coding style (it is white space sensitive and has to be laid out in a specific way, but this way is actually very logical), it's fully object oriented so you learn all about OOP and it's completely free and available on just about every platform. It has great support in terms of online documentation and forums and has a plethora of support libraries. You can use to to code things such as command line tools up to and including Windows Applications.

http://www.python.org/
http://en.wikipedia.org/wiki/Python_(programming_language)
http://www.activestate.com/activepython/
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
phoffricCommented:
Gosh yes, I couldn't agree more. I've been using C++ for years; but now I bought a book from the C++ creator (almost 800 pages of terse writing, which in another book would be at least 2500 pages long). I mean there are books on subjects that are covered in one chapter.

Then again, it is possible to learn a 1/4th of C++ and still have some fun. It all depends on their skill level and interests.

When I learned C from K&R book, that was only a little over 200 pages, and there are pretty tricky things in there. But 200 is much < than 800.

So, I would definitely choose a language whose application is in an area that they are interested in. It's usually the applications that are interesting, and the language is just a means to an end. Not all applications require C++. But if they already have lots of programming experience in some other language, then there are videos on the subject which I can give you if still interested.

Let us know what applications they hope to work in and that will likely play a key role in their course of studies. There are lots of high school students who learn languages out of a burning need to develop their own games. And they do learn C++ or Visual Basic or Adobe Flash.

>> computer savvy
In what way? Programming, operations, administration (they can speed up the slowest PC)? Only the first, programming, is going to be a prerequisite in going into C++.

Here is one link from Microsoft Visual Studio Express C++ (a free download for practicing):
    http://msdn.microsoft.com/en-us/visualc/aa336412.aspx

But that link may be too hard an introduction. So, let's first start with easy fun stuff from Microsoft first:
    http://social.msdn.microsoft.com/Search/en-US?query=kids%20corner%20microsoft&ac=1
which have many links. Here's one that discusses the concept of Objects:
    http://msdn.microsoft.com/en-us/beginner/cc963989.aspx

Look, maybe this last link is too easy; but I found it interesting to watch these young actors.

BTW - High school students, if qualified, can take community college courses (around here) with special permission from the high school.
0
adharasolCommented:
For a new aspiring professional I would definetely recommend going with C# or Java. I prefer C# personally and Microsoft offers a wealth of free virtual lessons, video tutorials and the like at their Microsoft's Beginner Developer Learning Center.

The following link will give any student a good grasp of basic computing:
Kid's Corner: http://msdn.microsoft.com/en-us/beginner/bb308754.aspx

Once these basic computing is mastered he can move on to the next step in the course:
Aspiring Professional: http://msdn.microsoft.com/en-us/beginner/dd547995.aspx

And from here specialize in more detail on his/her preferred topic (or both):
Windows Development: http://msdn.microsoft.com/en-us/beginner/dd435692.aspx

And Web Development: http://msdn.microsoft.com/en-us/beginner/bb308760.aspx
0
HappyCactusCommented:
The primary problem with kids is to keep his attention high.
So you need to propose something that can provide results with very little work, while amusing the kid.
C++ isn't such a language, like it is not Java or C#.
When I was young there was Basic and Logo. Basic was provided with an interpreter with each home computer, and Logo was found in many labs in the school.
I do not have much experience now, I can only suggest you to see the wiki page about logo: http://en.wikipedia.org/wiki/Logo_(programming_language) and try to see if it can help you. On the bottom there are many links for further readings about pedagogical programming languages...

HTH
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.