Hi Carrie Anne
I was focussing on structure mostly but I was also trying to come up with language that was concise but easy to understand (while being in a rush). I agree this can be improved and will suggest one improvement later but first I will try and explain why it might not be as bad as perhaps it first appears:
Audience: I am not aiming at the slow-typing, just-started-Python, what-is-a-function student. I am aiming at those students who have done a little programming in Python already and are starting to want to explore things further. Your average 12 year old perhaps would be the first ones to start exploring the documentation. These are the interim students / learners. The reason for aiming here is that I think that the younger students need a bit more leading than going off and reading documentation. For the youngsters it is possible to produce a stripped down even easier version of EdDoc that can pop-up in a special IDE, rather than navigating documentation or simply providing Syntax guides. Personally, I believe both kinds of documentation are required but, for me, it is easier to simplify than build up from a simplified start.
Structure: Some of the ease of reading comes from repetitive structure. All functions (in my example system) start with a sentence saying that they are functions and where they come from: So in the example you have chosen, random.choice(), the first sentence is: A function available after importing the built-in random module. bin() on the other hand has as its first sentence: A built-in function. A Pygame method might have a sentence such as: A method available if Pygame is installed on your computer. The second sentence in the description tells you its purpose concisely but is separate (hence on a new line).
Technical vocab: Students who are starting to read documentation also need to be introduced to technical vocabulary so they can perform effective searches. The amount of this vocab varies and often depends on the difficulty of the function being documented. It is of course possible to use technical language and then further explain it, but the danger is it becomes verbose and many students will not read it.
How the function page in my suggestion might be read: I envisage many students reading the documentation like this: 'What do I have to put in to this function?' (skip to arguments section) 'What will I get out of it?' (skip to returns section) Then they will either experiment in the shell or think 'I don’t get it’ (skip to the examples) 'OK, this is useful - how do I get it?' (skip to top) Hence the repetitive structure, again, aids readability. It is also teachable.
In the example chosen, the second sentence could have been better worded: Returns a random value from a container data-type. would be better as Returns a random value from a string, a tuple or a list. This is better because it is still concise, avoids ‘container' which is not a universally accepted key word and is specific about which containers it applies to. It would then be possible to delete the note at the bottom. (original page for reference: EdDoc/built-in_modules/random.choice.html <http://codingclub.co.uk/EdDoc/built-in_modules/random.choice.html> )
Is there a need for both EdDocs and, for want of a better name, SchoolDocs? Am I right to suggest that SchoolDocs would be easy to produce from a well made EdDocs system but doing this the other way round is more difficult?
Best wishes Chris
On 18 Jul 2016, at 10:12, Carrie Anne Philbin <carrieanne@raspberrypi.org> wrote:
I really like this idea Chris. Like you I am not sure if this could be easily incorporated into an IDE but it is something we should consider for the python in edu website.
My only reservation is with the language used in the example supplied here http://codingclub.co.uk/EdDoc/ <http://codingclub.co.uk/EdDoc/>. I think it is still too high level for young people. Hell, I don't even understand "A function available after importing the built-in random module. Returns a random value from a container data-type." Can we simplify the language for novices? I'm not sure if this was simply because you wanted to share an idea of structure rather than content? If so apologises Chris.
Any further thoughts anyone?
Carrie Anne.
On Fri, Jul 15, 2016 at 12:17 PM, Chris Roffey <chris@codingclub.co.uk <mailto:chris@codingclub.co.uk>> wrote: Dear Carrie Anne and Amit
I too have been concerned about the Python documentation being too difficult for students to understand.
To be easy to teach, navigate and to link to in IDEs, the documentation requires a clear and logical structure.
To be easily understandable and accessible to youngsters, the language in the documentation needs to be concise and clear and with a consistent style. This means, in my mind, that although it can be a community endeavour, it needs an agreed structure first and a good copy-editor at the end.
To see what this would involve I have had a go and discovered it will be a big job. Well worth sharing! I have experimented with a straight html structure but I have no idea if this is the best way of doing this to make it easy to incorporate in IDEs. I suspect XML would be better.
I have produced a nested index system with plain english descriptions provided all the way through but ending in a single page with a logical name that could be used in IDEs. So, for example, the random.choice() function has its own page with the same headings as other functions and is accessed by navigating through built-in modules then random (which has its own description) then then clicking on the choice() link which has its own description.
I have not explored classes and their corresponding methods provided by modules built this way because I think it is pretty easy to see how these can follow the same system.
Anyway, have a look and see what you think: http://codingclub.co.uk/EdDoc/ <http://codingclub.co.uk/EdDoc/> (I have used an obvious link style so you can clearly see where I have provided examples. This is not a comprehensive Documentation set!!)
Best wishes Chris
On 13 Jul 2016, at 07:32, Carrie Anne Philbin <carrieanne@raspberrypi.org <mailto:carrieanne@raspberrypi.org>> wrote:
This is a great blog by a teacher in Bath who I believe is on this mailing list. I'm sure she can give you a list, but to start with here is the post <https://codeboom.wordpress.com/2016/05/11/scratch-is-the-new-powerpoint/> I was referring to.
I hope some teachers will read this and add their requests for good documentation so your offer of help gets snapped up! As Nicholas mentioned, a Python in education website is being formulated. We will need good documentation for it. More details to come!
Thanks,
Carrie Anne.
On Wed, Jul 13, 2016 at 5:12 AM, Amit Saha <amitsaha.in@gmail.com <mailto:amitsaha.in@gmail.com>> wrote: On Wed, Jul 13, 2016 at 3:52 AM, Carrie Anne Philbin <carrieanne@raspberrypi.org <mailto:carrieanne@raspberrypi.org>> wrote:
I've been distracted lately by all of the work that the micro-python group have been doing to support the BBC micro:bit. Work that continues and needs your support.
Work is continuing on Mu the learner focused Python IDE. The team would really appreciate your thoughts and feedback, especially if you work with young people or those new to Python. You can do so here, on another thread or on the Microbit-Python mailing list.
Support for teachers/learners. If you need support learning python or teaching with python then why not start a thread here? A wonderful Python community person will help you out. This is a really quick and simply way that members can get involved. They want to help you!
Lesson plans, tutorials/resources. Have you written any that you want to share with others? Then share them here with a new thread. Spread the love!
Documentation. Recently CodeBoom wrote a really good blog post about the lack of good documentation for python modules that are used in education. Could educators on this list, collate their most used modules that need documenting for those wanting to get started with them. Could others help with this?
I would be keen to help with the documentation. Can you please point to the post you are referring to?
- Education bundle. Dan Pope started a thread sharing his progress on this. Can you provide feedback, ideas, suggestions, a pat on the back, testing opportunities in the future?
I am looking forward to help with the edu bundle too.
The moral here is do not let this WG die! Everyone always asks me "how can I get involved?" Educators share your success, failures and frustrations. Community members share your ideas, solutions and good-will.
Thanks,
Carrie Anne.
-- Director of Education Raspberry Pi Foundation UK Charity No. 1129409
www.raspberrypi.org <http://www.raspberrypi.org/> | www.codeclub.org.uk <http://www.codeclub.org.uk/> @ | in | ▷
Pythonedu-wg mailing list Pythonedu-wg@python.org <mailto:Pythonedu-wg@python.org> https://mail.python.org/mailman/listinfo/pythonedu-wg <https://mail.python.org/mailman/listinfo/pythonedu-wg>
-- http://echorand.me <http://echorand.me/>
-- Director of Education Raspberry Pi Foundation UK Charity No. 1129409
www.raspberrypi.org <http://www.raspberrypi.org/> | www.codeclub.org.uk <http://www.codeclub.org.uk/> @ <http://twitter.com/missphilbin> | in <https://uk.linkedin.com/in/carrie-anne-philbin-a20649b7> | ▷ <https://www.youtube.com/user/GeekGurlDiaries>
Pythonedu-wg mailing list Pythonedu-wg@python.org <mailto:Pythonedu-wg@python.org> https://mail.python.org/mailman/listinfo/pythonedu-wg <https://mail.python.org/mailman/listinfo/pythonedu-wg>
-- Director of Education Raspberry Pi Foundation UK Charity No. 1129409
www.raspberrypi.org <http://www.raspberrypi.org/> | www.codeclub.org.uk <http://www.codeclub.org.uk/> @ <http://twitter.com/missphilbin> | in <https://uk.linkedin.com/in/carrie-anne-philbin-a20649b7> | ▷ <https://www.youtube.com/user/GeekGurlDiaries>