Hot answers tagged

35 votes
Accepted

What could be the possible advantages of teaching Scheme as first programming language?

I think that the purpose of such a course is not to teach you a language. After all, Scheme, with its abstract syntax, is pretty minimal as a language. The purpose of a course like that is to teach ...
  • 35.3k
26 votes
Accepted

Which book should I choose to get into the Lisp World?

How to Design Programs is a truly fantastic text. Should you choose to read it, I suspect you will be able to learn many useful things from it. However, I hesitate to recommend it as an answer to your ...
24 votes

What could be the possible advantages of teaching Scheme as first programming language?

There's one more reason I'd like to add to those here, less high-minded, but also a genuine consideration. One of the practical difficulties of teaching an introductory course is that the students ...
  • 31.8k
17 votes

What could be the possible advantages of teaching Scheme as first programming language?

Every second you spend explaining a programming language is a second you are not teaching programming, software development, software engineering, software design, or computer science. You can teach ...
15 votes

What could be the possible advantages of teaching Scheme as first programming language?

With Scheme, you start teaching programming concepts on day 1 - and also implementing them as working code on day 1. With a typical procedural language (C++, Java, etc) you first have to crawl ...
  • 613
12 votes

What could be the possible advantages of teaching Scheme as first programming language?

Simplicity You can write the definition of scheme on the back of a postage stamp. Therefore as @Buffy says, you don't have to learn the language at the same time as learning the concepts. It is a ...
11 votes

Scheme - Which implementation to use for teaching

Racket is a variant of Scheme that is both very good and very popular. The DrRacket system is probably all you need. DrRacket is widely used and there is quite a bit of information about it online. ...
  • 35.3k
10 votes

What could be the possible advantages of teaching Scheme as first programming language?

Scheme is not that widely used in the industry, but that is not the point. The purpose of CS is not to teach you any particular language, but to teach fundamental concepts. When you know the ...
  • 101
7 votes

Which book should I choose to get into the Lisp World?

As someone points out in the comments, Racket is a Scheme implementation. But I wouldn't worry about which Lisp variant you learn at first, not even whether it's a Lisp-2 (Lisp) or Lisp-1 (Scheme); ...
  • 170
6 votes

Which book should I choose to get into the Lisp World?

The problem with learning any of the Lisp family of languages after learning several others is that Lisp and its progeny use a different paradigm. Changing paradigms implies changing the way you think....
  • 35.3k
5 votes

What could be the possible advantages of teaching Scheme as first programming language?

Procedural approach. Not a joke: with functional programming students are very quickly faced with the necessity to write their code as a set a (reusable) functions with a clearly defined role. With ...
5 votes
Accepted

Scheme - Which implementation to use for teaching

I would add to Buffy's answer that DrRacket also contains several built-in learning languages that allow you to dip into Scheme slowly. These languages are designed to be used with the free online ...
  • 31.8k
4 votes

Scheme - Which implementation to use for teaching

I won't tell you which one, as I don't know, and would just be my opinion. But here are some criteria. First look at what other learning materials you have, and use the same language. Some versions ...
4 votes

Which book should I choose to get into the Lisp World?

The best book to get into Lisp is Peter Norvig's PAIP - it showcases the core Lisp multi-paradigm approach and also some unique Lisp features that make it suitable for solving problems dealing with ...
4 votes
Accepted

Scheme - Which book To Use

How to Design Programs is released under the MIT license, and has the distinct advantage of being integrated directly into DrRacket. This allows you to work through bite-sized chunks of Scheme, and ...
  • 31.8k
4 votes
Accepted

What 'procedural' habits to break when teaching 'functional' programming?

I undertook this study myself about a year ago. I started working through the Programming Languages MOOCs on Coursera (Part A Part B Part C), which are based on a UW course of the same name. I didn't ...
  • 9,052
3 votes

What 'procedural' habits to break when teaching 'functional' programming?

I taught a "Functional Programming" course on multiple occasions. It was basically a Haskell course. Phew, can't wait to teach it again. To answer you question precisely: you have no state, no ...
3 votes

What 'procedural' habits to break when teaching 'functional' programming?

When I created my course for Scheme (under not dissimilar circumstances from yours), I used The Little Schemer as my primary source. The book itself rapidly became too dense for my HS students, so I ...
  • 31.8k
3 votes

What could be the possible advantages of teaching Scheme as first programming language?

There are some great answers here already, but I have one thing that was not said yet directly: Forcing students to learn a second language before proceeding further I strongly believe that knowing ...
  • 551
2 votes

Scheme - Which book To Use

Unfortunately most scheme books are dead tree only and many are out of print, though available in the used book market. The classic is Structure and Interpretation of Computer Programs by Abelson ...
  • 35.3k
2 votes

What could be the possible advantages of teaching Scheme as first programming language?

user2892 mentioned the book SICP (Structure and Interpretation of Computer Programs). This book alone is enough of a reason to justify Scheme as a major contender for an introduction to computer ...
  • 31
2 votes

Significant algorithm from CS for DrRacket that emphasize cons, car, and cdr

I learned Racket using the material taught by the UW MOOC on Coursera Programming Languages, Part B, which is modeled after this UW course. Here are the relevant helpful documents, which do provide ...
  • 9,052
1 vote

Which book should I choose to get into the Lisp World?

Frame challenge, don't start with a book. Start with Problem 1 on Project Euler (spoiler, Problem 1 is just Fizz Buzz) and Google/Stack Overflow/language documentation and just write some code. Your ...

Only top scored, non community-wiki answers of a minimum length are eligible