Fedora Linux Support Community & Resources Center

Go Back   FedoraForum.org > Community Lounge > Wibble
FedoraForum Search

Forgot Password? Join Us!

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

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 25th August 2010, 02:57 PM
pete_1967 Online
Clueless in a Cuckooland
 
Join Date: Mar 2006
Location: Here now, elsewhere tomorrow.
Posts: 3,929
macosfirefox
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.
__________________
A Drink is Not Just For Christmas - SaskyCom :thumb:


“Give a man a fish; you have fed him for today. Teach a man to fish; and you have fed him for a lifetime” so now go and...
RTFM FIRST: http://docs.fedoraproject.org/ & http://rute.2038bug.com/index.html.gz
Reply With Quote
  #2  
Old 25th August 2010, 05:46 PM
oxala Offline
Registered User
 
Join Date: Jul 2010
Posts: 258
linuxfedorafirefox
Re: Back to Basics (How to Teach Programming)

Interesting article ... thanks!
Reply With Quote
  #3  
Old 25th August 2010, 08:04 PM
rclark Online
Registered User
 
Join Date: Nov 2004
Location: here
Posts: 595
linuxfedorafirefox
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?
Reply With Quote
  #4  
Old 26th August 2010, 02:32 AM
tashirosgt Offline
Registered User
 
Join Date: Aug 2004
Posts: 3,855
linuxopera
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."
Reply With Quote
  #5  
Old 26th August 2010, 06:08 AM
forkbomb's Avatar
forkbomb Offline
Registered User
 
Join Date: May 2007
Location: U.S.
Posts: 4,852
linuxfirefox
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
Reply With Quote
  #6  
Old 26th August 2010, 04:25 PM
soundfreely Offline
Registered User
 
Join Date: Jun 2010
Location: New Jersey
Posts: 53
linuxfedorafirefox
Re: Back to Basics (How to Teach Programming)

Quote:
Originally Posted by tashirosgt View Post
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).
Reply With Quote
  #7  
Old 31st August 2010, 09:07 AM
MorphingDragon's Avatar
MorphingDragon Offline
Registered User
 
Join Date: Feb 2009
Location: New Zealand
Posts: 555
linuxfedorafirefox
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.
Reply With Quote
  #8  
Old 31st August 2010, 10:18 AM
marriedto51 Online
Registered User
 
Join Date: Jul 2009
Location: England, UK
Posts: 821
linuxfedorafirefox
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.
Reply With Quote
  #9  
Old 31st August 2010, 11:35 AM
pete_1967 Online
Clueless in a Cuckooland
 
Join Date: Mar 2006
Location: Here now, elsewhere tomorrow.
Posts: 3,929
macossafari
Re: Back to Basics (How to Teach Programming)

Quote:
Originally Posted by tashirosgt View Post
"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.
__________________
A Drink is Not Just For Christmas - SaskyCom :thumb:


“Give a man a fish; you have fed him for today. Teach a man to fish; and you have fed him for a lifetime” so now go and...
RTFM FIRST: http://docs.fedoraproject.org/ & http://rute.2038bug.com/index.html.gz
Reply With Quote
  #10  
Old 31st August 2010, 01:38 PM
tashirosgt Offline
Registered User
 
Join Date: Aug 2004
Posts: 3,855
linuxopera
Re: Back to Basics (How to Teach Programming)

Quote:
Originally Posted by pete_1967 View Post
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."
Reply With Quote
  #11  
Old 31st August 2010, 02:21 PM
MorphingDragon's Avatar
MorphingDragon Offline
Registered User
 
Join Date: Feb 2009
Location: New Zealand
Posts: 555
linuxfedorafirefox
Re: Back to Basics (How to Teach Programming)

Quote:
Originally Posted by tashirosgt View Post
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.
Reply With Quote
  #12  
Old 31st August 2010, 06:10 PM
tashirosgt Offline
Registered User
 
Join Date: Aug 2004
Posts: 3,855
linuxopera
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."
Reply With Quote
  #13  
Old 31st August 2010, 09:01 PM
machead27's Avatar
machead27 Offline
Registered User
 
Join Date: Aug 2010
Posts: 11
windows_7firefox
Re: Back to Basics (How to Teach Programming)

Interesting article, thanks for posting!
Reply With Quote
  #14  
Old 31st August 2010, 11:07 PM
MorphingDragon's Avatar
MorphingDragon Offline
Registered User
 
Join Date: Feb 2009
Location: New Zealand
Posts: 555
macossafari
Re: Back to Basics (How to Teach Programming)

Quote:
Originally Posted by tashirosgt View Post
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.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
back to basics mikekellam Using Fedora 2 19th February 2008 04:41 AM
please teach me, im a newbie redhat_ali Using Fedora 10 20th October 2007 11:36 AM
please teach me, im a newbie redhat_ali Linux Chat 2 20th October 2007 10:59 AM
Teach me Linux glennzo Using Fedora 2 4th June 2007 02:07 AM
Help!! Got to teach computers... yeehi Wibble 1 19th January 2007 05:46 PM


Current GMT-time: 21:54 (Thursday, 23-05-2013)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat