[racket] "The Disadvantages of High School Programming"

From: Isaac Raway (isaac.raway at gmail.com)
Date: Tue Jun 8 17:25:27 EDT 2010

It seem that this might be an issue of the dichotomy between
vocational training in computer programming and true computer science.
Note that "computer programming" != "computer science". It's quite
possible to be a productive and successful programmer without having a
solid understanding of computer science.

I would tend to think (however obviously without any evidence) that
high school courses will be geared more towards the vocational side of
giving students basic programming capability in preparation not for
university courses but for community college Java classes that will
pump out another batch of programmers who don't really care about the
theory. I say this having attended those community college Java
classes and finding them extremely wanting, they were completely
useless to me. No where in that environment did I find any true
computer science, which I think has put me at a disadvantage
ultimately. The skillet I left with was approximately what I entered
with - innate problem solving ability and the possibly perverse
interest to read a technical manual without falling asleep.

I personally fully support the idea of introducing true computer
science at an early age. Had I been given that I think my own skills
would have developed a lot faster. With the environment I did have, a
lot of the real learning about more advanced theory has to happen when
I come across a need for it on the job. This isn't ideal.

However doing away with vocational computer programming training at
the high school level entirely probably isn't a good idea. Some are
drawn in by theory, some are drawn in by practice. Offering both is
the key.


On Tue, Jun 8, 2010 at 4:05 PM, Benjamin L. Russell
<DekuDekuplex at yahoo.com> wrote:
> There is an interesting, if somewhat dated (posted on October 9, 2008),
> article, entitled "The Disadvantages of High School Programming" [1]
> (see
> http://compsci.ca/blog/the-disadvantages-of-high-school-programming/),
> by Roman Zimine, then a "first-year student at the University of
> Waterloo's Math Faculty" (according to the byline), on CompSci.ca
> Blog.  The article discusses the issue that certain students with a high
> school background in computer science were having more difficulty in an
> introductory computer science course taught in Scheme than students with
> no computer science background whatsoever in high school.
> The case of Waterloo is interesting because starting from fall 2008, all
> first-term courses in computer science started using the programming
> language Scheme running in DrScheme (see the related article "Computer
> Science at Waterloo: the new Scheme of things | CompSci.ca/blog" [2] at
> http://compsci.ca/blog/computer-science-at-waterloo-the-new-scheme-of-things/).
> The article contends that some high-school programming courses focus on
> "the idea of 'just making it work'," which interferes with the concept
> of "[p]rogramming is communication," as taught in certain
> university-level computer science courses.  The article argues that
> "[b]asically, those who take programming courses in high school can find
> themselves at a disadvantage, as they have to unlearn bad programming
> habits while learning a new and very different language."
> From what I have read in some of the publications written by certain
> members of the PLT Research Group, it would seem that this viewpoint
> runs counter to the PLT goal of introducing computer science into the
> high school curriculum.
> Personally, I think that the issue is not that teaching computer science
> in high school is bad, but that the quality of education is computer
> science courses at the high school level should be geared more toward
> "programming as communication," instead of focusing on the idea of "just
> making it work."
> Does anybody else have any ideas on how to deal with the problem
> outlined in the article?
> -- Benjamin L. Russell
> [1] Zimine, Roman. "The Disadvantages of High School Programming."
> _CompSci.ca Blog_. CompSci.ca Blog, 9 Oct. 2008. Web. 9 June
> 2010. <http://compsci.ca/blog/the-disadvantages-of-high-school-programming/>.
> [2] Ragde, Prabhakar. "Computer Science at Waterloo: the new Scheme of
> things." _CompSci.ca Blog_. CompSci.ca Blog, 18 Mar. 2008. Web. 9 June
> 2010. <http://compsci.ca/blog/computer-science-at-waterloo-the-new-scheme-of-things/>.
> --
> Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
> http://dekudekuplex.wordpress.com/
> Translator/Interpreter / Mobile:  +011 81 80-3603-6725
> "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/users

Posted on the users mailing list.