• Starting today August 7th, 2024, in order to post in the Married Couples, Courting Couples, or Singles forums, you will not be allowed to post if you have your Marital status designated as private. Announcements will be made in the respective forums as well but please note that if yours is currently listed as Private, you will need to submit a ticket in the Support Area to have yours changed.

  • CF has always been a site that welcomes people from different backgrounds and beliefs to participate in discussion and even debate. That is the nature of its ministry. In view of recent events emotions are running very high. We need to remind people of some basic principles in debating on this site. We need to be civil when we express differences in opinion. No personal attacks. Avoid you, your statements. Don't characterize an entire political party with comparisons to Fascism or Communism or other extreme movements that committed atrocities. CF is not the place for broad brush or blanket statements about groups and political parties. Put the broad brushes and blankets away when you come to CF, better yet, put them in the incinerator. Debate had no place for them. We need to remember that people that commit acts of violence represent themselves or a small extreme faction.

What Programming Language Would You Introduce To...

JWGU

Newbie
Sep 29, 2013
279
4
✟22,946.00
Faith
Judaism
Scheme or Racket (failing that, Common Lisp). Functional languages are the best teaching languages for more advanced students. They eliminate many of the common hurdles of order of operations, keeping track of counters, control flow, and mutable variables, and they introduce important concepts in computer science and metaprogramming that are much harder to grasp in other languages. And, of course, after a few weeks you can have them writing their own interpreters

Second language should be C. Third, Python or Smalltalk. The worst commonly used teaching language is Java. Stay away like the plague.
 
Upvote 0

Lotuspetal_uk

Say 'CHEESE!!!!'
Jan 26, 2003
10,882
1,297
57
Good Ole' Blighty!
Visit site
✟100,652.00
Country
United Kingdom
Faith
Non-Denom
Marital Status
Private
Thanks JWGU!

You've recommended Scheme/Racket for more advanced students, would it cross over well if the students are learning a programming language for the first time?

The age group that I would teach would have had no more than 6 weeks learning Scratch at or around the age of 13-14. They would then not touch any kind of programming until A'Levels (ages 16-19). One exam board in the UK has recommended Python.

I'm kind of anticipating a very broad range of abilities.

Thanks again for any help.
 
Upvote 0

dysert

Member
Feb 29, 2012
6,233
2,238
USA
✟120,484.00
Gender
Male
Faith
Christian
Marital Status
Married
No offense, JWGU, but are you serious about Lisp? I've been programming for more than 30 years. I have never once done anything or known anything as a result of learning Lisp. It's a waste of time, and utterly impractical when it comes to learning something that's going to have any value in the working world.
 
Upvote 0

JWGU

Newbie
Sep 29, 2013
279
4
✟22,946.00
Faith
Judaism
Thanks JWGU!

You've recommended Scheme/Racket for more advanced students, would it cross over well if the students are learning a programming language for the first time?
Depends on the student. At MIT, the first programming courses are historically taught in Scheme. Not all students are MIT students, though

The age group that I would teach would have had no more than 6 weeks learning Scratch at or around the age of 13-14. They would then not touch any kind of programming until A'Levels (ages 16-19). One exam board in the UK has recommended Python.
I have taught a fair number of students programming myself and have had good results with LOGO and Python at that age. I would say Python is good for the "average" student. Younger students, something like LOGO would be better--something with a strong graphical component.
I'm kind of anticipating a very broad range of abilities.
Here's my recommendation--with any language, try to keep what you're teaching as independent of the implementation as possible, and focus primarily on the concepts. Talk about functions and algorithms and loops and abstraction, not the specifics of the language's string library (or whatever ). This will leave them much better prepared to deal with any language you can imagine.
Thanks again for any help.
Any time!
No offense taken I am personally using LISP in my work right now, so I can't really agree with this, but in any case we are talking about teaching languages. Is it really important for a thirteen year old student to waste time trying to track counters within loops? The functional programming style also has important applications in multithreaded programming and map-reduce / declarative "Big Data" solutions like Hadoop, and the metaprogramming techniques are extremely useful in writing APIs, compilers, and of course AI solutions.
 
Last edited:
Upvote 0

adrianmonk

Recursive Algorithm
Jan 14, 2008
683
775
Seattle, WA
✟280,982.00
Country
United States
Gender
Male
Faith
Atheist
Marital Status
In Relationship
Politics
US-Democrat

Agreed. I highly recommend "Introduction to Algorithms" It is a great book to have.


I started out learning Lisp, then moved to Pascal and taught myself C. Well Lars Pensjö C for mudlib, but C nonetheless These days I work mostly with Ruby and some Groovy.
 
Upvote 0

Lotuspetal_uk

Say 'CHEESE!!!!'
Jan 26, 2003
10,882
1,297
57
Good Ole' Blighty!
Visit site
✟100,652.00
Country
United Kingdom
Faith
Non-Denom
Marital Status
Private
Looks like I'm going down the Python route. I've installed the software and it transfers over nicely from my old VB6 days in terms of me getting back up to speed.

My kids do not know it yet but they're getting me a raspberry pi for my birthday

Thanks again for all your help!
 
Upvote 0

EphesiaNZ

It's me! Who else could it be...
Apr 19, 2011
5,471
453
New Zealand
✟30,297.00
Gender
Male
Faith
Christian
Marital Status
Married
Looks like I'm going down the Python route...
My kids do not know it yet but they're getting me a raspberry pi for my birthday

Cool, Python Pi is one of my favorite meals

My Pi has had quite a few uses so far and is very flexible in what it does and currently experimenting its use as a firewall appliance using FreeBSD. It's never gonna be a serious commercial firewall but for home use it might just hack it

The Pi brings back the days of my youth hacking my Acorn Atom and BBC Micro and it's kinda comforting to know Acorn Computers legacy of the ARM processor lives on today and is growing stronger everyday too. I knew the BBC Micro would have dominated world computing if it developed and got major government funding - it didn't and died but its legacy might just do it now...
 
Upvote 0