[[!meta title="Emacs and Montessori Philosophy"]] [[!meta copyright="Copyright © 2021 "]] [[!inline pages="internal(2021/info/montessori-nav)" raw="yes"]] # Emacs and Montessori Philosophy [[!taglink CategoryPhilosophy]] [[!inline pages="internal(2021/info/montessori-schedule)" raw="yes"]] As a former Montessori guide and now parent, I often think about the relationship of this particular educational philosophy and how it manifests in my work with software, Emacs in particular. This talk introduces the concept of Emacs as an educational environment and how it expresses elements of Montessori psychology regarding "Human Tendencies". Human tendencies are innate drives present in everybody that allow us to explore and make sense of our world. # Discussion - Q1:  Would you say that the Montessori philosophy follows a "verb" based methodology, where an abstract action is performed on an item, without locking the action to what the item can support, like an Object-oriented language would do?  - e.g.  `throw(rock)` instead of `rock.throw()`, i.e. a function in a global namespace, instead of a function belonging to an object? - A: i'd like to think about this some more, but honestly i think its a bit of both? there's certainly some things I can think of that are more like `rock.throw()`... Here are the things you can do with these materials, and that is it. On the other hand, I've certainly seen inventive uses of educational materials that follow more of a `throw(pencil)` type of thing. - The philosophy is highly observation based, so I'm thinking about the difference of something like `Child::new.learn()` vs `learn(some-child)`.  In this case I do feel like the "verb" based methodology is more appropriate. We need to stop and observe a child, to notice what is driving them, what they're responding to, and where they are in their abilities. Depending on our observations, we may offer different kinds of input. Its certainly much less like "oh i have another Child object and I need to have them do x, y, z" in order to get to point B. - I hope this somewhat answers the question. I'll keep pondering :) - Thank you, I guess some children favour one method over another, but it's not as black and white as I initially thought. Thanks! - Q2: How old do you think childen need to be to start exploring with Emacs? - A: Children 0-6 are in a phase called the "absorbent mind". It is this miraculous superpower that children have to absorb everything around them. The ability to learn language is probably the most obvious example. So, if children can interact with Emacs, they can start exploring it. Of course, as a text editor, basic literacy is pretty important.  I personally have not tried teaching young children Emacs, but I believe with the right kinds of interfaces, it could be possible. - Q3: How to let my kids exploring Emacs?(No need to answer this. It's simillar to Q2) - A: Great question! Much of the early childhood Montessori work is highly tactile. Abstract concepts are embodied in physical objects. One example is the "binomial cube" which is a set of blocks that demonstrates (a + b)^3. Children know nothing about the math behind it, but by interacting with it as a tactile puzzle, something about the math concept behind it, the abstraction, is available to the child and their absorbent mind. - That is to say... perhaps there are ways to bring Emacs into the physical world for the very young. I've been fantasizing about some kind of "physical lisp" where young children can interact with a sort of physical programming language. I don't have a lot of concrete ideas on how to get young children exploring Emacs, but I  do believe it is possible. - For older, literate children, I believe simple things that give instant feedback are a great way to encourage interaction. Being able to do something like (set-cursor-color "orange") and see it work at your finger tips is amazing. I believe that a well prepared set up where M-x is easy to access and you get some kind of completion to show you what you can do would go far.  Even ielm could be useful. Children are not nearly as afraid of a command prompt as some grown ups are. They come to it with much less preconceptions on how it should be used. - I would like to think more about this, as giving children the opportunity to experience Emacs feels critical these days, when they may be forced into using much non-free software just do do their school work. - Q4: How big of an impact does the environment have on the children that you teach? - A: the environment is huge. giving children a prepared space where everything is accessible to them, down at their level, the correct size, etc, it can lead to amazing things. When I worked with 1.5-3 year olds, I remember telling people it was like managing a restaurant where my employees were toddlers. I could work with a group of children to get food served into properly sized dishes, beverages poured, ceramic plates and glass cups set on the tables, napkins folded, and so on all finished in time to get everyone down for lunch before we had major melt downs.  This would not be possible in a normal grown-up environment.  - I'm not sure i said this in the talk, but the environment is an active process on all of us, not just children. the 0-6 year olds (and beyond) are absorbing so much from the environment that we simply filter out. i think this is important to consider for new emacs users. I tend to filter out a lot of things that a new user may pick up and stumble over. - To re-emphasize: the elements of education are The Learner, The Guide(s), and The Environment. Montessori focuses on the Prepared Environment, in order that it can be the most effective for the child's ability to become an independent, self-realized person. - Q5:Do you have a good reference for the Montessori principles (actually any nice book ref)? - A: I'd like to find a more modern resource, I'm sure they are out there. Much of my experience was direct hands-on classroom time.  I've read much of "The Absorbent Mind" which really lays out a lot of the observations Maria Montessori made of the young child, 0-6 years old.  The other book I've studied is "The Secret of Childhood".  I would like to stress though, a lot of the knowledge in Montessori is very very similar to traditional knowledge. When I was learning more about Lakota culture and parenting, I was finding that Montessori was expressing much of the same thing. Any resource (book, human, whatever) that respects children as whole human beings is worth paying attention to. Another author I've enjoyed is Aletha Solter, who writes about parenting. - Q6:How do you think Emacs could improve re: Montessori Principles (if at all)? - A: My main takeaway is that we should acknowledge the three elements of learning: The Learner (user), The Guides (contributors), and The (Prepared) Environment. Each user coming to Emacs is an individual with their own mix of internal drives (human tendencies) that compel them to learn and experience. Everyone that is a contributor to Emacs (whether in code, on the web, or in chat) acts as a Guide in the environment (whether they know it or not).  The Prepared Environment could be considered how the application is set up for users.  I think there is room for a friendlier Prepared Environment, though I am always amazed at what I can discover where the self-documenting feature helps me out.  Interactive tutorials teaching one how to learn how to learn Emacs would be tricky, but I think some interesting work could happen there! - Another principle is "control of error", meaning, when you fail at something or make a mistake, it should be obvious, and hopefully the correction of the error should be obvious as well. This is hard to do in a huge software environment like Emacs, but I think there could be some work done in this regard. I'm reminded of Racket's beginning student languages, which make error messages more human focused and less computery is a good example. - I think the community could also improve as Guides. I have certainly had many pleasant interactions with Emacs users, but sometimes you run into things like "RTFM" or "read the source". While I don't disagree, it can come off as elitist sometimes. Many new users are afraid to read source, or have found a manual but still don't understand. We certainly want to encourage independence, so offering techniques like "have you tried M-x describe-function?"  is better than just answering outright. Sometimes we need to take a moment and understand the Learner we're working with. Maybe they aren't ready for "read the source". I could keep writing, but I think I need to wrap up. Anyone should feel free to email me to talk more! perhaps i'll try doing some writing about it.  - Q8: What was the presentation mode you used? - A: org-tree-slide - - i love using this package because i can practice and edit my presentation at the same time. Feedback: - having studied in a school which founded by following Montessori Philosophy, I can relate <3 - Love the emphasis on creativity! - Such a cool talk - Great perspective in that talk. - the reference to Montessori made me think of Alan Kay's talks about Frenet and Papert. - i was thinking the exact same thing regarding Alan Kay and his talks about education, and of his philosophies behind Smalltalk (the programming language). - and Smalltalk as a platform shares a lot with Emacs, both are a world where a user lives and develops - garjola: yeah...the whole thing about discovery, figuring things out for yourself, having an epiphany. Links and other notes: - - - @kheya@mastodon.social - (there's not really anything there xD) # Outline - 5-10 minutes: (brief description/outline) Quick overview of a Montessori classroom environment: - the adults or guides primarily observe and present material - the children are free to explore materials as they choose (within limits) - the environment itself is prepared specifically to foster engagement Enumerate the "Human Tendencies": - Abstraction - Activity - Communication - Exactness - Exploration - Manipulation (of the environment) - Order - Orientation - Repetition - Self-Perfection - Work (also described as "purposeful activity") How does Emacs express these things? - in the short version, pose the question, and perhaps give one example. - Emacs is an environment that provides facilities for individuals to find their way to proficiency through their Human Tendencies. - We are all both learners and guides, Emacs is our classroom [[!inline pages="internal(2021/captions/montessori)" raw="yes"]] [[!inline pages="internal(2021/info/montessori-nav)" raw="yes"]]