Skip to main content
Aug 10, 2011

Computer Science Educators of America- Stop Teaching Scheme!

Proper Computer Science education should NOT be a trade school. If you want to learn how to make basic web pages and applications, then you don't need a degree to figure it out. Self motivation, native curiosity, and perhaps a dash of intelligence... but not an expensive piece of paper. That being said, the majority of CS graduates will not get PhD's and go on to become CS professors. They will get jobs as software engineers and work on projects using popular programming languages. With this is mind, why do some educators insist on using esoteric, niche languages that mostly cause harm to their students' job prospects? Case in point- We decided to hire an intern. Several students we interviewed definitely had the concepts down, but their programming experience had only been in Scheme. Scheme is a functional programming language derived from Lisp that is not commonly used in industry. Additional time is needed to teach them something useful, such as Python, which (as a procedural language) is a different style of programming and thinking. Question- if Computer Science concepts are universal, why would you force your students to program in a language only used in academia? The tragedy is that you harm you students' careers. Some argue that the first couple of semesters don't matter in terms of longterm career prospects. That is clearly false, as students lose out on internship opportunities when they don't know anything useful, which then makes it harder to find a job when they graduate. Also, it is my opinion that functional languages are harder to wrap your head around than procedural languages (isn't recursion one of the harder CS concepts?), so starting students in Scheme is more likely to scare them away. The solution: start your students in Java or Python. Java is slightly harder, but prepares them better for C. Once they get the concepts down, put them in a programming languages course where you can expose them to all sorts of functional and esoteric languages, be it Scheme or Haskell or LOLCODE. This will not only make your students more employable, but also make them less likely to drop CS for something easy like psychology or political science.


More from the Blog
May 27, 2020

Application Security: Testing is NOT Enough

In the software development world, developers are faced with a breakneck release schedule and tasked to produce applications ...
Read more
Apr 30, 2020

Mobile Application Management: A Forward View

IT Is Adapting in the Midst of the COVID-19 Pandemic The Coronavirus pandemic is a human tragedy, affecting hundreds of thou ...
Read more
Apr 16, 2020

The Next Step in the Arxan Journey

As many of you may have seen, we just announced that w
Read more