Jump to content

Menu

x-post: a "well-trained" computer programming course?


Recommended Posts

Ds has been checking out all the links and suggestions and telling me about them, but we cannot come to any conclusion about what we are looking for. So, I went to my trusty WTM book after I remembered that there was a short chapter about computer skills in the high school section.

 

About programming, this chapter basically says that:

 

- a programming guru suggests that every high schooler be introduced to programming skills, to take the mystery out of computers

 

- as of the time of writing (1999? 2004? not sure what got changed with my 2004 ed.) Visual Basic was the most useful computer language for study. In the same paragraph, the book says, "...the student should be able to work through these (self-teaching computer courses in the Resources section) independently for a good grasp of programming principles." Then of course it says to consult with a programming expert to find out if another language has trumped Visual Basic, since languages become obsolete. Alright, I understand that. So, is there another language that trumps Visual Basic? If you think so, why?

 

About the bolded part - I think THIS is what I am looking for for my son - I read that bit to him yesterday, and he agreed. So, HOW do we evaluate a course/book for how well it will teach him "programming principles" (this is why I titled this thread with "well-trained" - I like systematic learning of things that will be ultimately widely useful, and prefer to specialize after getting a basic grasp of a topic.) What ARE programming principles that we should be looking for? He loves dabbling in various computer language library books, but he wants to learn programming systematically. It's the well-trained way, ya know?

 

Also, what do we need to know about the differences between learning programming for PCs and programming for Macs? (we have a Mac) (does Visual Basic even apply to Macs?? I can type, I can surf the internet/use e-mail/type basic documents/use a spreadsheet, but I woefully inadequate with technology)

 

Thanks for any further help anyone can offer us! He really wants to learn programming, and I really want to set him on the right track and not dabble.

Link to comment
Share on other sites

Regardless of which computer language your son learns, he will want to wrap his mind around the basics of modern programming ideas and principals:

 

*programming logic

*variables

*functions

*objects and object libraries

*writing his own function vs using function libraries

*basic command types common to most languages (logic)

*how computers "think" and store and retrieve information

*how computers process information and perform computations

*how to get the computer to interact with the user

*command line vs pull-down menu programming

*debugging

*some of the history of programming (because programmers can be sentimental, and there is anachronistic stuff strewn all about in the programming world, best understood if you know where you came from).

 

This basic framework can be understood through any of a variety of vehicles (programming languages) which have their high and low points, and different uses: Visual Basic, C++, Java, Python, etc.

 

The nice point is that once you have learned one or two computer languages, even more so than learning foreign languages, learning more is far easier should a need arise (a specialized mathematical langauge, a job/employer mandated language, etc) because the process of logic entailed, the basic grammatical structures, and the overall ideas behind programming, will all be in place, even if the details may differ and need to be learned. A veteran programmer can often pick up a new language quite quickly.

 

Hope that helps!

Link to comment
Share on other sites

Regardless of which computer language your son learns, he will want to wrap his mind around the basics of modern programming ideas and principals:

 

*programming logic

*variables

*functions

*objects and object libraries

*writing his own function vs using function libraries

*basic command types common to most languages (logic)

*how computers "think" and store and retrieve information

*how computers process information and perform computations

*how to get the computer to interact with the user

*command line vs pull-down menu programming

*debugging

*some of the history of programming (because programmers can be sentimental, and there is anachronistic stuff strewn all about in the programming world, best understood if you know where you came from).

 

This basic framework can be understood through any of a variety of vehicles (programming languages) which have their high and low points, and different uses: Visual Basic, C++, Java, Python, etc.

 

The nice point is that once you have learned one or two computer languages, even more so than learning foreign languages, learning more is far easier should a need arise (a specialized mathematical langauge, a job/employer mandated language, etc) because the process of logic entailed, the basic grammatical structures, and the overall ideas behind programming, will all be in place, even if the details may differ and need to be learned. A veteran programmer can often pick up a new language quite quickly.

 

Hope that helps!

 

YES!!! Your post is extremely helpful to our thinking - thank you! My son was even saying today that programming has its own grammar; and I was saying to him that it seems that if there are basic principles to learn, that it would make learning other programming languages easier for him later on - same as learning Latin will make learning other foreign languages easier to learn, because of having learned a grammatical structure. So thank you very much for your post!!

Link to comment
Share on other sites

from Colleen's son:

 

Thank you everybody for your help! Now, it seems to me that the two most recommended languages in the thread I posted on the high school board are Visual Basic and Java. Could someone please tell me what the differences between these two languages are?

 

Note: I have a laptop with Windows 2000 installed. I usually use that for my programming. But I also have access to a Macintosh with OS 10.6 Snow Leopard installed.

 

Colleen's son

Link to comment
Share on other sites

I love the HeadFirst books as a first introduction. They have projects to do as you work through the book. They aren't comprehensive, but they will make the concepts come alive, and then you can use the understanding to attack another more serious book. My dd loves them, too. HeadFrist Java got me through my college Intro Programming course. :D

Link to comment
Share on other sites

from Colleen's son:

 

Thank you everybody for your help! Now, it seems to me that the two most recommended languages in the thread I posted on the high school board are Visual Basic and Java. Could someone please tell me what the differences between these two languages are?

 

Note: I have a laptop with Windows 2000 installed. I usually use that for my programming. But I also have access to a Macintosh with OS 10.6 Snow Leopard installed.

 

Colleen's son

 

I asked for my husband's input here (he programs for a living, as a mathematician):

 

Visual Basic would be the better choice between those two for a first programming language.

 

Java is a "bigger" language to learn; there is more to get in terms of learning it, more to learn to become competent in it, and it is a language that is designed to write bigger projects.

 

Java is designed for use by teams of programmers writing very large applications.

 

Back to me :). I don't think Java is necessarily a terrible choice, but I think VB is probably a better (more logical) choice for a first computer language.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...