Video Friends Forum Video Friends Forum

Forums  Register  Login  My Profile  Inbox  Address Book  My Subscription  My Forums 

Photo Gallery  Member List  Search  Calendars  FAQ  Ticket List  Log Out

Learning Programming

 
View related threads: (in this forum | in all forums)

Logged in as: Guest
Users viewing this topic: none
  Printable Version
All Forums >> [GENERAL] >> CODER'S CORNER >> Learning Programming Page: [1]
Login
Message << Older Topic   Newer Topic >>
Learning Programming - 1/23/2014 7:26:17 AM   
RogRead


Posts: 1113
Joined: 10/26/2006
From: Rural Dorset, UK
Status: offline

Equipment:
Home built: Intel Core i5 750 quad, ASUS P7P55 LX, 8Gb DDR3, ATI HD4350 512Mb, 120 Gb SSD, 2 internal 1Tb HDD, 1 external 1Tb. Win 7 Pro 64 bit, Vegas 12 Pro, DVD Architect 6, PSE8, CT6 Pro, Crazy Talk Animator. Camcorder: Sony CX115 Handycam
My 11 year-old grandson has asked me to teach him computer programming. Where do I start? There are so many different languages and dialects available now, I am overwhelmed! I used to be fluent in Basic, capable in C++, and, in the good old days of the Commodore 64 I even managed Assembler. I also dabbled in COBOL. So I do have some experience, and should be able to pick up a new language fairly quickly.

I have a Windows computer, so any programming should be compatible, though I also have a fairly ancient machine which could run Linux if necessary. I have looked briefly at Microsoft Small Basic, which would seem to be a fair starting block, but would it be worthwhile kicking straight off with perhaps C?

So, any advice from anyone with experience teaching kids programming would be most welcome.

_____________________________

Roger

Old age and Treachery will triumph over youth and skill
Post #: 1
RE: Learning Programming - 1/23/2014 10:37:54 AM   
dogbot

 

Posts: 411
Joined: 1/27/2010
From: Isle of Wight UK
Status: offline

Equipment:
17.3" laptop + 22" ext monitor i7-3740QM 2.7-3.6 Ghz 16 GB Kingston hyper-X 1600Mhz nVidia GTX 675MX 4GB 750 GB Seagate SSHD, 1 TB Scorpio blue various e-sata/usb ext drives OP W7 Acronis True Image Home 2013 Studio 8, 10.6(10.8), 14, 15, AS, Sony PC8 DV, Panasonic HC-X900
The trend now is towards apps for pads and phones rather than computers alone.

Maybe your grandson could start from here.

https://www.dreamspark.com/Student/Default.aspx
Post #: 2
RE: Learning Programming - 1/23/2014 1:27:30 PM   
RogRead


Posts: 1113
Joined: 10/26/2006
From: Rural Dorset, UK
Status: offline

Equipment:
Home built: Intel Core i5 750 quad, ASUS P7P55 LX, 8Gb DDR3, ATI HD4350 512Mb, 120 Gb SSD, 2 internal 1Tb HDD, 1 external 1Tb. Win 7 Pro 64 bit, Vegas 12 Pro, DVD Architect 6, PSE8, CT6 Pro, Crazy Talk Animator. Camcorder: Sony CX115 Handycam
Thanks for the suggestion, David.

Looking at the website, it would seem as though it might be the next step. However, He still needs to learn basic programming skills first before applying those skills to developing apps etc. However, it seems that DreamSpark supports most languages, and, since I am happiest with Basic, I think I will start there with him.

Since posting earlier today, I have downloaded and played with Microsoft Small Basic, which, although a fairly simplified version of Basic, will still support some fairly advanced concepts. It would certainly enable him to learn the basic concepts of programming before moving on to other, more advanced, languages. Depending on how he gets on, I might investigate DreamSpark again in the future.

_____________________________

Roger

Old age and Treachery will triumph over youth and skill
Post #: 3
RE: Learning Programming - 1/24/2014 3:09:30 PM   
justaviking


Posts: 2043
Joined: 6/12/2007
Status: offline

Equipment:
Homebuilt - 64-bit Win7, Intel i7-3770k, 256GB SSD, Asus motherbaord, lots of hard drives, dual 28-inch monitors, 750W power supply, Antec P-160W case
To me, it all starts with the CONCEPTS.

Take a logical process and show him how to make a flowchart. Don't worry about the specific shapes. (If you know them, use them correctly, but don't make a point out of that initially.)

Teach him how to break a problem down into a logical order. Think about "if-then-else" and use a lot of real-life examples. If you have money, then to shopping, otherwise mow the lawn to earn money.

Also introduce the concept of variables, and how they hold values.

Find a recipe in a cook book, and talk about how it is a set of instructions. Some need to be done in a specific sequence (mix before you bake), while others can be done in any order (add eggs, milk, and vanilla - in any sequence - and then start mixing).

