Introductory high school programming class - Python or TeachScheme
I guess it matters on what you want to do. If you want to prep for the AP, teach java. because the test uses java. If you want to teach Computer Science, teach Scheme, because Scheme is used in _Structure and Interpretation of Computer Programs_, the seminal computer science book. If you want to teach programming, teach Python, because it has the best balance of power and ease of use. At our Seattle Python Interest Group we went around the room saying what we use Python for. My answer, to write programs! Because when I need a program to do something, I need it now, I want it fast, and it has to be easy to write. Lisp (Scheme is a dialect of Lisp) is a great porgramming language, but I find even after years of practice I have to think really hard when I write Lisp code, and with Python I hardly have to think to write code. The language I have used in a middle school programming club is Logo, which has an expression, "no threshold, no ceiling". And Logo has a low threshold and is very expressive, but without the libraries it has a low ceiling. Python has a higher threshold than Logo, IMHO, but with the libraries it has a high ceiling. Scheme's threshold is higher than Python and with limited libraries Scheme's ceiling is lower. Scheme's expresiveness is more powerful, sometimes when programming in Python I wish Python had a feature or syntax found in Lisp, but then I code around it and remember why I am using Python in the first place. Thanks, Jeff Sandys
participants (1)
-
Jeff Sandys