I’m not a teacher but this is how I would structure a curriculum…

Just as you would do with any programming language, start by introducing Pharo. Talk about object-oriented programming and how the Pharo model is based entirely on the idea of message passing.

Prepare a suite of programming exercises, say, about 30 of them to be assigned over the course of several months. These exercises could include things like:

  • implement a sorting algorithm like bubble sort or Shellsort
  • implement a search algorithm like binary search
  • compute the Fibonacci numbers
  • tree traversal
  • dining philosophers problem

And so on.

Prepare a couple of software projects. The first one should be relatively simple but the second one should be a bit more ambitious. Software projects will push the student to solve the many practical problems and issues one faces in the course of real-world software development.

The point is, the programming language is largely incidental. Any language could be used to solve these problems but Pharo will make it easier, presenting very low cognitive friction.

Moreover, Pharo will be the best instructional tool for teaching object-oriented programming, something that is poorly understood even by many professional programmers.

Hope this helps.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store