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. First programming language for high school students?

First programming language for high school students?

Scheduled Pinned Locked Moved The Lounge
c++question
119 Posts 82 Posters 18 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.
  • I I cant do that Dave

    I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

    K Offline
    K Offline
    kinar
    wrote on last edited by
    #94

    IMO, every student should be forced to take a logic course before being taught any language. Logic is the basis for every programming language. If you don't know it, then you can't really learn howto program. If, then, else, and, or, nand, nor, xor. If you don't understand all of these concepts (and I truely mean understand them), you will never be a quality programmer. IMO, basic (not necessarily Visual) is the simplest implementation of logic out of any of the other languages. I would suggest teaching logic using basic initially. Followed by teaching application structure in various languages starting with Basic/VB, C, C++, C#, and last but not least, HTML. After that, they can choose which language (if any) they want to delve into in depth.

    1 Reply Last reply
    0
    • D Dan Neely

      logan1337 wrote:

      Personally I don't even agree with teaching so-called "educational" languages like Turing. I honestly don't understand why people claim such languages are easier or better to learn. Why not just start with the latest language and tools? C# and VS2008. That's what I would do.

      Because it sidesteps the holy war between the window and *nix camps. The 'official' compiler when I started college in 99 was borlands. IT was a compromise between the two camps. Past 'CS101' everyone either used GCC or VC6 as personal preference and targeted platform dictated. It was fun once, we had a comparative programming assignment where everyone wrote the same app and then evaluated each others code. The version of VC6 and the version of GCC being used disagreed on namespace issues. Unless you knew about it in advance and used the preprocessor to work around it there wasn't any cross platform compatibility. :doh:

      Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall

      C Offline
      C Offline
      chaiguy1337
      wrote on last edited by
      #95

      dan neely wrote:

      Because it sidesteps the holy war between the window and *nix camps.

      Yes, that's a good point I hadn't thought of. I guess ideally we would have "standard" languages for programming like we do for XHTML, XML, etc.

      “Time and space can be a bitch.” –Gushie, Quantum Leap {o,o}.oO( Looking for a great RSS reader? Try FeedBeast! ) |)””’)            Built with home-grown CodeProject components! -”-”-

      1 Reply Last reply
      0
      • I I cant do that Dave

        I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

        J Offline
        J Offline
        Joel Palmer 0
        wrote on last edited by
        #96

        Take a look at this: http://phrogram.com/[^] My 14 year old loved the predicessor to www.phrogram.com which was www.kidsprogramminglanguage.com. I may need to buy this new version. As said in a previous post, kids (all learners) need to get some immediate gratification in order to build confidence and excitement. Once you accomplish that, their own motivations will take them far. I like this approach because at its core is the .NET framework. The writers have gone through a lot of effort to make the experience very visual. The point is that syntax is 2nd to helping someone get familiar with constructs. Teach the power of an "if" statement or a "loop" and don't get caught up in "curly backets or not" :doh: discussion. In KPL, you could dig down into the "real" code. I haven't investigated this version to see if that is allowed. Yes, a smart kid will get bored with the high-level language this provides, but the tool should allow them to go deep if they want. Use this tool to build their learning context. This tool introduces concepts that become complicated very quickly if they are trying to accomplish the task raw. Ever try to go directly at DirectX to produce a 3D game? Not entry level. However, this introduces the concepts, helps the kid build some momentum and lets them have some fun. Then, if they love it, they can take it head-on and will have established a context from which they can work. Good luck. The best teacher isn't the one who gives all the answers; its the one who asks the best questions. :-\

        Joel Palmer Data Integration Engineer

        1 Reply Last reply
        0
        • I I cant do that Dave

          I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

          A Offline
          A Offline
          Abdellatif_El_Khlifi
          wrote on last edited by
          #97

          vb.net is one of the best choices to learn programming and to produce applications faster. After seeing a complete application done easily kids would be impressed and attracted more and more by programming world. Through the years and when the experience grows the little programmer will have a better idea about what he/she wants ( kind of programming he/she prefers). In addition, it will be clear to him that there are more sphisticated programming languages and more powerful ones to do advanced tasks. I think that learning VB.NET or C# at the beginning and then to move to C/C++ to have full power ;)

          1 Reply Last reply
          0
          • I I cant do that Dave

            I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

            T Offline
            T Offline
            T800G
            wrote on last edited by
            #98

            For complete beginners (as I was ;) ) I recommend AutoHotkey. Although a script-language, it has everything but shiny graphics: advanced+easy GUI making (easier than MFC ;P ), very good file manipulation (great with text files), simple sound, PLUS, it can compile scripts to exe (what more do you need?). You should see what some people have done with it, in fact you can do anything that ntdll.dll or any other system dll has exported function for (pointers and buffers, no problemo), plus some COM stuff. That's basics, as a next step toward geekness, c++ is the one and only way.:cool:

            1 Reply Last reply
            0
            • I I cant do that Dave

              I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

              T Offline
              T Offline
              thenem
              wrote on last edited by
              #99

              I'd say teach him anything object oriented and try to use visual drawings to represent classes and objects. I agree with the people who said instant gratification is the key. I've found myself in many a situation where i'm trying to learn something and i've become quickly disinterested becuase i wasn't getting anywhere with it. I started off with c++ but didn't really get it. Then i started learning java and programming started to to make a little more sense to me and i understood why hello world was showing up on my screen by didn't understand how it was drawn yet. then i went to visual basic and started understanding logic better. I did a little web development project in PHP and really got a good understanding of logic. I finally graduated college, had to learn C# at my first job and now i can teach programming if i wanted to. I think that for anyone, if they're interested enough, as long as the understand programming logic they can easily learn any language. another suggestion is the use pseudocode techniques too help understand the logic that's going on. One learning tool i've used was a tool that let me drag objects on a screen and connect them to create a flow of logic. i think that was the biggest "boulder" to help knock the barrier between me and programming. it's called Visual Logic - http://www.visuallogic.org/[^]. I think you should definitely try this tool.

              1 Reply Last reply
              0
              • I I cant do that Dave

                I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                T Offline
                T Offline
                Trevortni
                wrote on last edited by
                #100

                QBasic. Sidestep the whole Windows GUI thing altogether until he's ready for it. Download a whole bunch of QBasic games that he can play with, and if he wants to modify variables while playing, he can hit Ctrl-Break to change values on the fly. My first experiments with programming were changing how much energy I had left in Star Trek games in gw-basic (avoid that, he'll thank you for the GUI in the programming interface). There was even a game I enjoyed called "Archie" (the cockroach main character of the game) that explained some basic programming concepts in-game (the spaghetti code explanation still sticks with me). As he mods games, he'll gain an understanding of how they were put together, and he'll have plenty of source code to base his own ideas on. Eventually he'll grow tired of the limitations of the language. He'll want to do different things with variables that QBasic doesn't make easy. When he gets to this stage, it's the perfect time to springboard him into C++. When you introduce pointers, it'll be that much more real to him, because he will be able to see how they would have been useful in QBasic. Ditto for classes and the like (actually, years after the fact, I returned to QBasic and discovered that it did, in fact, have user-defined datatypes, which I would have liked to know what they were at the time). And after he's made a few of his own interfaces, he'll learn to appreciate the value of having newer languages make GUIs easy. Or maybe that was just me. :)

                R 1 Reply Last reply
                0
                • I I cant do that Dave

                  I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                  T Offline
                  T Offline
                  Tekked
                  wrote on last edited by
                  #101

                  Just so you know, I'm currently 15 (at time of writing - 02/07/08) and I would personally recommend, as a first language, any of the 'Basic' family of languages. Not that I'm a particular VB .NET fan (I started programming before the release of .NET express editions so I didn't use it first), but I think that it is by far the most readable to a non-programmer and just by looking at a portion of code e.g.

                  If Str.Equals(OtherString) Then
                  ' Do action
                  End If

                  it is clearly obvious what the code does! Also, for that matter, .NET has excellent RAD capability and no one wants to start learning to program on the console (although I did...) as most fun or simple programs look a lot better and seem more fun with a GUI... Also, for that matter, the .NET languages also work on Linux and OS X via Mono[^] so they suit both platforms... After VB .NET, C# is an obvious progression at least temporarily and it is worth learning to be able to write both as one is normally better than the other for most projects... Finally, with a bit more experience, I found that scripting for websites is also a nice thing to learn as it helps with your syntax for languages such as C# if you learn PHP or Perl. The other obvious choices are Python and Ruby as they are rising fast and being used everywhere... (although Python is already used everywhere :-D ) Python, while being fairly easy to understand, is used everywhere and, as a quick and simple way to learn python for younger users, Guido van Robot[^] is an option which is a beginner's language based on python! Finally, I hope my fairly lengthy response has helped and maybe been of some use to you! Best of luck, TechKid P.S. As a side note, don't go for what I did which is to learn windows shell scripting and C++ first (many years ago) because, though it worked for me, it induced a large time delay as C++ is not very GUI friendly compared to the .NET languages. Since we have such useful and simple languages available now (which I didn't then), it is probably worth starting with one of them :-D

                  1 Reply Last reply
                  0
                  • S Stefan_Lang

                    Sorry, I've at least had the decency to point out both my opinion and personal experience that lead to this opinion. If you feel that's bullshit, fine. If you could provide arguments as to why this is bullshit, all the better. I might consider it worthwhile, I'm not perfect after all. But please stop flaming, thank you.

                    M Offline
                    M Offline
                    Member 96
                    wrote on last edited by
                    #102

                    Ignore him, he sounds like a dolt. My point is that there needs to be something that sparks interest and it must be easy at first. Without that initial spark of interest nothing in the world will cause that person to want to go through all the painful lessons of being a good programmer. You need to get them interested in an easy way and then let them take off with it on their own (learning the hard bits) or drop it if they have no further interest. People of all ages need the initial impression that something is easy and fun before they will take take it any further.


                    "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                    S 1 Reply Last reply
                    0
                    • I I cant do that Dave

                      I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                      M Offline
                      M Offline
                      malpeli
                      wrote on last edited by
                      #103

                      ow my,,, you are so microsoft that make me laft.... RUBY are the more simple for the nus because is more natural and have dinamicly typing... sorry my english. tks Malpeli

                      1 Reply Last reply
                      0
                      • S Stefan_Lang

                        I strongly advise against assembler. It lacks the structure of higher languages and without knowing how to properly design and structure a system you won't really learn a lot by mastering assembler! Assembler was my second language (after Pascal, and before Basic, and I know what I'm talking about - I'd never had been able to write an assembler program longer than a few hundred lines without the knowledge to properly design it first!

                        R Offline
                        R Offline
                        Robert Royall
                        wrote on last edited by
                        #104

                        Stefan63 wrote:

                        I strongly advise against assembler. It lacks the structure of higher languages and without knowing how to properly design and structure a system you won't really learn a lot by mastering assembler!

                        Totally agree. I wrote some pretty lame assembly programs in school until I realized that I could write out BASIC pseudocode programs and translate the statements to their assembly counterparts. Raw assembly is very hard to get your head wrapped around without suitable context, either through a high-level language or very intimate knowledge of the underlying hardware.

                        Imagine that you are hired to build a bridge over a river which gets slightly wider every day; sometimes it shrinks but nobody can predict when. Your client provides no concrete or steel, only timber and cut stone (but they won't tell you what kind). The coefficient of gravity changes randomly from hour to hour, as does the viscosity of air. Your only tools are a hacksaw, a chainsaw, a rubber mallet, and a length of rope. Welcome to my world. -Me explaining my job to an engineer

                        A 1 Reply Last reply
                        0
                        • T Trevortni

                          QBasic. Sidestep the whole Windows GUI thing altogether until he's ready for it. Download a whole bunch of QBasic games that he can play with, and if he wants to modify variables while playing, he can hit Ctrl-Break to change values on the fly. My first experiments with programming were changing how much energy I had left in Star Trek games in gw-basic (avoid that, he'll thank you for the GUI in the programming interface). There was even a game I enjoyed called "Archie" (the cockroach main character of the game) that explained some basic programming concepts in-game (the spaghetti code explanation still sticks with me). As he mods games, he'll gain an understanding of how they were put together, and he'll have plenty of source code to base his own ideas on. Eventually he'll grow tired of the limitations of the language. He'll want to do different things with variables that QBasic doesn't make easy. When he gets to this stage, it's the perfect time to springboard him into C++. When you introduce pointers, it'll be that much more real to him, because he will be able to see how they would have been useful in QBasic. Ditto for classes and the like (actually, years after the fact, I returned to QBasic and discovered that it did, in fact, have user-defined datatypes, which I would have liked to know what they were at the time). And after he's made a few of his own interfaces, he'll learn to appreciate the value of having newer languages make GUIs easy. Or maybe that was just me. :)

                          R Offline
                          R Offline
                          Robert Royall
                          wrote on last edited by
                          #105

                          Not just you. I broke out of QBASIC into VB5 because I was tired of writing my own graphics routines and trying to handle mouse and keyboard interrupts sucked. I broke out of VB6 to VC++6 because I was tired of trying to work with API declarations that bluescreened my system if I set them up incorrectly. I broke out of VC++6 to C# because I was tired of being stymied by MFC every time I tried to set up a simple GUI.

                          Imagine that you are hired to build a bridge over a river which gets slightly wider every day; sometimes it shrinks but nobody can predict when. Your client provides no concrete or steel, only timber and cut stone (but they won't tell you what kind). The coefficient of gravity changes randomly from hour to hour, as does the viscosity of air. Your only tools are a hacksaw, a chainsaw, a rubber mallet, and a length of rope. Welcome to my world. -Me explaining my job to an engineer

                          1 Reply Last reply
                          0
                          • I I cant do that Dave

                            I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

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

                            I bet you never thought you would get som many replies to this one!

                            Take a chill pill, Daddy-o .\\axxx (That's an 'M')

                            1 Reply Last reply
                            0
                            • C chaiguy1337

                              killabyte wrote:

                              or Object Pascal for a first syntax to learn

                              Why on earth would you teach somebody just learning programming a dead language? Pascal hasn't been used in years. That's like teaching a baby Latin! Personally I don't even agree with teaching so-called "educational" languages like Turing. I honestly don't understand why people claim such languages are easier or better to learn. Why not just start with the latest language and tools? C# and VS2008. That's what I would do. I mean if he has trouble grasping it or it is too much of an overload maybe you could simplify things by breaking it down and focusing on a very simple language. I'll admit the initial overhead of C# (i.e. setting up classes, a static Main method, etc.) could be intimidating but you could always just say "ignore this for now and I'll explain it later". :) Just my 2 cents.

                              “Time and space can be a bitch.” –Gushie, Quantum Leap {o,o}.oO( Looking for a great RSS reader? Try FeedBeast! ) |)””’)            Built with home-grown CodeProject components! -”-”-

                              K Offline
                              K Offline
                              killabyte
                              wrote on last edited by
                              #107

                              well imho the syntax is quite seperate from the fundamentals of programming, i cited VB & Object Pascal because the syntax is easily interpretable for an absolute beginner and thus the concepts behind the code can be explained more easily. In the end a good programmer can pick up ANY syntax and tool set and produce a product from it. hell you wana talk dead languages i had to teach myself COBOL to maintain legacy code a while back and dare i say it but when they stopped making compilers for that i was still in nappies. programming fundamentally is a way of thinking, the syntax is just the medium by which u communicate with the 1s and 0s.

                              1 Reply Last reply
                              0
                              • I I cant do that Dave

                                I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                                Y Offline
                                Y Offline
                                yassir hannoun
                                wrote on last edited by
                                #108

                                i ve just finished hight school in the last year summer i spent 2months learning VB.net then i realized that ppl are using C# ( books , videos , articls...) so i chosed C# (with all respect to VB.net ppl :d) btw i m not sure that learning XNA is easy for him .maybe Silverlight ?

                                1 Reply Last reply
                                0
                                • I I cant do that Dave

                                  I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                                  V Offline
                                  V Offline
                                  Vandretta
                                  wrote on last edited by
                                  #109

                                  You see, I don't believe that it should be about any one language as such. There are two main aspects to "Programming" 1) Programming (The Brain Stuff) -- This is the part where the student figures out an idea in a logical order. 2) Coding (The Easy/Automatic Stuff) -- Once you have an idea in your brain that is in a logical order you can then formulate it into instructions for the computer to understand(i.e. code). The simplest way of explaining this is the process of baking a cake. First one needs to figure out how to bake a cake and make choices about that cake(i.e chocolate, vanilla, etc.), this is the programming. Finally one needs to bake it, this is the coding. N.B In this example it does not matter whether the cake is conceived in French, Spanish, German, English, etc. You still end up with the same result - a cake. The same with programming, it doesn't matter if the language is C++, C#, VB.NET, Assembler, Delphi, FORTRAN or COBOL, etc. You still end up with a program that is the expression of the original idea, this allows the student an easier conversion between different methods of expression (different languages), thus nulling the need for any one specific language. So in essence, Coding is the expression of the idea that Programming provides. Therefore it is not important which language a student learns, only that they learn the correct idea structure behind the code. It also helps with alot of problem solving in life as well :-D.

                                  R 1 Reply Last reply
                                  0
                                  • I I cant do that Dave

                                    I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

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

                                    C#, in a text editor, and compile at the command line. But the student really needs to teach himself, the teacher merely guides. My first programming class was in my senior year of high school (1983) using BASIC-Plus on a PDP-11. Up until I took the class I'd see printouts my friends had and think, "How could that possibly tell a computer what to do?"

                                    1 Reply Last reply
                                    0
                                    • M Member 96

                                      Ignore him, he sounds like a dolt. My point is that there needs to be something that sparks interest and it must be easy at first. Without that initial spark of interest nothing in the world will cause that person to want to go through all the painful lessons of being a good programmer. You need to get them interested in an easy way and then let them take off with it on their own (learning the hard bits) or drop it if they have no further interest. People of all ages need the initial impression that something is easy and fun before they will take take it any further.


                                      "It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson

                                      S Offline
                                      S Offline
                                      Stefan_Lang
                                      wrote on last edited by
                                      #111

                                      I would normally agree. If I were a teacher at school trying to get my pupils interested, I would indeed start off with something easy and rewarding, to make sure they at least get some interest in the topic. But the kid in this case specifically *asked* to be taught, so I assumed the 'initial spark of interest' is already there. Then again I really don't know how much of a spark it really is and if it requires some more fuel at first...

                                      1 Reply Last reply
                                      0
                                      • I I cant do that Dave

                                        I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                                        V Offline
                                        V Offline
                                        VentsyV
                                        wrote on last edited by
                                        #112

                                        I would say Turbo Pascal if you know it. It is procedural language, very verbose which makes it easy to understand and learn. It is restrictive enough to teach good programming habits too. If you do not feel comfortable with TP, go for C#.

                                        1 Reply Last reply
                                        0
                                        • I I cant do that Dave

                                          I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                                          A Offline
                                          A Offline
                                          Arterion
                                          wrote on last edited by
                                          #113

                                          Perl. Haha! I'm kidding! Like everyone else has said VB. For a while, I know Microsoft was offering free video lessons (from learnvisualstudio.net) on their site that taught you how to write an RSS reader. Very, very good for someone who's never done any programming before. Being able to SEE someone who what you need to be doing is an amazing tool, especially for someone new, and someone young. There was a C# set of the videos, too as I remember. I can't find the link to those particular videos right now, but check this out: Microsoft's Beginner Developer Learning Center[^]

                                          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