Make everything as tangible as possible, and help him realize he instinctively knows a lot of this already. He just needs to be more conscious of it and formalize it.*

Then when he's comfortable with those concepts, conversationally and drawing crude diagrams on paper, then you can show them how they look in a computer program. Any simple one using any language you know.

For a beginner, the specific language is less important than the general concepts that apply to nearly any language. The rest is just syntax (okay, that was a gross over-simplification, but I trust you understand my meaning).


*This is true for exposing a kid to algebra too. You can ask almost any kid, "If you score 15 points each quarter of a basketball game, how many points will you score all together?" and he'll get it right. Later he will learn about cancelling units and all sorts of things like that. But not on day one. Start with what they know and make them comfortable, and build on that.

_____________________________

Currently editing with Studio 19, making movies in iClone 6, and exploring Substance Designer... I just wish I could be doing more of it.
Post #: 4
RE: Learning Programming - 1/25/2014 4:14:18 PM   
RogRead


Posts: 1113
Joined: 10/26/2006
From: Rural Dorset, UK
Status: offline

Equipment:
Home built: Intel Core i5 750 quad, ASUS P7P55 LX, 8Gb DDR3, ATI HD4350 512Mb, 120 Gb SSD, 2 internal 1Tb HDD, 1 external 1Tb. Win 7 Pro 64 bit, Vegas 12 Pro, DVD Architect 6, PSE8, CT6 Pro, Crazy Talk Animator. Camcorder: Sony CX115 Handycam
Great advice, Dennis. Thank you.

Having taught myself coding from scratch, I suppose I actually applied those concepts in the beginning, but without realising it. It had not occurred to me to start him like that. I would have jumped straight in with "Hello World"! You've given me some nice examples which I can build on, too. I especially like the idea of a recipe book.

Thanks for sparing the time to help me. I really appreciate it.

BTW is Viking Junior going to have another go at Pinhead?

_____________________________

Roger

Old age and Treachery will triumph over youth and skill
Post #: 5
RE: Learning Programming - 1/25/2014 5:40:19 PM   
justaviking


Posts: 2043
Joined: 6/12/2007
Status: offline

Equipment:
Homebuilt - 64-bit Win7, Intel i7-3770k, 256GB SSD, Asus motherbaord, lots of hard drives, dual 28-inch monitors, 750W power supply, Antec P-160W case
You're welcome. I hope the "classes" go well.

Will Viking Jr. participate again? Excellent question. I'm sure he will. He LOVES creating things. He makes PowerPoint presentations for fun and he writes wonderful stories too. He's been reading from his "A-to-Z Mysteries" collection again, and that inspired him to write a couple of mystery stories of his own. One of his characters is named Mr. E. Gotta love it.

_____________________________

Currently editing with Studio 19, making movies in iClone 6, and exploring Substance Designer... I just wish I could be doing more of it.
Post #: 6
RE: Learning Programming - 1/30/2014 7:43:40 AM   
bittmann

 

Posts: 2043
Joined: 3/1/2006
From: Kansas, USA
Status: offline

Equipment:
Video: US NTSC / Sony 8MM CCD-TR916 / MovieBox USB / Sony DCR-TRV70 MiniDV
S9 PC: Centrino Laptop / 1.6 GHz / 512Meg / NVidia G-Force4 4200 Go / XP Pro SP2/ Studio 8.12.7 & 9.4.3+
S10 PC: Athlon64 3400+, 1GB, nVidia 6600 256MB, XP Home SP2
As far as quickly learning "Concepts"? Take a look at Scratch...won't take you very far, but it does cement the idea of workflow.

BASIC interpreters and runtime, like DarkBasic, Small Basic, etc. are still oldies but goodies. They don't "rot your brain" as much as Visual Studio or visual Java programming tends to do (where you spend more time learning how to run the UI than you do actually figuring out what all that coding "means"). But they are "basic", and that may not be everyone's cup of tea.

Learning "real programming" - I really like the concepts promoted in Python, at least in today's world. Getting the kid a Raspberry PI when they show any aptitude at all (plus a HDMI- or DVI-capable display, keyboard, mouse, cellphone power supply, and SD card) might be a good incentive as well for not much money if the kid already has access to most of the above.

If that doesn't hold your kid's interest, maybe one of the "GameMaker" products (where the heavy lifting in the game engine is predefined, and the "programmer" gets to define the in-game interaction) would be reasonable - but I don't like that approach as much because it's even more limiting than the Visual Studio approach...you aren't learning Programming as much as learning how to do specific things with THAT product.

And for the future, if you decide C# or some of the other languages are worthwhile, the Yellow Book seems to be a good introduction, although it obviously isn't very exciting prose (it's a uni coursebook). Won't take a kid right to game-programming, but will be reasonable.

I'm dismayed by the so-called "computer classes" that my daughter is taking in University - much more about memorizing which icon does what function in the visual GUI than actually learning what coding REALLY is.

