locked
I don't know where to begin my programming career. RRS feed

  • Question

  • Hello everyone, I'm very new to programming. I'm 15 years old and love to learn programming. My current dilema is, I'm not entirely sure where i should start. My end goal is to create a video game, and I'd love to use C# for that, I've been told it's very useful for 2D games considering it has the XNA game studio. So, should i just dive right into C#? Or should I try learning a simpler language first, like Visual Basic and then move on to C#? At that, should I even be trying to learn programming at my current age? What are the best ways to learn, mentors and teachers, or should I try to learn it by myself through microsoft. I've tried to start learning VB so I can move on to C#, but it's tough for me, I need a better way to organize my time, should I devote all my free time to practicing, studying and learning? Or should I take baby steps, limit myself and have timers. I'm taking computer courses in high school and those are very helpful, I have alot more questions, but I'd appreciate it if I could get answers to these ones. Thank you for your time.
    Tuesday, May 31, 2011 8:52 PM

Answers

All replies

  • Hi,

    Great to hear that you love programming. Also great that you came here to ask your questions keep doing so.

    We have to know what your experience in programming is. I read that you follow some computer courses at school. What kind of courses are that, are they programming courses. You are never to young to start learning.

    I think that this s a good starting point (considering your age):

    http://www.microsoft.com/design/toolbox/

    This site will offer you hand training and teach you the basics of the programming language. At some point you will notice that you are actualy preparing for learning C# ;-)

    This site starts out pretty easy but gets more difficult.

    another option would be the small basic site: http://smallbasic.com/

    A very good start for everyone who wants to start programming. From that point on try programming you first programs in Visual Studio Express.

    Hope that this gives you some starting points. Any other questions or remarks let us know...


    Maurice
    • Proposed as answer by Mr. Wharty Wednesday, June 1, 2011 1:47 AM
    Tuesday, May 31, 2011 9:44 PM
  • Hello Bumpeh,

    You make me remember my first steps on programming with your post and I get almost tears in my eyes (that's true), because it was hard. But as Maurice said on his post one is never too young to start learning, take it as an advantage for you if you learn at that age, also remember that in Microsoft there were MVPs of your age.

    Well about where to start, I would recommend to you to review the following links on Microsoft Events, there are a lot of very good webcasts that can help you on your path.

    I searched some that could be useful for you.

    MSDN Webcast: Basic Programming Concepts and Introduction to C# (Level 100)
    https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032273355&EventCategory=5&culture=en-US&CountryCode=US

    MSDN Webcast: Overview of Game Development Process (Level 100)
    https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032273346&EventCategory=5&culture=en-US&CountryCode=US

    MSDN Webcast: Visual C# Soup to Nuts: Introduction to C# (Level 200)
    https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032317756&EventCategory=5&culture=en-US&CountryCode=US

    MSDN Webcast: Do-It-Yourself Starter Kit Series: Card Game Starter Kit (Level 200)
    https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032285188&EventCategory=5&culture=en-US&CountryCode=US

    MSDN Webcast: Introduction to 3-D Games (Part 1 of 11) (Level 200)
    https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032286774&EventCategory=5&culture=en-US&CountryCode=US

    As you can see there are some webcasts related to video games programming that maybe you'll find interesting.

    Related to what programming language to start learning, I would recommend to you to start with C#, because actually the market looks for programmers with C# knowledge not VB, and you'll find that C# has more compatibility with video games programming, eg. The Direct X 9, 10 SDK comes with C++, C# code examples only.

    Also there are a lot of books out there that can help you on your path of learning C#.

    If you need more information or a recommendation about a book for learning C# just tell me.

    Regards,
    Jorge Montaño, Microsoft Partner, http://jorgemontano.wordpress.com/
    • Edited by jorge.montano Wednesday, June 1, 2011 1:24 AM Added hyperlinks
    • Proposed as answer by Mr. Wharty Wednesday, June 1, 2011 1:47 AM
    • Marked as answer by Bumpeh Wednesday, June 1, 2011 9:34 PM
    Tuesday, May 31, 2011 11:17 PM
  • Thanks for all the help, as for the computer classes I'm taking, right now it's basic knowledge of computers(Hardware, OS, Applications etc.). Your answers have helped me alot, but there is still one more thing. How should I organize my time to learn programming and program?
    Wednesday, June 1, 2011 12:40 AM
  • I would recommend to you to take an hour a day to start learning programming faster, if you want to go slowly on programming as you learn other computer stuff, maybe one hour a week it's ok, but that depends on you and your commitment on learning programming, just one more advice be consecuent and honest with the schedule that you'll program.

    Best Regards,

    Jorge Montaño, Microsoft Partner, http://jorgemontano.wordpress.com/
    Wednesday, June 1, 2011 1:50 AM
  • Hi,

    learning programming by yourself is most efficient - you can learn at your own pace, skipping unnecessary stuff and try to put your ideas to the test by writing some programs - learning alone without practice won't get you anywhere.

    If you are serious about getting into game programming then I would suggest to get to know how the computers work at a low level first. If video games for PCs and next-gen consoles is your goal, then most likely you will use third-party engine like Unreal so you have to learn C++ language first.

    Assembly language, while useless by itself, is invaluable to getting to know how processors actually work and will give you invaluable insight that will be relevant no matter what kind of programming you do, also help you to understand GPUs.

    For graphical programming knowing matrix algebra, geometric transforms and similar stuff is important and there are some tutorials on DirectX that should get you started. You can use managed language like C# and XNA framework to get the game programming basics down and if/when you would want to go further into high-performance game development - unmanaged DirectX with C++.

    Well if this is too complex or not your cup of tea you could always find something else to do and learn as long as you have the most important requirement to become a good programmer - passion for it :)

    Friday, June 3, 2011 8:57 AM