New mode for MuEditor: CodeInPython. Please advice #2393
Replies: 2 comments 4 replies
-
Hi to all, who will read this :) Thank you in advance. |
Beta Was this translation helpful? Give feedback.
-
Hi @Gregor14, apologies for the silence on our (Mu dev's) part... we're all volunteers and getting to tickets is on a best effort basis. First of all, thank you so much for reaching out. I'm just about to get on a LONG flight for work, and I have your message open in a tab, so I should have plenty of time to read it, and think of a response during my flight. I hope to answer your queries sometime around the start of the week (if not earlier), depending on how my travel goes and connectivity. Best wishes, N. |
Beta Was this translation helpful? Give feedback.
-
I made new mode for Mu Editor. It's called CodeInPython.
It's not finished at all, it works, but there is many work yet to do (like translation, unit tests). I'd like to ask leaders of this project about some solutions, what I use there. Are they acceptable, or maybe "no way, you will never agree to put it in Mu Editor :)"
WHAT FOR IS THIS MODE?
Always I remeber about idea of Mu: simplicity. So, what I add is simply (I think :), but gives me valuable features.
This is result of our experiance with schools, kids and in general teaching programming. Briefly we need two things:
a. Easy method to give kid lessons, which he need to study now.
b. Give kids some toys / devices / other entertaiment to make lessons more interesting.
Re a) In this mode you can add users (students). Every student can add his own set of lessons from 3 sources:
I will not describe here in details how it work (will do in separate thread). But it's simply, just play with it. First, go to setup of Mu (tab "CodeInPython evironment") and make "Update from Internet". Then you can play with new buttons on Mu (user and "Devices")
To know more, just look what happen in c:\Users\user\mu_code\codeinpython_env (Win) or /home/user/mu_code/codeinpython_env (linux)
What I get with this? Every student sits at computer, input his name and by one click he add lessons for today work. Next student do same and he will have clean, new set.
Fast and easy. At our schools there is little time to work, so class shouldn't waste time to prepare workspace.
Re b) We already have some toys for kids, own books about Python, etc. Now we add pad (like regular gamepad, but upgraded :), to make learning more fun (see at CodeInPython ). In Mu editor we can update firmware, test it, play, setup any properties, etc.
We hope that, this device (and in future other stuff), will be good lauchpad to make learning of programming easier. Therefore we want to add in Mu some features dedicated just for our stuff (like did it Micro bit, Pyboard, Snek)
WHAT I KINDLY ASK YOU?
I made a fork (at user Gregor14). Branch master is just copy of original Mu. My work is in branch CodeInPython.
Like I say, project is not finished. I'm new in Python and MuEditor, so for sure there is a lot of errors. I will fill all missing stuff, when I will know, that I'm going in right way.
However, if you have any comments about features or you want to point out my errors, be my guest (best will be to do this at my fork) :)
But most important for me is to ask following questions:
These modules come from our web page (in Setup there is button to import zip file with all modules). Whether this technique making new modes for Mu is allowed by you? I did this, because I want to have possibility to easy change features available in "Devices" (button next to Run). So, if i.e. we want to add some new feature for button "Devices", we don't need to change release of Mu, just update files from our webpage.
It's works and now, "pyserial" is available for students in automatic way. Later on, I intend to get list of requires packages from setup (settings.json) or even from info stored in projects (see "description.xml" in codeinpython_env/examples).
Is this wise to do in this way? Will you allow to do this?
Is this acceptable solution, or there is better way to get it?
So, what do you think about this solution? Could you do some comments to these three, above questions? Thank you in advance.
Beta Was this translation helpful? Give feedback.
All reactions