< Message edited by bittmann -- 1/30/2014 7:57:50 AM >
Post #: 7
RE: Learning Programming - 1/30/2014 9:15:23 AM   
justaviking


Posts: 2043
Joined: 6/12/2007
Status: offline

Equipment:
Homebuilt - 64-bit Win7, Intel i7-3770k, 256GB SSD, Asus motherbaord, lots of hard drives, dual 28-inch monitors, 750W power supply, Antec P-160W case

quote:

ORIGINAL: bittmann

I'm dismayed by the so-called "computer classes" that my daughter is taking in University - much more about memorizing which icon does what function in the visual GUI than actually learning what coding REALLY is.


About once a week, a guy at work complains about the lack of actual "programming" taught to young people today. And those are people receiving "Computer Science" and "IT" degrees. Basic things, like error handling, exception handling, proper commenting, memory management, interfacing with other modules... and on and on.

Today's computer graduates seem to by "typists," or even worse, people who simply copy-and-paste together code samples found on the internet, with no understanding of how they work, and without proper concern of how they should work together once assembled.

Although the guy is a bit of an alarmist, there's a lot of truth to what he says.

True, not every person building an application needs to know how to program their own compiler using Assembly Language. And it's great to be standing on the shoulders of giants. But if you are receiving a degree in as a programmer, you should know more than your average high school student with access to Google by the time you receive your diploma.


_____________________________

Currently editing with Studio 19, making movies in iClone 6, and exploring Substance Designer... I just wish I could be doing more of it.
Post #: 8
RE: Learning Programming - 2/4/2014 5:06:41 AM   
Sparks


Posts: 2284
Joined: 2/8/2007
From: Windsor, England
Status: offline
I have been a professional programmer for nearly 50 years, starting with BASIC on a time-share terminal in the 60's, and through just about every language and target system since. Software is a fascinating subject to pursue, and is the only one that I can think of that provides a progressive self-learning paradigm (with instant gratification) from novice to expert, and beyond.

Although these days I get involved with some pretty complex stuff, I still drop down occasionally to EXCEL to try out new ideas and algorithms before coding for real. This has the advantage of providing visual feedback at any stage of the process (without writing any GUI (Graphical User Interface) code), has the full range of control statements (if/then/else etc), handles different variable types (integer, float, boolean, etc), supports data structures (arrays etc), a plethora of mathematical/statistical/scientific (etc) functions, just like those used in a 'real' program, and if you want you can write your own procedures and functions using VBA (Visual Basic for Applications) or its modern equivalent, which is built-in.

I recommend taking a look at EXCEL. You can start with a very, very, basic approach, and build up from there. Skills learned here can easily be applied to any programming approach you adopt later ( C, C++, VB, JAVA, etc). There are many books written on EXCEL which take you through a learning journey from basic to expert, and are available for ages 8+.



< Message edited by Sparks -- 2/4/2014 6:09:29 PM >


_____________________________

Jeff

http://www.vitalsparks.com
Post #: 9
RE: Learning Programming - 2/5/2014 8:03:14 AM   
RogRead


Posts: 1113
Joined: 10/26/2006
From: Rural Dorset, UK
Status: offline

Equipment:
Home built: Intel Core i5 750 quad, ASUS P7P55 LX, 8Gb DDR3, ATI HD4350 512Mb, 120 Gb SSD, 2 internal 1Tb HDD, 1 external 1Tb. Win 7 Pro 64 bit, Vegas 12 Pro, DVD Architect 6, PSE8, CT6 Pro, Crazy Talk Animator. Camcorder: Sony CX115 Handycam
Thanks for all your suggestions, Guys. All are most welcome.

It seems that many kids start off with Scratch. (Thanks for that suggestion, Bitt). It certainly seems to do the job of teaching basic concepts and workflow, and we have already had several worthwhile sessions on that. Although you say it won't take you very far, it actually enables you to carry out some fairly sophisticated programming, and he is presently working on a game where you guide a sheepdog to round up sheep and drive them into a pen - complete with sounds, scoring etc. Because you don't have to worry too much about syntax, it concentrates the mind on the actual flow of the program, whilst still teaching the basics of coding (algorithms, input, output, variables, sequencing, selection, repetition etc), and all in a fun way.

Jeff, I like the idea of going on to Basic via EXCEL (though I didn't know about it being a part of EXCEL). However, having done yet more research, I think that Python might be the way to go, as it leads directly on to "real programming" in the "real world" without having to learn new syntax. (A Raspberry Pi might well finish up in his next birthday parcel, too.).

If anyone wants to chip in with any other ideas or tips, I am a ready learner!


_____________________________

Roger

Old age and Treachery will triumph over youth and skill
Post #: 10
Page:   [1]
All Forums >> [GENERAL] >> CODER'S CORNER >> Learning Programming Page: [1]
Jump to:





New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts




Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 Unicode

0.047