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 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
                                      • C Christian Graus

                                        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 Offline
                                        L Offline
                                        Lost User
                                        wrote on last edited by
                                        #21

                                        Of course you do realise that all your high level languages use compilers written in C and run on platforms written in C and talk to devices programmed in 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
                                        • L Lost User

                                          Of course you do realise that all your high level languages use compilers written in C and run on platforms written in C and talk to devices programmed in 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 Offline
                                          C Offline
                                          Christian Graus
                                          wrote on last edited by
                                          #22

                                          Yes. I also know that it takes people with a whole lot of resources and skills to build my car. That doesn't mean I need to know how to build one, in order to drive it. It certainly doesn't mean that I need to know how to build one BEFORE I learn to drive it, any more than I needed to know how to make Bearnaise sauce before I learned to boil a kettle.

                                          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 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