Which programming language should be taught in South African high schools?

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,928
The easiest one to get going at home and something popular that's has a lot of resources available (that is not pup)

C++ etc is too involved for school children or to get them interested. Just teach the ****ers java or c# to give them a taste. If they want to go study it the university will teach them from scratch anyway.
 

Other Pineapple Smurf

Honorary Master
Joined
Jun 21, 2008
Messages
14,593
I've learn't Logo, Basic, Turbo Pascal at school (shows my age). I've learn't C++, Delphi and Assembler for my BSc studies. I don't use any of these in my job as a developer but they have made me a better one.

Languages do not make you a coder, they only teach you foundations. I've no objection to them teaching Delphi at school.
 

BandwidthAddict

Expert Member
Joined
Apr 19, 2005
Messages
2,380
At high school you shouldn't be learning a language but the fundamentals of program language structures and program design. If I were teaching a high school IT course, I would use Python as the tutorial language because it supports one liners, interactive, simple procedural, structured procedural, object based, object oriented and functional styles of programming.
 

Swa

Honorary Master
Joined
May 4, 2012
Messages
31,217
At high school you shouldn't be learning a language but the fundamentals of program language structures and program design. If I were teaching a high school IT course, I would use Python as the tutorial language because it supports one liners, interactive, simple procedural, structured procedural, object based, object oriented and functional styles of programming.
But then you're learning a language. Should go pseudo code.
 

etienne_marais

Honorary Master
Joined
Mar 16, 2008
Messages
15,093
In a perfect world I agree with the sentiments that most OO languages would suffice and that the theory is of more central importance (i.e. you should be able to hone your skills at the end of the day in any OO language).

I do however feel that a language such as c# would be more pragmatic and directly usable which may be more suitable. It all depends if the approach is to lay foundations for pupils who will study further or who need a suitable skill right out of school.
 

Solitude

Executive Member
Joined
Jul 23, 2008
Messages
7,312
1. There is an actual Software and Web Development section of the forum: http://mybroadband.co.za/vb/forumdisplay.php/132-Software-and-Web-Development
2. Taught. I know it has been edited in the original post but wow.
3. It probably doesn't matter what language is taught in school as long as the logic and theory behind programming is taught. Languages will change over time. I mean I started out in Delphi, moved to C then C++ and now I'm coding in C#. Programming languages don't matter, it's understanding the basic principles of programming that does.
4. Programming is about attention to detail. I sincerely hope that Hyperion Development is better than what was illustrated with this thread. No disrespect but do better than this. The "talk" is amateurish, without posting in the wrong place.
 

BandwidthAddict

Expert Member
Joined
Apr 19, 2005
Messages
2,380
But then you're learning a language. Should go pseudo code.

People learn orders of magnitude easier practically rather than theoretically. This is why the current school model is broken.

I prefer Python because it allows the kids to experiment interactively and get instant results.

Prompt> A = 1
A=1
Prompt> print A
1

And so on.

Yes they learn Python as a side effect but Python is not the point, demonstrating principles, fundamentals and reasons are the point so people learn and understand rather than parrot.

This is not about an immature debate on why my favourite language is better than yours. I don't have a favourite language. That would be stupid and immature in my profession. I choose a language based on a set of requirements and match up the tool to the requirements.
 

AntiThesis

Executive Member
Joined
Jul 30, 2005
Messages
5,583
1) Teach problem solving, then take part of the CS Unplugged courses and use that
2) Teach whatever but for the love of all that is good and holy, focus on problem solving
3) Problem solving

The only thing that I wish they wouldn't do is use something without context. Some languages tend to teach people bad habits and once those are in place, they're incredibly hard to unlearn. So teach whatever but for example, if teaching using PHP, teach the kids why some of it is insane.
 

bekdik

Honorary Master
Joined
Dec 5, 2004
Messages
12,860
Niklaus Wirt designed Pascal as a language for teaching programming. So a Pascal based language should work for learning development.

But as said by Bandwidth, problem solving is more important. If you understand how to solve problems, the language of implementation is immaterial.
 

ajan

