Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Thoughts on a good learning language

Thoughts on a good learning language

Scheduled Pinned Locked Moved The Lounge
discussioncsharplearning
18 Posts 13 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R RossMW

    MIT or our equivalent is still years away. I was after something as an introduction. If he wants to pursue later he will no doubt pick his own path

    P Offline
    P Offline
    PIEBALDconsult
    wrote on last edited by
    #5

    MIT put video lectures online a while back. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2008/index.htm[^] or maybe it's this one. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/[^]

    1 Reply Last reply
    0
    • R RossMW

      My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

      _ Offline
      _ Offline
      _Damian S_
      wrote on last edited by
      #6

      My son (year 9 this year) was using Scratch previously, but the last assignment he had to hand in was using GameMaker from http://yoyogames.com/[^] Hope that helps.

      Quad skating his way through the world since the early 80's... Booger Mobile - My bright green 1964 Ford Falcon - check out the blog here!! | If you feel generous - make a donation to Camp Quality!!

      1 Reply Last reply
      0
      • R RossMW

        My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

        J Offline
        J Offline
        JMK NI
        wrote on last edited by
        #7

        I would recommend three.js[^], he will learn 3d games programming and Javascript, best of both worlds

        1 Reply Last reply
        0
        • R RossMW

          My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

          G Offline
          G Offline
          GuyThiebaut
          wrote on last edited by
          #8

          I think Scratch is brilliant! I helped my niece with some homework and while it may seem a bit simple it is a very good introduction to programming. I was able to create a game and it was really not too different from writing something similar in .Net except it has a much more graphical interface to it. Yes it has fewer libraries and functions, however despite that I think it is as decent if not better than the ZX Spectrum and BBC Micro Basic I grew up programming.

          “That which can be asserted without evidence, can be dismissed without evidence.”

          ― Christopher Hitchens

          1 Reply Last reply
          0
          • R RossMW

            My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

            K Offline
            K Offline
            kmoorevs
            wrote on last edited by
            #9

            Why not use .Net and start with little console application in VB/C# that can take input and solve math homework problems. :)

            "Go forth into the source" - Neal Morse

            1 Reply Last reply
            0
            • R RossMW

              My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #10

              I've been running a coder-dojo for the past three weeks, and it's interesting to see the different levels of kids using it (and other options). FWIW here's my take First - here are 5 other sites that use similar techniques to teach coding: Learn with Angry Bird http://learn.code.org/hoc/1[^] LightBot - a little harder! http://light-bot.com/hocflash.html[^] Code Combat - learn Javascript http://codecombat.com/play/level/rescue-mission[^] Code academy - learn Javascript http://www.codecademy.com/courses/hour-of-code/0/1[^] CodeAvengers - learn Javascript http://www.codeavengers.com/javascript/17#1.1[^] These are all great introductions, though a little less 'open' than Scratch (i.e. they tend to use small pieces of code to perform small tasks- building upon previous tasks, and do it as part of a game format) Kids using scratch for a few hours tend to come out with the "I know Scratch now, what's next". Really they've just scratched the surface (intended). Often they will have done an animation with maybe a couple of characters - sometimes with some minor interaction - but nothing more. They won't use variables by themselves and will sometimes delete huge swathes of code when something doesn't work rather than keep trying. So they need help and encouragement (which is exactly what happens at a Dojo!). Sure, scratch is a bit simplistic - but it is much less scary than a 'real' language - but if HE is bored with it, then I would recommend one of the other links (in increasing order of difficulty) for him to look at. The other thing to look at is what HE wants to program? If he is capable of doing complex stuff in any of the above, or Scratch, then you might tempt him with using ScriptCraft for Minecraft - which is a Javascript Mod to the Minecraft Bukkit s

              R 1 Reply Last reply
              0
              • L Lost User

                I've been running a coder-dojo for the past three weeks, and it's interesting to see the different levels of kids using it (and other options). FWIW here's my take First - here are 5 other sites that use similar techniques to teach coding: Learn with Angry Bird http://learn.code.org/hoc/1[^] LightBot - a little harder! http://light-bot.com/hocflash.html[^] Code Combat - learn Javascript http://codecombat.com/play/level/rescue-mission[^] Code academy - learn Javascript http://www.codecademy.com/courses/hour-of-code/0/1[^] CodeAvengers - learn Javascript http://www.codeavengers.com/javascript/17#1.1[^] These are all great introductions, though a little less 'open' than Scratch (i.e. they tend to use small pieces of code to perform small tasks- building upon previous tasks, and do it as part of a game format) Kids using scratch for a few hours tend to come out with the "I know Scratch now, what's next". Really they've just scratched the surface (intended). Often they will have done an animation with maybe a couple of characters - sometimes with some minor interaction - but nothing more. They won't use variables by themselves and will sometimes delete huge swathes of code when something doesn't work rather than keep trying. So they need help and encouragement (which is exactly what happens at a Dojo!). Sure, scratch is a bit simplistic - but it is much less scary than a 'real' language - but if HE is bored with it, then I would recommend one of the other links (in increasing order of difficulty) for him to look at. The other thing to look at is what HE wants to program? If he is capable of doing complex stuff in any of the above, or Scratch, then you might tempt him with using ScriptCraft for Minecraft - which is a Javascript Mod to the Minecraft Bukkit s

                R Offline
                R Offline
                RossMW
                wrote on last edited by
                #11

                Many thanks for everyone responses there certainly a lot for my son and I the investigate. Much appreciated.. :) :)

                M 1 Reply Last reply
                0
                • R RossMW

                  Many thanks for everyone responses there certainly a lot for my son and I the investigate. Much appreciated.. :) :)

                  M Offline
                  M Offline
                  Mike Winiberg
                  wrote on last edited by
                  #12

                  I don't have any sensible suggestions for a first language really (although Logo used to be popular). I just wanted to make the point that the important thing is to learn the principles of program development (no matter how basic to start with) rather than get hooked on a particular language or dev environment. Any of the 'big' dev environments like .Net, Java, etc are in themselves quite complex beasts, and are often surrounded either by even more complex tools and/or require knowledge of complex libraries or frameworks to use effectively. Those of us who started before all these things (I began with FORTRAN IV on paper coding sheets, then Algol 68R and assembler FFS!) forget that to someone who doesn't even have a basic understanding of how the hardware works, this is all just a mass of detail that obscures what you are really trying to achieve: bend the machine to your will! So, my advice: find something that can produce a working application without needing to learn either complex editors/IDEs or libraries/frameworks: stick with that until the core principles of problem-solving and control of the hardware start to sink in; then introduce the complexity gradually. Try to find something relevant to do, whether it's a game, controlling a device, solving puzzles or whatever - something the learner can relate to in their lives. It wasn't until I realised that the development process has (with the exception of DSLs) NOTHING to do with the language and framework you are building with, that I started to really feel productive. YMMV of course!

                  1 Reply Last reply
                  0
                  • R RossMW

                    My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

                    S Offline
                    S Offline
                    Stephen Dycus
                    wrote on last edited by
                    #13

                    If your son's interested in games, definitely use that to your advantage. I got into software development because of my love of games. My first language was Dark Basic, a Basic derivative for game prototyping. I loved it. Get him a physical book. Online tutorials are great and all but physical media can really help you focus. He can take it to school and reed it in his down time, he can pick it up if the internet goes out, he can read it on the toilet, whatever lol. Unity, as someone else mentioned, is a pretty good choice though it may be a bit complex for someone just starting out. Gamemaker would teach your son more about game development, than it would programming but it's not a bad choice. I always recommended to my friends growing up that they try to make a text based game as their first goal; that way you don't have to learn any graphics, sound, controller, etc apis. It's just simple logic and prints to a console. Could be a number guessing game, or a full blow text-based rpg. I'd recommend anything with console support (which is just about every language.) Python has console support, he could take that project and use pygame to turn it into something more later on. C# has console support and it's used to back Unity programming, so it would be relevant for him to learn. If he's interested in animations, flash is still a thing I hear lol. Those are my recommendations.

                    1 Reply Last reply
                    0
                    • R RossMW

                      My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

                      N Offline
                      N Offline
                      Nathan Minier
                      wrote on last edited by
                      #14

                      With HTML5 making JS functional is a fully-fledged language, why not start him out there? The nice thing about HTML/JS is that it can start very simply and become something so much more very quickly.

                      1 Reply Last reply
                      0
                      • R RossMW

                        My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

                        K Offline
                        K Offline
                        Kirk 10389821
                        wrote on last edited by
                        #15

                        Ross, I think adding more languages too quickly is a pain. If he and his friends use scratch, then encourage him to write other programs in scratch. Show him how to find, download run, and MODIFY someone elses code. I offer my teen daughter a "bounty" (others call it a bribe), to pickup skills that are on the "cusp" of her interest. (She did the online MSFT Excel training and made some cash over the summer. She does not get an allowance, which encourages bounty seeking!). Anyways, the thing that OPENED the door for my development was realizing I could start with someone elses work and make it better... I started adding back doors to PDP/11 programs while in high school, fake login programs to steal passwords (which apparently can be done on Android devices... Everything old is new again)...

                        1 Reply Last reply
                        0
                        • R RossMW

                          My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #16

                          Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects. http://www.alice.org/index.php[^] And as a teenager, he might like: Blender is a free and open source 3D animation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. Advanced users employ Blender’s API for Python scripting to customize the application and write specialized tools; often these are included in Blender’s future releases. Blender is well suited to individuals and small studios who benefit from its unified pipeline and responsive development process. http://www.blender.org/[^]

                          1 Reply Last reply
                          0
                          • R RossMW

                            My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

                            F Offline
                            F Offline
                            Fabio Franco
                            wrote on last edited by
                            #17

                            I've always recommended C (not C++) as a starter language for a couple of reasons: - You learn to think about what's under the hood from the start. If you go the other way around you may get into some vices that are heard to unlearn. - Once you get up to speed with C, other languages are easy to learn, plus you get the benefits of high level programming with the knowledge of knowing what's going on under the hood. That makes a lot of difference on writing good software. - Eventually, if he is serious about game programming, the odds are that he is gonna hit C++. Either himself or with an employer. That will make it much easier for him. Having said all that, the C language is a challenge for most teenagers, but you will not know if he can handle it if he does not try. Maybe it will feel natural to him and if he does, well, he will have a brilliant future in programming.

                            To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                            1 Reply Last reply
                            0
                            • R RossMW

                              My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic. My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise) I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks

                              R Offline
                              R Offline
                              rvIceB
                              wrote on last edited by
                              #18

                              I started out with similar intentions when I first picked up C# about 7~ years ago. I started with the XNA Framework from Microsoft making simple PC games. It introduced me to some common problems and practices that are encountered in developing video games. After that, my job called for some in-house tools to be developed, and my knowledge of the language expanded to meet it. I started out with a program that scrapes files from a folder and emails them. My most recent project being more complex; an automatic update program that first checks for updates to itself, then loads and executes an assembly of update procedures for our flagship software. I guess an example of this would be my ACLib project at github, which was intended to expand on the native Windows console and add some functionality more appropriate for ASCII based video games. This is one result of my interests in video games and my collected knowledge on C#, and a weekend's worth of work. I've also used things like Unity, but I feel like they abstract too far away from letting you use C# to build a game, and instead they try to force you into their own little system of how things work. It chokes out the strengths of C# as a language by funneling you through their own libraries and ambiguously defined 'magic' methods. I am by no means in the leagues with some of the fine folk here on CP, but I feel that the path I've chosen has prepared me well enough to pick up a legitimate job developing software and I can only recommend anyone young and willing to do the same, especially if they have the free time.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups