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. To introduce students on programming? Which language is more appropriate now?

To introduce students on programming? Which language is more appropriate now?

Scheduled Pinned Locked Moved The Lounge
c++csharphelpquestion
65 Posts 12 Posters 5 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.
  • W Offline
    W Offline
    Weiye Chen
    wrote on last edited by
    #1

    If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

    Weiye Chen A hermit trying to learn hibernation...

    A N L J C 9 Replies Last reply
    0
    • W Weiye Chen

      If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

      Weiye Chen A hermit trying to learn hibernation...

      A Offline
      A Offline
      AspDotNetDev
      wrote on last edited by
      #2

      My first programming class was VB (can't remember which version). I didn't like that much, but I soon discovered QuickBasic 4.5. I found that I was spending all my spare programming time working with QuickBasic and was not very interested in VB. I'm not sure why that is... I may simply have been that the default screen mode was full screen and setting pixels was really easy. I liked to see how the nuts and bolts fit together and VB had too much pre-assembled for my taste. Not sure if people would enjoy learning with QuickBasic nowadays though. Maybe choose a primary language (e.g., VB.Net) and expose them to a couple others (QuickBasic, C#) and let them choose one of the others if they like. I wouldn't go with C++ right away... although I did enjoy C++ as a second programming language (well, third I suppose). In fact, it was my favorite language for a long time, until I started to work a lot with C#.

      Weiye Chen wrote:

      Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

      I don't think they're any more intelligent now than they used to be. :)

      [WikiLeaks Cablegate Cables]

      1 Reply Last reply
      0
      • W Weiye Chen

        If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

        Weiye Chen A hermit trying to learn hibernation...

        N Offline
        N Offline
        Nithin Sundar
        wrote on last edited by
        #3

        This might be a bit tricky but my suggestion is to teach them C++ and then have them learn to use C functions inside(Like how these days some people still prefer using the C I/O library inside C++). That way you can get both C and C++ covered at the same time. C# is a great option as well and once you learn one language, the others are only different in terms of syntax. Of course there might be a few differences here and there, but it won't be that hard later on. The real task here is to finish teaching them one language properly. If you are planning to get them involved in writing win32 applications alone then C/C++ would be the way to go. C# is indeed a good choice for Windows Applications as well but according to me, it's better used for web applications. These are just my opinions and I may be wrong. Feel free to correct me. :) EDIT: If you are instead looking at getting them comfortable with programming than serious in it then you might want to try this too: http://msdn.microsoft.com/en-us/beginner/ff384126.aspx[^] Smallbasic is nice. :)

        My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

        A B 2 Replies Last reply
        0
        • W Weiye Chen

          If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

          Weiye Chen A hermit trying to learn hibernation...

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

          I think it depends a little on why you are teaching them (or, more accurately, why they are learning) Is it with a view to working in the future in software development, or just for fun? I think at that age, having them be able to produce something quickly that they can see, and play with, is more important. Learning OO, I think, is sensible in this day and age - but I'd personally steer clear of C++. C# is OK but sometimes all the curly braces scare new kids off. VB is OK - especially if you can have them do some 'pretty' stuff where they have at least some time to play with the GUI as well as writing code. I taught a group VB .Net a while ago - they wrote a simple Poker Machine (one-armed bandit, fruit machine) with LOTS of help and hints from me.

          Weiye Chen wrote:

          Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

          I doubt any increase in intelligence! I Also don't think it takes any greater intelligence to learn C++ or C# or C or VB or some other language (Lego Mindstorms is a goodie especially if you want to involve them in a project)

          ___________________________________________ .\\axxx (That's an 'M')

          W 1 Reply Last reply
          0
          • N Nithin Sundar

            This might be a bit tricky but my suggestion is to teach them C++ and then have them learn to use C functions inside(Like how these days some people still prefer using the C I/O library inside C++). That way you can get both C and C++ covered at the same time. C# is a great option as well and once you learn one language, the others are only different in terms of syntax. Of course there might be a few differences here and there, but it won't be that hard later on. The real task here is to finish teaching them one language properly. If you are planning to get them involved in writing win32 applications alone then C/C++ would be the way to go. C# is indeed a good choice for Windows Applications as well but according to me, it's better used for web applications. These are just my opinions and I may be wrong. Feel free to correct me. :) EDIT: If you are instead looking at getting them comfortable with programming than serious in it then you might want to try this too: http://msdn.microsoft.com/en-us/beginner/ff384126.aspx[^] Smallbasic is nice. :)

            My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

            A Offline
            A Offline
            AspDotNetDev
            wrote on last edited by
            #5

            Smallbasic is a good suggestion. Probably much more suited to teaching kids these days than QuickBasic would be.

            [WikiLeaks Cablegate Cables]

            N 1 Reply Last reply
            0
            • A AspDotNetDev

              Smallbasic is a good suggestion. Probably much more suited to teaching kids these days than QuickBasic would be.

              [WikiLeaks Cablegate Cables]

              N Offline
              N Offline
              Nithin Sundar
              wrote on last edited by
              #6

              10 REM 20 PRINT "THANK YOU!" 30 END

              My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

              A M L 3 Replies Last reply
              0
              • N Nithin Sundar

                10 REM 20 PRINT "THANK YOU!" 30 END

                My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

                A Offline
                A Offline
                AspDotNetDev
                wrote on last edited by
                #7

                That just gave me a flashback and a chill down my spine.

                [WikiLeaks Cablegate Cables]

                N L 2 Replies Last reply
                0
                • A AspDotNetDev

                  That just gave me a flashback and a chill down my spine.

                  [WikiLeaks Cablegate Cables]

                  N Offline
                  N Offline
                  Nithin Sundar
                  wrote on last edited by
                  #8

                  :laugh:

                  My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

                  1 Reply Last reply
                  0
                  • L Lost User

                    I think it depends a little on why you are teaching them (or, more accurately, why they are learning) Is it with a view to working in the future in software development, or just for fun? I think at that age, having them be able to produce something quickly that they can see, and play with, is more important. Learning OO, I think, is sensible in this day and age - but I'd personally steer clear of C++. C# is OK but sometimes all the curly braces scare new kids off. VB is OK - especially if you can have them do some 'pretty' stuff where they have at least some time to play with the GUI as well as writing code. I taught a group VB .Net a while ago - they wrote a simple Poker Machine (one-armed bandit, fruit machine) with LOTS of help and hints from me.

                    Weiye Chen wrote:

                    Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

                    I doubt any increase in intelligence! I Also don't think it takes any greater intelligence to learn C++ or C# or C or VB or some other language (Lego Mindstorms is a goodie especially if you want to involve them in a project)

                    ___________________________________________ .\\axxx (That's an 'M')

                    W Offline
                    W Offline
                    Weiye Chen
                    wrote on last edited by
                    #9

                    _Maxxx_ wrote:

                    I think it depends a little on why you are teaching them (or, more accurately, why they are learning) Is it with a view to working in the future in software development, or just for fun?

                    It is mainly for a competition (AIO[^]) where they would need to read some values off a text file and output the results in another text file, based on a given problem scenario. They gave us the flexibility to do the coding in either C, C++, C#, PASCAL, Java, PHP, Pyton and VB. These students have shown interest to learn programming and thus selected to learn. I am thinking of using C as a brief introduction to the basics like data types, loops, functions and later on move to C++ or C#. I prefer the latter as i am worried the students might have difficulty understanding and managing pointers.

                    Weiye Chen A hermit trying to learn hibernation...

                    M 1 Reply Last reply
                    0
                    • A AspDotNetDev

                      That just gave me a flashback and a chill down my spine.

                      [WikiLeaks Cablegate Cables]

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

                      :laugh: :laugh:

                      Regards, Koushik. Most people never run far enough on their first wind to find out if they've got a second. Give your dreams all you've got and you'll be amazed at the energy that comes out of you.

                      1 Reply Last reply
                      0
                      • N Nithin Sundar

                        10 REM 20 PRINT "THANK YOU!" 30 END

                        My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

                        M Offline
                        M Offline
                        Mark_Wallace
                        wrote on last edited by
                        #11

                        Nithin Sundar wrote:

                        10 REM 20 PRINT "THANK YOU!" 30 END

                        You are receiving this e-mail because the following bug has been assigned to you. Bug 38265: Insufficient documentation in code.

                        I wanna be a eunuchs developer! Pass me a bread knife!

                        N 1 Reply Last reply
                        0
                        • W Weiye Chen

                          _Maxxx_ wrote:

                          I think it depends a little on why you are teaching them (or, more accurately, why they are learning) Is it with a view to working in the future in software development, or just for fun?

                          It is mainly for a competition (AIO[^]) where they would need to read some values off a text file and output the results in another text file, based on a given problem scenario. They gave us the flexibility to do the coding in either C, C++, C#, PASCAL, Java, PHP, Pyton and VB. These students have shown interest to learn programming and thus selected to learn. I am thinking of using C as a brief introduction to the basics like data types, loops, functions and later on move to C++ or C#. I prefer the latter as i am worried the students might have difficulty understanding and managing pointers.

                          Weiye Chen A hermit trying to learn hibernation...

                          M Offline
                          M Offline
                          Mark_Wallace
                          wrote on last edited by
                          #12

                          I'd try it in C, first. A little understanding of memory allocation goes a long way.

                          I wanna be a eunuchs developer! Pass me a bread knife!

                          1 Reply Last reply
                          0
                          • W Weiye Chen

                            If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

                            Weiye Chen A hermit trying to learn hibernation...

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

                            That depends on what kind of students you have. If they are learning a their job and are going to keep on programming in the future, then I would go with C++. This way they can pick up some basic things which managed languages (per definition) don't have. In the long run they will need some experience with pointers and managing memory, otherwise they will keep on producing new material for the Code Horrors section. If it's about a general introduction to programming, then C# and the .Net framework are a good choice. Some stumblestones (like pointers and memory management) are out of the way and you quickly can get the students to work on all kinds of things.

                            "I have what could be described as the most wide-open sense of humor on the site, and if I don't think something is funny, then it really isn't." - JSOC, 2011 -----
                            "Friar Modest never was a prior" - Italian proverb

                            1 Reply Last reply
                            0
                            • W Weiye Chen

                              If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

                              Weiye Chen A hermit trying to learn hibernation...

                              J Offline
                              J Offline
                              Johnny J
                              wrote on last edited by
                              #14

                              Cobol ;P

                              1f y0u c4n r34d 7h15 y0u r3411y n33d 70 g37 14!d Gotta run; I've got people to do and things to see... Don't tell my folks I'm a computer programmer - They think I'm a piano player in a cat house... Da mihi sis crustum Etruscum cum omnibus in eo!

                              1 Reply Last reply
                              0
                              • N Nithin Sundar

                                10 REM 20 PRINT "THANK YOU!" 30 END

                                My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

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

                                Ok, sir, please explain where you got the code from my first program which I wrote when I stumbled over a TRS-80 (model I) back in 1978?

                                "I have what could be described as the most wide-open sense of humor on the site, and if I don't think something is funny, then it really isn't." - JSOC, 2011 -----
                                "Friar Modest never was a prior" - Italian proverb

                                N 1 Reply Last reply
                                0
                                • N Nithin Sundar

                                  This might be a bit tricky but my suggestion is to teach them C++ and then have them learn to use C functions inside(Like how these days some people still prefer using the C I/O library inside C++). That way you can get both C and C++ covered at the same time. C# is a great option as well and once you learn one language, the others are only different in terms of syntax. Of course there might be a few differences here and there, but it won't be that hard later on. The real task here is to finish teaching them one language properly. If you are planning to get them involved in writing win32 applications alone then C/C++ would be the way to go. C# is indeed a good choice for Windows Applications as well but according to me, it's better used for web applications. These are just my opinions and I may be wrong. Feel free to correct me. :) EDIT: If you are instead looking at getting them comfortable with programming than serious in it then you might want to try this too: http://msdn.microsoft.com/en-us/beginner/ff384126.aspx[^] Smallbasic is nice. :)

                                  My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

                                  B Offline
                                  B Offline
                                  Brady Kelly
                                  wrote on last edited by
                                  #16

                                  I agree. Students need an unforgiving language, so no subtleties get overlooked. Us old timers sometimes just get annoyed by the subtleties and prefer a more forgiving language. :laugh:

                                  1 Reply Last reply
                                  0
                                  • W Weiye Chen

                                    If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

                                    Weiye Chen A hermit trying to learn hibernation...

                                    C Offline
                                    C Offline
                                    Christian Graus
                                    wrote on last edited by
                                    #17

                                    Starting from C has been stupid for at least 10 years. Starting from C++ has been stupid for at least 4.

                                    Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                                    L M 2 Replies Last reply
                                    0
                                    • M Mark_Wallace

                                      Nithin Sundar wrote:

                                      10 REM 20 PRINT "THANK YOU!" 30 END

                                      You are receiving this e-mail because the following bug has been assigned to you. Bug 38265: Insufficient documentation in code.

                                      I wanna be a eunuchs developer! Pass me a bread knife!

                                      N Offline
                                      N Offline
                                      Nithin Sundar
                                      wrote on last edited by
                                      #18

                                      It wasn't me! The developer went that way! *points*

                                      My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

                                      1 Reply Last reply
                                      0
                                      • L Lost User

                                        Ok, sir, please explain where you got the code from my first program which I wrote when I stumbled over a TRS-80 (model I) back in 1978?

                                        "I have what could be described as the most wide-open sense of humor on the site, and if I don't think something is funny, then it really isn't." - JSOC, 2011 -----
                                        "Friar Modest never was a prior" - Italian proverb

                                        N Offline
                                        N Offline
                                        Nithin Sundar
                                        wrote on last edited by
                                        #19

                                        :~

                                        My Blog What you do, when you don't know what to do is what you do when you don't want to do what you do.

                                        1 Reply Last reply
                                        0
                                        • W Weiye Chen

                                          If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?

                                          Weiye Chen A hermit trying to learn hibernation...

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

                                          Weiye Chen wrote:

                                          Perhaps children are now more intelligent

                                          Not in my experience. They are more stupid if you ask me. (Since the exams are so banaal lthese days anyone can egt to university). So, what do you want to teach? Computer programming as engineering or how to make money as a programmer? If its 1 then its Assembler, stacks, heaps, registers leading on to C, then C++ (as part of OO) and then the managed/easy languages, Java, C#, VB. If its 2 then C#.

                                          "It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville

                                          C 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