Senior Member
Joined
Jun 18, 2012
Messages
912
They need to move away from delphi, it's library is underdeveloped. I've heard that python is being taught at various schools, which should honestly be changed. Once you get to know java/c++ capabilities, python looks like a toddler language. Moving straight to c++ will solve long term programming development. It has it's starter phase much like any language and it's more intermediate phases which should be learnt before you reach uni-level coding. That's only for programming.

The main thing that should be addressed is mathematics, no point knowing a programming language if you have limited logic capabilities/problem solving.
 

MartinMorrison

Senior Member
Joined
Jul 27, 2005
Messages
813
I've heard that python is being taught at various schools, which should honestly be changed. Once you get to know java/c++ capabilities, python looks like a toddler language.

Are you saying Python lacks core capabilities only present in C++/Java? You do know that Python is used in pretty much every field - https://www.python.org/about/success/. In fact, major investment banks now primarily rely on Python - http://www.quora.com/When-why-and-t...ica-rebuild-its-entire-tech-stack-with-Python
 

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,928
You guys forget that these are children. They want to see the button they "coded" on the screen that turns the text to a different colour, and type something into a textbox that appears on another machine when you hit enter. Fun stuff.

Screw the theory and all the "fundamentals" of programming. That is for university. In school it should be fun. It's not like you need this the same way as you need math, science, English etc.

Give 'em, VS, let them drag a button onto a winform, make 'em double click it and type in MessageBox.Show("Die onnie wetie waddafok aangaan nie!"); and run. They'll go exploring themselves soon enough which is what you want.

EDIT: ****ING AUTO CORRECT
 
Last edited:

DA-LION-619

Honorary Master
Joined
Aug 22, 2009
Messages
13,777
You guys forget that these are children. They want to see the button they "coded" on the screen that burns the text to a different colour, and type something into a textbox that appears on another machine when you hit enter. Fun stuff.

Screw the theory and all the "fundamentals" of programming. That is for university. In school it should be fun. It's not like you need this the same way as you need math, science, English etc.

Give 'em, VS, let them drag a button onto a winform, make 'e-mail double click it and type in MessageBox.Show("Die onnie wetie waddafok aangaan nie!"); and run. They'll go exploring themselves soon enough which is what you want.


Dude don't post nonsense like this. School children must learn Python, c++, Java, C# also some design patterns like MVC and MVVM, also what is a programmer without source control throw in some git into the mix.
 

Pho3nix

The Legend
Joined
Jul 31, 2009
Messages
30,589
Dude don't post nonsense like this. School children must learn Python, c++, Java, C# also some design patterns like MVC and MVVM, also what is a programmer without source control throw in some git into the mix.

In high school? :erm:
Agree with the rodent. High school should show you the fundamentals, problem solving and add fire to those that have genuine interest in Programming.

Varsity is where you learn in more in depth detail and if you have the means.. The thousands of sites and videos teaching languages and design patterns.
 

Necuno

Court Jester
Joined
Sep 27, 2005
Messages
58,567
You guys forget that these are children. They want to see the button they "coded" on the screen that burns the text to a different colour, and type something into a textbox that appears on another machine when you hit enter. Fun stuff.

Screw the theory and all the "fundamentals" of programming. That is for university. In school it should be fun. It's not like you need this the same way as you need math, science, English etc.

Give 'em, VS, let them drag a button onto a winform, make 'e-mail double click it and type in MessageBox.Show("Die onnie wetie waddafok aangaan nie!"); and run. They'll go exploring themselves soon enough which is what you want.

imho just go with C# or at least then python. But you are correct you want interest not some dark souls play through.
 

DA-LION-619

Honorary Master
Joined
Aug 22, 2009
Messages
13,777
In high school? :erm:
Agree with the rodent. High school should show you the fundamentals, problem solving and add fire to those that have genuine interest in Programming.

Varsity is where you learn in more in depth detail and if you have the means.. The thousands of sites and videos teaching languages and design patterns.


That post was sarcastic :p

Anyway I think any modern programming language is a better option than Scratch.
 
Top