I like the idea of starting out right away on a GUI. I know this is completely
backwards to what would normally be taught, but hear me out. Kids today are
used to GUI interfaces. They're on their phones, their computers, their TV
sets.
Why not teach kids to output to a window instead of a command line? What if
it's just was easy, or easier, to work with a GUI as it is the command line?
To output to the command line in standard Python:
print('my string', variable1, variable2)
To output the same information to a window using PySimpleGUI:
Popup('my string', variable1, variable2)
Or, you can "print" to a debug window if that's your thing.
Print('takes the same parameters as print')
If the ultimate goal is to teach kids about how to design a GUI window, how to
lay out a GUI using good user interface design principals, then it would be
nice to get the GUI coding out of the way and let the focus instead be on the
GUI itself. This is when having a drag-and-drop Designer Tool is handy. If
not, then the next best thing is a simple programming interface.
PySimpleGUI was designed so that the code visually matches the window layout.
It's capable of duplicating pretty much any layout and widget combination that
you can create coding directly to tkinter's (or Qt's or WxPython's) interfaces.
PySimpleGUI simply creates and executes the "boilerplate" code that is often
brought up when GUIs are discussed.
A goal was to remove all of the boilerplate code and provide a programmer with
a simple, friendly and flexible set of APIs. You write a single line of code
per row of widgets in your window plus a 1/2 dozen lines to implement the event
loop.
I don't see the harm in approaching the problem from a different direction. It
could be wildly successful. Or... not... The worst that can happen is you
screw up a classroom full of future programmers, creating a warped vision that
GUIs can be fun and easy.
@mike
-----Original Message-----
From: Matthew Polack <[email protected]>
Sent: Tuesday, January 22, 2019 1:58 AM
To: [email protected]
Subject: [Tutor] Recommended Resurce or strategy for beginning students
Hi All,
In our growing school we're teaching Python programming for the first time as
an elective subject with Year 9 and 10 students. (Had a dabble at this last
year with 3 students in Year 11)
I'm wondering what specific resource or stategy people would recommend for
absolute beginners?
ie. a course or program, book,...set of activities to follow that strategically
introduces and develops key skills.
At this age level I don't think we need to be achieving 'rocket science'..but
rather giving the students a good solid introduction.
Some of the leadership wanted me to use this programming in combination with
building robots...I've even wondered whether this is trying to achieve too many
things...and we're better off focused on programming itself... but am open to
this idea too...
I've had a play with using the excellent PySimpleGUI...which is an excellent
resource for building a GUI...but I've realised before doing too much of this
we might need to get a grip on core fundamentals....
The challenge is trying to find a way to making this 'fun' for students whilst
also having them genuinely learn rather than just 'copying pasting'
code...achieving something that looks good...but not really understanding what
they are doing.
So far my strategy will be:
1.) Establish some core basics(utlising some form of 'course',,,which goes
through basics of syntax..variables...loops etc. utilising just raw
code...(probably a simple 'Adventure Game')
2.) Build some simple programs using PySimple GUi..eg. Some quiz games etc.
(there are some great examples on Github by another teacher and also the author
Mike of PySimpleGUI.
3.) Possibly explore robotics.
Can anyone make any recommendations on either resources or teaching/learning
strategy/curriculum.
Thank you,
Matt
Matthew Polack | Teacher
[image: Emailbanner3.png]
Trinity Drive | PO Box 822
Horsham Victoria 3402
p. 03 5382 2529 m. 0402456854
e. [email protected]
w. www.htlc.vic.edu.au
--
**Disclaimer: *Whilst every attempt has been made to ensure that material
contained in this email is free from computer viruses or other defects, the
attached files are provided, and may only be used, on the basis that the user
assumes all responsibility for use of the material transmitted. This email is
intended only for the use of the individual or entity named above and may
contain information that is confidential and privileged. If you are not the
intended recipient, please note that any dissemination, distribution or copying
of this email is strictly prohibited. If you have received this email in error,
please notify us immediately by return email or telephone +61 3 5382 2529** and
destroy the original message.*
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor