skip to main content
10.1145/1292520.1292534acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Learning programming with erlang

Published:05 October 2007Publication History

ABSTRACT

This paper presents an interactive framework for pupils to learn the basic concepts of programming by means of the functional programming language Erlang. Beside the idea of the framework we also sketch the different learning targets and exercises to deepen programming skills.

The framework was successfully utilized in a programming course for pupils in their last three school years.

References

  1. Joe Armstrong, Robert Virding, Claes Wikström, and Mike Williams. Concurrent Programming in Erlang, Second Edition. Prentice-Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Joe L. Armstrong. The development of erlang. In International Conference on Functional Programming, pages 196--203, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Peter Brusilovsky, Eduardo Calabrese, Jozef Hvorecky, Anatoly Kouchnirenko, and Philip Miller. Mini-languages: a way to learn programming principles. Education and Information Technologies, 2(1):65--83, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Edsger W. Dijkstra. Go to statement considered harmful. Springer-Verlag New York, Inc., New York, NY, USA, 2002.Google ScholarGoogle Scholar
  5. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. How to design programs: an introduction to programming and computing. MIT Press, Cambridge, MA, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. W. Hartmann, J. Nievergelt, and R. Reichert. Kara, finite state machines, and the case for programming as part of general education. In HCC '01: Proceedings of the IEEE 2001 Symposia on Human Centric Computing Languages and Environments (HCC'01), page 135, Washington, DC, USA, 2001. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Poul Henriksen and Michael Kolling. Greenfoot: Combining object visualisation with interaction. In Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications (OOPSLA), pages 73--82, Vancouver, BC, CANADA, November 2004. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Frank Huch. Erlang specification method - a tool for the graphical specification of distributed systems. In Seventh International Erlang/OTP User Conference, 2001.Google ScholarGoogle Scholar
  9. Seymour Papert. Mindstorms: Children, Computers, and Powerful Ideas. Basic Books, New York, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Richard E. Pattis. Karel the Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, Inc., New York, NY, USA, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Raimond Reichert. Programmieren lernen mit kara, available from http://www.swisseduc.ch/informatik/karatojava/.Google ScholarGoogle Scholar

Index Terms

  1. Learning programming with erlang

        Recommendations

        Reviews

        Arthur Gittleman

        Erlang is a concurrent, distributed, functional programming language. This paper addresses the need to program computers that commonly have multiple processors. The short course described here attempts to expose female high school students (15 to 18 years of age) to computer science in an interesting way. In Germany, where the course was given, as in the US, the percentage of female students in computer science is under 20 percent. Half of the included one-week course describes the university’s research, meetings with students and female graduates, a trip to a company, and curriculum information. The other half consists of teaching programming using Erlang, and is based on the Kara interactive development environment. Kara is a female ladybird that moves on a 10-by-10 grid. Kara can collect shamrocks, but must avoid a fly agaric, which can kill her. The Zurich developers of Kara used a finite automaton and Java to control Kara. In Section 2, the author convincingly proposes Erlang as a better alternative. Section 3 lists the special Erlang commands to control Kara, such as go() , which moves Kara one field ahead, and take() , which picks up a shamrock. Section 4 describes the teaching levels, including code that is easy to read, even without any prior knowledge of Erlang. The start-up with the small initial language takes only 45 minutes before the students are programming. The next level generalizes the use of recursive calls, which is surprisingly easy to grasp in this context of moving a ladybird on a grid. The course introduces parameters and data structures, and goes beyond Kara to introduce concurrent and distributed programming in Erlang. Student groups conclude by developing a chat server protocol. The concluding section discusses the advantages of Erlang-Kara. In the future, the author plans to integrate Erlang’s concurrency features into Kara to allow multiple ladybirds to solve a problem cooperatively. Because the paper was presented at Erlang 2007, which focuses on the language itself, the author does not present any follow-up information about the female students’ change in attitude toward computer science. However, the descriptions of what the students are able to do, and the obvious appeal of this approach, make it very promising, especially considering the growing need for students to understand concurrency, and the desire to increase the number of female computer scientists. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          ERLANG '07: Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
          October 2007
          106 pages
          ISBN:9781595936752
          DOI:10.1145/1292520

          Copyright © 2007 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 October 2007

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          ERLANG '07 Paper Acceptance Rate11of15submissions,73%Overall Acceptance Rate51of68submissions,75%

          Upcoming Conference

          ICFP '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader