 |
 |
 |
 |
| Wibble A place to have a sensible chat, about anything non linux related. Please remember that political and religious topics are not permitted. |

25th August 2010, 02:57 PM
|
|
Clueless in a Cuckooland
|
|
Join Date: Mar 2006
Location: Here now, elsewhere tomorrow.
Posts: 3,929

|
|
|
Back to Basics (How to Teach Programming)
http://www.bbc.co.uk/news/technology-10951040
I wish more schools and universities would take the same approach.
|

25th August 2010, 05:46 PM
|
|
Registered User
|
|
Join Date: Jul 2010
Posts: 258

|
|
|
Re: Back to Basics (How to Teach Programming)
Interesting article ... thanks!
|

25th August 2010, 08:04 PM
|
|
Registered User
|
|
Join Date: Nov 2004
Location: here
Posts: 595

|
|
|
Re: Back to Basics (How to Teach Programming)
Interesting article. Kids (graduates) do need more instruction in the 'basics'. VB ...ugh... gag me....
When I interview CS BS students for a position, one of the simple problems I give is a simple Base2 to base16 conversion. It always amazes me to find that a lot of the students struggle with the concept. In my line off work, we are always looking at data streams in Hex or debugging at the assembly level of instructions where you need to convert back and forth in your head.... Basically getting your hands 'dirty' so to speak. It bugs me that kids are graduating from College and their experience is 'VB' or 'Java' ... all high level stuff. How about writing a low level device driver in 'C' or ... assembly? anyone?
|

26th August 2010, 02:32 AM
|
|
Registered User
|
|
Join Date: Aug 2004
Posts: 3,855

|
|
|
Re: Back to Basics (How to Teach Programming)
It bugs me a little that VB might be a Microsoft-only way to do things - is it? But it doesn't bug me that kids don't have lower level skills. I think of all those hours that I spent in math classes doing interpolation from trig tables and learning how to use a slide rule. Then there were all those other hours sitting over a drawing board manually plotting survey data or drafting wall sections.
"Fundamental Skills" are a generational thing. In forty years the old timers will be lamenting that "Kids nowadays can't parse HTML" and saying "It's pathetic that colleges are graduating people that can't use PowerPoint. Why, when I was their age, I made entire slide presentations by hand. I composed each slide individually!".
__________________
"Never let the task you are trying to accomplish distract you from the study of computers."
|

26th August 2010, 06:08 AM
|
 |
Registered User
|
|
Join Date: May 2007
Location: U.S.
Posts: 4,852

|
|
|
Re: Back to Basics (How to Teach Programming)
When I was a kid, Pluto was a planet and the globes still said USSR!
Quote:
|
When I interview CS BS students for a position, one of the simple problems I give is a simple Base2 to base16 conversion.
|
Depends on the program, it seems. I am about to graduate with a BS in CS (less than 24 hours from now!) and it simply wasn't required to learn hex. One of the more ambitious profs I had tried to get us to learn to convert between hex, decimal, and binary, but it didn't take. I did have to learn binary to decimal (and vice versa) conversions relatively well, but more as a means to understanding classless subnetting than anything else.
Then again my concentration was networking (not programming) and my college has cancer, but hey. I doubt the programmers graduating with me would be able to convert between hex and decimal and binary without a program that does it for them.
Maybe it is generational. My profs are more old school than even we students are, and at least one of them is a prodigy in converting any which way between binary, hex, decimal, and octal, even mentally. Or maybe it's that CS is changing. Apparently there was a day when no CS major would be considered to be serious unless he spent most of his time programming. I'm not sure if that's still true.
__________________
- Tom
"What is freedom? To have the will to be responsible for one's self." - Stirner
|

26th August 2010, 04:25 PM
|
|
Registered User
|
|
Join Date: Jun 2010
Location: New Jersey
Posts: 53

|
|
|
Re: Back to Basics (How to Teach Programming)
Quote:
Originally Posted by tashirosgt
It bugs me a little that VB might be a Microsoft-only way to do things - is it? But it doesn't bug me that kids don't have lower level skills. I think of all those hours that I spent in math classes doing interpolation from trig tables and learning how to use a slide rule. Then there were all those other hours sitting over a drawing board manually plotting survey data or drafting wall sections.
"Fundamental Skills" are a generational thing. In forty years the old timers will be lamenting that "Kids nowadays can't parse HTML" and saying "It's pathetic that colleges are graduating people that can't use PowerPoint. Why, when I was their age, I made entire slide presentations by hand. I composed each slide individually!".
|
Good point. Why not ask them to dope some silicon first (if we want to lower the abstraction layer a bit more).
|

31st August 2010, 09:07 AM
|
 |
Registered User
|
|
Join Date: Feb 2009
Location: New Zealand
Posts: 555

|
|
|
Re: Back to Basics (How to Teach Programming)
Visual Basic, although as much as my stomach churns to say this, is a better starting language than Python IMO. Though, I still never hesitate to recommend this book, http://www.amazon.com/Head-First-Pro...3241975&sr=8-2
---
And the importance of Base conversion arguments, it really depends what area of computer science you go into. If you go into software engineering, game design or multimedia, you better know how to convert bases.
|

