To introduce students on programming? Which language is more appropriate now?
-
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...
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.
-
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...
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')
-
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.
Smallbasic is a good suggestion. Probably much more suited to teaching kids these days than QuickBasic would be.
-
Smallbasic is a good suggestion. Probably much more suited to teaching kids these days than QuickBasic would be.
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.
-
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.
That just gave me a flashback and a chill down my spine.
-
That just gave me a flashback and a chill down my spine.
: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.
-
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')
_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...
-
That just gave me a flashback and a chill down my spine.
-
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.
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!
-
_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...
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!
-
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...
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 -
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...
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!
-
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.
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 -
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.
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:
-
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...
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.
-
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!
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.
-
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:~
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.
-
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...
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
-
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.
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
-
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
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.