Using Scala to Teach Programming

Using Scala to Teach Programming

Scala is more than a great programming language for building software. It is also a great tool for teaching programming!

Indeed, since Scala embraces several programming paradigms it can be used to introduce many important concepts involved in computational thinking, from the most basic ones to the most advanced ones. It is suitable to teach programming to beginners, as well as to teach advanced software engineering courses. The scalable language also scales for teaching!

You can find more detailed arguments about the strengths of Scala as a tool to teach programming in this article from Professor Mark C. Lewis. Professor Bj?rn Regnell also observed that the students who started learning to program with Scala were performing better in their next programming courses compared to the students who started with Java (watch his talk here).

The Scala Center believes that the use of Scala as a teaching tool deserves more visibility. To this end, we recently organized a summit where a dozen of professors have discussed “how to increase the usage of Scala to teach programming?”. Several ideas were discussed, in multiple areas:

  • Communication: spread the word, give a positive image of Scala, show that it is used in the industry.
  • Tooling: simplify further the setup process, leverage web-based coding environments.
  • Community: let teachers know each other so that they can support each other.
  • Others: investigate fun things such as programming robots, or computer-generated art ; share educational material and teaching setup.

To move forward, we think the first thing to do is to create a specific discussion forum where teachers can know each other, exchange best practices (tech setup, educational material, etc.), and create working groups to work on the next steps. In case you are using (or interested in using) Scala to teach programming, feel free to join the community! Sign up to https://teachers.scala-lang.org, and join a working group (or create one)!

Author: Julien Richard-Foy (acknowledgments to Valérie Pedroni and Vincenzo Bazzucchi).

Geovanny Manuel Mendoza González

Software Engineer | Vaadin Champion | Backend developer | Java | Kotlin | Golang

2 年

Registered

要查看或添加评论,请登录

Scala Center的更多文章

社区洞察

其他会员也浏览了