31st August 2010, 10:18 AM
|
|
Registered User
|
|
Join Date: Jul 2009
Location: England, UK
Posts: 821

|
|
|
Re: Back to Basics (How to Teach Programming)
Fascinating -- thanks for the link.
I feel too much "computing" teaching in British schools has really been teaching techniques for using specific types of computer program (spreadsheets, word processors etc) or interface (windowing environments). We need at least some people who understand the way it works "under the hood".
But then, when I taught maths undergraduates (and they were good ones, too) a course in the fundamentals of what is and is not computable, it was clear that some people could think the right way and some couldn't. Something like the project in the article could be a good way of sorting people into those two camps, perhaps.
|

31st August 2010, 11:35 AM
|
|
Clueless in a Cuckooland
|
|
Join Date: Mar 2006
Location: Here now, elsewhere tomorrow.
Posts: 3,929

|
|
|
Re: Back to Basics (How to Teach Programming)
Quote:
Originally Posted by tashirosgt
"Fundamental Skills" are a generational thing. In forty years the old timers will be lamenting that "Kids nowadays can't parse HTML" and saying "It's pathetic that colleges are graduating people that can't use PowerPoint. Why, when I was their age, I made entire slide presentations by hand. I composed each slide individually!".
|
I dare to strongly disagree. In the end of the day, if they don't teach someone those fundamentals, who is there to program the programs that the rest are using?
While it's not important for a Joe Public to know how things really work on the background, it should for any CS student because isn't that all it's about in the first place (at least it was when I studied it)? You can learn to use software by reading the manual and through trial and error, you may even get away with it if you use VB or something similar to create the latest and greatest word processor, but try that when you need to actually program new Visual Studio and see how far you get.
|

31st August 2010, 01:38 PM
|
|
Registered User
|
|
Join Date: Aug 2004
Posts: 3,855

|
|
|
Re: Back to Basics (How to Teach Programming)
Quote:
Originally Posted by pete_1967
I dare to strongly disagree. In the end of the day, if they don't teach someone those fundamentals, who is there to program the programs that the rest are using?
|
There is an important distinction between saying civilization needs some programmers to have a given skill and saying all programmers should be taught it. As a technology matures, executing it gets subdivided into specialties.
Programming is analogous to the technology of the automobile. The early drivers needed to know everything about their cars in order to use them effectively. Nowadays, the maintenance of cars can be handled by specialists. Engine rebuilding, body work, air conditioning etc. are not lost arts, but they are not essential knowledge for a car owner. Nowadays a programmer can program without knowing machine language. The basic idea of much of modern software design is to make the program independent of how the underlying hardware handles things.
__________________
"Never let the task you are trying to accomplish distract you from the study of computers."
|

31st August 2010, 02:21 PM
|
 |
Registered User
|
|
Join Date: Feb 2009
Location: New Zealand
Posts: 555

|
|
|
Re: Back to Basics (How to Teach Programming)
Quote:
Originally Posted by tashirosgt
The basic idea of much of modern software design is to make the program independent of how the underlying hardware handles things.
|
No, that is the point of modern programming languages.
Modern software design is something different.
Last edited by MorphingDragon; 31st August 2010 at 02:31 PM.
|

31st August 2010, 06:10 PM
|
|
Registered User
|
|
Join Date: Aug 2004
Posts: 3,855

|
|
|
Re: Back to Basics (How to Teach Programming)
Ok. Don't leave me in suspense. Tell me the point of modern software design! (Are we talking something like the "Design Patterns" book?)
__________________
"Never let the task you are trying to accomplish distract you from the study of computers."
|

31st August 2010, 09:01 PM
|
 |
Registered User
|
|
Join Date: Aug 2010
Posts: 11

|
|
|
Re: Back to Basics (How to Teach Programming)
Interesting article, thanks for posting!
|

31st August 2010, 11:07 PM
|
 |
Registered User
|
|
Join Date: Feb 2009
Location: New Zealand
Posts: 555

|
|
|
Re: Back to Basics (How to Teach Programming)
Quote:
Originally Posted by tashirosgt
Ok. Don't leave me in suspense. Tell me the point of modern software design! (Are we talking something like the "Design Patterns" book?)
|
Here's some buzzwords of modern software design:
Quote:
|
Aspectoriented Design, Componentoriented Design, Domain Driven Design, Domain Specific Languages, Serviceoriented (SOA) Design, Test Driven Design, Extreme Programming, Agile Development, Continuous Integration, Dependency Injection, Software Factories, Parallel Programming (and more)
|
So take those definitions of those terms and form your own definition! Because I can't seem to find a definition for modern software design.
But the point of Modern Programming languages was to make it independent of the underlying hardware/system. Look up Grace Hopper for more info.
Last edited by MorphingDragon; 31st August 2010 at 11:11 PM.
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
Current GMT-time: 21:54 (Thursday, 23-05-2013)
|
|
 |
 |
 |
 |
|
|