Advertise here




Advertise here

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

TEENAGE SON WANTS TO GET INTO PROGRAMMING - WHERE TO START?

dazza1304dazza1304 Posts: 3New Users
edited October 2010 in Off Topic
Hi guys,

I am looking for advice from those that know.

My teenage son (15) is really into computers and wants to get into programming, thinking this is his career choice.

I don't know if its relevant, but he currently has a windows laptop and is looking to get a mac mini. He is really into gaming, although like his father, he likes gadgets and likes playing with the iphone (hence the post on this forum).

Can anyone offer any advice on what is the best way to get started by being self taught and also guidance on what languages he should look to learn?

Advice from well experienced programmers would be very welcome, so that I can try and guide him in the right direct.

Many thanks....
Post edited by dazza1304 on
«13

Replies

  • dazza1304dazza1304 Posts: 3New Users
    edited June 2010
    i guys,

    I am looking for advice from those that know.

    My teenage son (15) is really into computers and wants to get into programming, thinking this is his career choice.

    I don't know if its relevant, but he currently has a windows laptop and is looking to get a mac mini. He is really into gaming, although like his father, he likes gadgets and likes playing with the iphone (hence the post on this forum).

    Can anyone offer any advice on what is the best way to get started by being self taught and also guidance on what languages he should look to learn?

    Advice from well experienced programmers would be very welcome, so that I can try and guide him in the right direct.

    Many thanks....
  • TapTouchClickTapTouchClick Bay Area, CAPosts: 679New Users @ @ @
    edited June 2010
    I'm around his age and have been coding for 2 years. I have been coding the iPhone/Mac/iPad throughout the two years, but have dipped my feet into langauges like HTML, PHP, JS, C, C++, Ruby, and VB.net. I think the iPhone is a great way to make and develop software as a teen. While I don't have as much experience as most people on these forums as far as a history of coding, I can tell you that as time goes, the languages will change. Learning base languages like C and VB.net can be helpful, but I myself didn't start like that. I have a few friends my age really into web development (html/php) and that is really rewarding too, as I see it.

    Feel free to ask more questions!

    HTH
    <a href="http://taptouchclick.com" target="_blank">Our website</a>
  • TapTouchClickTapTouchClick Bay Area, CAPosts: 679New Users @ @ @
    edited June 2010
  • GuapDevGuapDev Posts: 19Registered Users
    edited June 2010
    dazza1304 wrote: »
    Hi guys,

    I am looking for advice from those that know.

    My teenage son (15) is really into computers and wants to get into programming, thinking this is his career choice.

    I don't know if its relevant, but he currently has a windows laptop and is looking to get a mac mini. He is really into gaming, although like his father, he likes gadgets and likes playing with the iphone (hence the post on this forum).

    Can anyone offer any advice on what is the best way to get started by being self taught and also guidance on what languages he should look to learn?

    Advice from well experienced programmers would be very welcome, so that I can try and guide him in the right direct.

    Many thanks....

    There are a bunch of teen developers out there. But be warned, learning a computer language isn't an easy task. Objective-C, as with any object based programming language, is hard to grasp. It'll take a lot of commitment and a whole lot of stress.

    I suggest you start with a programming book on Objective-C first, which is the computer language used to program Iphone applications. From there, have your son read up and focus in on Iphone development.

    Also, it might be easier for teens his age to start simple and watch some Youtube tutorials.

    All the best to your son.
  • dazza1304dazza1304 Posts: 3New Users
    edited June 2010
    GuapDev wrote: »
    There are a bunch of teen developers out there. But be warned, learning a computer language isn't an easy task. Objective-C, as with any object based programming language, is hard to grasp. It'll take a lot of commitment and a whole lot of stress.

    I suggest you start with a programming book on Objective-C first, which is the computer language used to program Iphone applications. From there, have your son read up and focus in on Iphone development.

    Also, it might be easier for teens his age to start simple and watch some Youtube tutorials.

    All the best to your son.

    Many thanks for your advice, from what I read, it looked like C was the way forward, but wasn't sure.

    Out of interest, what is C+ - is this a further development of C?
  • Robert PaulsonRobert Paulson Posts: 492Registered Users
    edited June 2010
    Hey,

    it's called C++ and wikipedia can tell you all about it.

    I am not sure whether you understand that the language you should be looking at is called Objective-C not C.

    Also, you don't need to SCREAM AT US BECAUSE WE CAN ALL READ VERY WELL. ;)

    Good luck!

    Cheers,
    Bob
    <i>We are God’s middle children, according to Tyler Durden, with no special place in history and no special attention.</i><br />
    <br />
    Consider saying <i>thanks</i> by buying <a href="http://www.qego.com/thecolor.html" target="_blank">my app</a>. :]
  • firebugfirebug Posts: 71Registered Users
    edited June 2010
    I would recommend not starting with C,C++ or objective-c. The syntax, pointers and memory management seem to confuse a lot of the younger people starting to get into coding. I'd go with Python or Ruby to learn the basics of making a program(loops, branching and algorithm design) before learning Objective-C and trying to make a game.
  • TapTouchClickTapTouchClick Bay Area, CAPosts: 679New Users @ @ @
    edited June 2010
    firebug wrote: »
    I would recommend not starting with C,C++ or objective-c. The syntax, pointers and memory management seem to confuse a lot of the younger people starting to get into coding. I'd go with Python or Ruby to learn the basics of making a program(loops, branching and algorithm design) before learning Objective-C and trying to make a game.

    I'd like to say I started with C++ and Ruby, but I only did them for about a week so I didn't really count it.
    <a href="http://taptouchclick.com" target="_blank">Our website</a>
  • pobri19pobri19 Posts: 17Registered Users
    edited June 2010
    Hi dazza, I guess this would depend on what operating system your son prefers and how familiar he is with the all the different operating systems.

    If he's currently using Windows and he's comfortable with it and wants to develop for his Windows machine then Objective-C probably isn't the best thing for him.

    If however he has some familiarity with the Unix environment and wants to start developing for Mac OSX or iPod related products then Objective-C is what he's after.

    If he isn't an experienced computer user then he will have a lot of trouble picking things up quickly if he's going to dive straight into a low level programming language (such as C or C++ for Windows or Objective-C for Mac).

    If he wants to take things slow then a good start is to learn something a bit more basic which will give you a grasp on programming syntax/logic and basic fundamentals such as loops and functions. Scripting languages are perfect for this and there are plenty out there, Python, Ruby, PHP (probably my favourite, although it's mainly used as a web language).

    So to summarise, if he wants a challenge and has a lot of spare time on his hands (trying to learn this whilst studying at school with no prior programming experience might be a bit difficult, it takes a LOT of dedication) then perhaps look at the C and C++ programming languages for Windows or Objective-C for Apple products.

    A good start is C programming.com - Your Resource for C and C++ Programming - it has a tutorials section. On Windows he can use Visual Studio for writing/compiling code.

    If he wants to take things slow then he should learn a scripting language like PHP, Python or Ruby (to name a few). I'm sure there's plenty of tutorials for these on the net and they're fairly easy to get started in.

    Hope this helps.
  • spikeyfish2spikeyfish2 Posts: 141Registered Users
    edited June 2010
    firebug wrote: »
    I would recommend not starting with C,C++ or objective-c. The syntax, pointers and memory management seem to confuse a lot of the younger people starting to get into coding. I'd go with Python or Ruby to learn the basics of making a program(loops, branching and algorithm design) before learning Objective-C and trying to make a game.

    I'd disagree. I'm 16, and started out with Objective-C as the language i'd really focus on. I had tried a few other languages at a younger age (vb and C#), but never really found them easier than Objective-C. Objective-C syntax is just logical to me :/
     MacBook Pro i5 2.5GHz, 4GB RAM (Mid-2012)<br />
     Magic Trackpad and Wireless Keyboard<br />
     Licensed iPhone Developer (Alex Blundell)<br />
     iPhone 4S White<br />
     iPad 2 32GB WiFi<br />
     Support
  • TapTouchClickTapTouchClick Bay Area, CAPosts: 679New Users @ @ @
    edited June 2010
    You and I don't no what's right. True, objective c may be easier, but this guy was asking for the opinion of veterans who have been coding for years. If you started with objective c and you still are a teenager, then you really don't know the ropes. I'm not saying I do, but if this guy wants to get into the programming world and do that for a living he may want to learn more fundamental languages first.
    <a href="http://taptouchclick.com" target="_blank">Our website</a>
  • TambourinTambourin Posts: 1,022Registered Users @ @ @ @
    edited June 2010
    I think it's better to start with C and learn about loops and get a general concept of algorithmics. Then proceed to Objective-C and learn about objective development and inheritance.
    Forget about C++. Objective-C is required for iphone development, C++ is optional.
    In my opinion Objective-C is easier than C++.
  • mavrick3mavrick3 Posts: 213Registered Users
    edited June 2010
    dazza1304 wrote: »
    Hi guys,

    I am looking for advice from those that know.

    My teenage son (15) is really into computers and wants to get into programming, thinking this is his career choice.

    I don't know if its relevant, but he currently has a windows laptop and is looking to get a mac mini. He is really into gaming, although like his father, he likes gadgets and likes playing with the iphone (hence the post on this forum).

    Can anyone offer any advice on what is the best way to get started by being self taught and also guidance on what languages he should look to learn?

    Advice from well experienced programmers would be very welcome, so that I can try and guide him in the right direct.

    Many thanks....

    Hej, I'm 14 years old and I got started with the iPhone SDK ;-)

    Objective-C is good for starting get starting and it's usefull for his career (better than Visual Basic and so on..)

    I would show him this site and some other good tutorial sites and he can start... I started 2 Years ago... and alone - without any help!
  • nephuntnephunt Posts: 3New Users
    edited June 2010
    After teaching software engineering for 20+ years at the university. I can say that there are in fact many different strategies to accomplish your goals. Programming has as much to do with personality and environment as it does technology.

    That said; we discovered back in the 80's and early 90's that people who learned the BASIC language first had a much harder time to program more advanced languages like C. Over the course of the years in the 2000's it was clear that people who understood the "C" and "LISP" languages had the upper hand in object oriented programming over those who developed in BASIC.

    I guess many had hoped that C++ would have been the killer of C, but that never happened. Since those days the world of programming has changed so much. "Almost" all embedded programming today is either in C or Java. But mostly in C.

    However, fundamentals are still necessary to have a good future in software engineering. So my suggestion; get K&R version 2 book with a gcc compiler and start learning. Also, Apple OS is UNIX based so K&R will be at home in the Apple environment. On the DOS or Windows OS you can download and install Cygwin and play there.

    After you get through that, then take a look at almost anything you would like. I would probably go for Java as the next one because there is so much global support for it as it is so popular. Of course if you want him to make apps for iOS then go for the XCode environment. C is fundamental to XCode.

    This is not an all to end all, but based on my experience I would do it something like that.

    -
  • gordgord Posts: 7New Users Noob
    edited July 2010
    After being a hardcore C/C++ developer for many years I discovered lisp and my worldview really changed.

    I would actually not recommend C as a first language [and definitely NOT C++, it has too many hidden subtleties]...

    Id suggest he learn about developing interactive 'web apps' in Javascript with a good library such as jQuery.

    You can write quite rich interactive games that run on iPad / iPhone / Android devices along with desktop browsers. You do have the issue of browser compatibility but thats a second order thing. Firefox, Chrome and Safari on the desktop are actually a viable development platform with a usable debugger.

    Later on, he may get interested in C/C++ assembler or Ruby / Python depending on his preferences.

    Javascript does have some silly quirks, but does also have very powerful features such as passing functions as arguments easily.

    Ruby is another good language, but Id go Javascript as so much is moving to the web now with HTML5, and its everywhere.. and hes likely to enjoy seeing code run on mobile devices.
  • gordgord Posts: 7New Users Noob
    edited July 2010
    gord wrote: »
    Id suggest he learn about developing interactive 'web apps' in Javascript with a good library such as jQuery.

    Just wanted to add there are some very cool libraries coming out that he can use in Javascript.
    - jQuery for basics, and an easy way to access HTML/DOM nodes
    - RaphaelJS for pie charts, interactive graphics etc
    - jsMath for cool math related graphs [handy for math assignments]


    So there's lots of cool stuff to play with while he's learning, which can lead into more questions about science [physics of collisions, combinations, bot AI] etc.

    btw, if he gets seriously into math, a good environment is sagemath, which uses Python as its main language... and of course artofproblemsolving.com is highly recommended.
  • wahnesswahness Posts: 140Registered Users @ @
    edited July 2010
    It seems everyone here, including myself have differing opinions on this. I think C is a great place to start as is Ruby, or Java. C++ is definitely something that should wait until he's comfy with C.

    The benefit I see with starting at C is that you learn details of how the computer actually uses memory which can be unendingly useful in any language, especially if he's going to be making games. The benefit I see in starting with Ruby or Java is the object oriented nature of those is also a good way to start looking at development.

    Each language has its own set of eccentricities, with C probably having the least since it's so closely tied to the hardware. HTML/Javascript is probably not a good way to start because it's so separated from the actual metal it's running on. Javascript is also just bizarre. So many things about it are counter-intuitive. I find the more abstracted the language becomes, the more difficult it can be to see why things are and aren't working. With C, C++, and Objective-C I can tell a lot better what is happening inside the machine and why something isn't working.

    The way we started in my college classes was to learn the basics of transistors and work our way up to C. I had a lot of fellow students who criticized this method, but the insight into why the computer was acting the way it was has been invaluable. It took the magic out of computers. It made them real and accessible. This might also be a healthy way of starting.
  • F.R.E.E.F.R.E.E. Posts: 72Registered Users
    edited July 2010
    celinar wrote: »
    He must start with php & html language..

    Why???

    I am surprised that no one has mentioned iTunes and the material up there.

    The Objective-C tutorial offered by Apple is very good. I also highly recommend the stamford U online courses offered through ITunes.

    Look for the iPhone/iPad application development topics. Not only are these great courses, but with your son's age, it's a great intro to university level courses and what they can expect when they go to college.
  • codedcoded Posts: 22Registered Users
    edited July 2010
    Wow I'm surprised people don't say "start with .net" but then again this is a mac forums.

    I personally think C and then C++ is the best choice, but I guess Objective C is ok also, as long as he knows the basics:

    inputs/outputs
    loops
    classes
    pointers (learning asm helps a bit, IMO)

    ..etc and he will be good.

    I been programming since I was 15/16 and I started with VB and then learned C++. It was really hard going from VB to C but after that I never went back to VB. I don't like the .net stuff. Like others, I prefer C/C++.
    000000000000000000000000000000000000000000<br />
    1111111110011111000111110001111100111110000<br />
    111000000001100011011 00 1101100000110011000<br />
    111000000011000011011 0001101111100110001100<br />
    111000000011000011011 0001101100000110000110<br />
  • dcthatchdcthatch Posts: 1New Users
    edited July 2010
    I'm 13 and i started off in ruby, which i know think was not a good idea. If he is into game development he could learn flash, but i would recommend learning C/C++ (a great tutorials at C++ Language Tutorial). I know develop for iphone, and it is great. For game design on the iphone i would suggest cocos2d, and the physics engine that comes with it box2d.
  • musicwind95musicwind95 Posts: 365Registered Users
    edited July 2010
    I'm not too far off in terms of age...I think the number one thing is to be motivated. Learning programming, with such a rich environment, means there are many snags and difficulties. With the iPhone SDK especially, there are parts that are a breeze, and require very little to do a lot. There are other parts that make no sense at all and require a dozen lines of code to do one little thing. It gets (very) frustrating.

    That being said, I started off with Stephen Prata's C Primer Plus (5th Edition), which provides a basic introduction to programming. It is a little dense, but is far better than most other books. More importantly, it is up-to-date. I did not go through the whole book, and even now I have not finished it—at the time, I just didn't have the patience, because C is really only good for a foundation (you can't do too much with plain C). Later, I realized that C is fundamentally different from Objective-C (procedural language vs. object-oriented language...ask someone else). I got Stephen Kochan's Programming in Objective-C 2.0 (Second Edition), which teaches C and Objective-C as one language, and provides a beginner's approach. I could've skipped Prata's book, but I found it a good introduction, and a good occasional reference source. Kochan's book is easy, and uses everyday words. It is not dense at all. He also has an excellent support website/forum, for the book (similar to this forum). The book also provides a primer into building iPhone apps themselves.

    I then moved on to Mark & LaMarche's Beginning iPhone 3 Development: Exploring the iPhone SDK (3rd Edition), which assumes knowledge of the language, but assumes no knowledge about iPhone development specifically. From there, I migrated onto personal projects, little test-bed apps, and Apple's documentation. Speaking of which, never start with Apple's dev docs. They are extremely dense (I still don't understand a lot of it), are not very helpful (unless you know exactly what you're looking for), and are designed to be a reference, not to learn from. There are other books that cover iPhone development—too many to name here.

    Finally, I've found these forums, as well as Apple's own Discussion Forums and Developer Forums, to be extremely useful.

    BTW, if your son's really into iPhone dev, you may want to get him something more than the Mac Mini, so it'll last longer (won't become obsolete too quickly), and might be a better value—I'd recommend a mid-range iMac or 15-17" MBP. The iMac has a larger screen, which is a must-have with iPhone dev.

    Hope this helps!
    If I have helped you, <a href="http://bit.ly/mw95donate" target="_blank">please consider donating</a>. I use PayPal. It would mean a lot to me!<br />
    <br />
    <a href="http://cupsofcocoa.wordpress.com/" target="_blank">20100829-
  • musicwind95musicwind95 Posts: 365Registered Users
    edited July 2010
    In addition, I wouldn't start with Ruby, Perl, or something similar—he should start with an object-orientated mentality from the beginning. It makes a difference. Starting with HTML is not very helpful—I have HTML experience, and it doesn't help at all. HTML is a layout language—it describes the way things look, not how they work. PHPis probably not worth the time at the moment.

    I should mention, out of fairness, that he could start with a web app—a combination of HTML, CSS, and Javascript, which runs within Mobile Safari. Flash, of course, is not supported. I don't have experience with web apps, but I've heard that they're a good place to start. I can't provide any opinion on that though.

    And unless he has an awesome idea and a lot of dedication, it's probably not a good idea to start with a game—there's a lot more to a game (graphics, drawing code, etc.)
    If I have helped you, <a href="http://bit.ly/mw95donate" target="_blank">please consider donating</a>. I use PayPal. It would mean a lot to me!<br />
    <br />
    <a href="http://cupsofcocoa.wordpress.com/" target="_blank">20100829-
  • headkazeheadkaze Posts: 406Tutorial Authors, Registered Users @ @
    edited July 2010
    coded wrote: »
    Wow I'm surprised people don't say "start with .net" but then again this is a mac forums.

    He does have a PC laptop so he might consider starting out with a .NET language like C# or VB.NET. I would personally go with C# as it will make learning C++ and Obj-C later on easier.

    Visual Studio has a decent debugger so it's certainly a good place to start. Also with the free Visual Studio Express and XNA you can start making DirectX games for the PC.

    I personally started with plain old C but that was because there was no C++ back then. I would go for an Object Oriented language right away and learn those concepts, so C# is a good place to start.
    <a href="http://headsoft.com.au" target="_blank">Headsoft</a> | <a href="http://jungool.com" target="_blank">Jungool</a>
  • zbenzben Posts: 38Registered Users
    edited July 2010
    There's a Stanford course on iTunes U. There is also some info from a course that was taught at the University of Maryland at College Park online: CMSC 498i
  • JordanRHughesJordanRHughes Posts: 4New Users
    edited July 2010
    I started with how-to books from the library and once you get the basics move to the forums where there is lots of help.

    Good luck.

    ;)
«13
Sign In or Register to comment.