
I turned down a $600/day 3 day gig I might not have got anyway, because the textbook goes twelve chapters with no 'class' keyword, and that would define the full complement of our topics. My code of conduct forbids teaching Python that way. The whole point of OOP was here's a way we think in natural language: about Things with properties and behaviors. Maybe some people don't like to be "objectified" and it's true, that can mean something bad, but in the context of the Django ORM, it means an integrated object has the records. The patient, the athlete, the student object, comes with a medical history. Lots of SQL behind the scenes. Rollicking good debate over on math-teach as we exult over the huge numbers turning out to take AP CS.[1] The Learn to Code movement is succeeding, has gained traction. The Coding with Kids that I work for has likewise spread to several more cities, and any successful business model attracts imitators (CwK has a great website for faculty, lets us track everything, including our hours). Is code school the new high school? https://medium.com/@kirbyurner/the-plight-of-high-school-math-teachers-c0faf... (an essay coming up on its first anniversary) The $600/day gig was teaching adults (andragogy vs pedagogy), over the wire, which is how I've been making ends meet. Unfortunately for me, a truck pulled up across the street and started moving wires from pole A (the old one) to pole B (the new one) and wouldn't ya know, my Internet, which goes right through there, cut out. The crew said "not us" (what are the chances?) and took off. CenturyLink is coming tomorrow, but will they have a long enough ladder? I've gotta do my wind-up session 10 of 10 for the Californians. Patrick offered me his office (Comcast). I'm tethered to Internet through my cell phone as I write this (not enough bandwidth for live screen and audio though). We introduce Python classes early because that's the promise of OOP. To sucker for that "ontogeny recapitulates phylogeny" thesis, that we need to slog through a whole semester of procedural programming, before we make a single instance of something, is impossible in practice, at least in Python, as just about everything one touches is an instance of something. This textbook seems to hearken from that era (fortunately receding in the rear view mirror). You'd think in Java at least it'd be classes right out of the gate as one can't but extend a class to get anything done. Python's the same way of course; I think of functions as another type, canned (built-in), with their own syntax, but an instance of the FunctionType nonetheless. Out here in Code School world, the pressure is on to teach Python in two main ways: as a web development language, using projects like Flask and Django, and as a Data Science tool, using pandas, numpy, Jupyter Notebooks and mathplotlib -- but then when it comes to visualization tools, there's a plethora of 2D options. Great talk on this at Pycon2017. I've always been more a 3D guy myself, writing to POV-Ray and later Visual Python. I had a good experience getting vpython over anaconda and embedding same in a Notebook, but that was a while ago. No one pays me for 3D stuff. Maybe we should learn to do stats that way, using more 3D models than we do. Fly through. Not just physics should have all the fun. As it is it seems precious few physics teachers take the "coding a physics engine" approach. Maybe Carnegie Mellon? I'm far from omniscient. Hey, TinkerCAD is loads of fun for simulating an Arduino, a great sandbox if you don't have all the components. I've made some screencasts showing that. [2] The Learn to Code movement is having a big impact, to summarize. Kirby [1] http://mathforum.org/kb/thread.jspa?threadID=2870615 [2] https://youtu.be/AB7fzNK6vjs

On Monday, July 24, 2017, kirby urner <kirby.urner@gmail.com> wrote:
I turned down a $600/day 3 day gig I might not have got anyway, because the textbook goes twelve chapters with no 'class' keyword, and that would define the full complement of our topics. My code of conduct forbids teaching Python that way.
+1. - "Namespaces are one honking great idea -- let's do more of those!" - Classes are dicts with MRO. https://en.wikipedia.org/wiki/C3_linearization#Example_demonstrated_in_Pytho...
The whole point of OOP was here's a way we think in natural language: about Things with properties and behaviors.
Maybe 'classes and instance of classes'. class Book(object): pass; book_instance = Book()
Maybe some people don't like to be "objectified" and it's true, that can mean something bad, but in the context of the Django ORM, it means an integrated object has the records.
ActiveRecord and DataMapper are both popular ORM patterns. From https://wrdrd.github.io/docs/consulting/knowledge-engineering#object-relatio... : Object Relational Mapping⬅ Wikipedia: https://en.wikipedia.org/wiki/Object-relational_mapping - https://en.wikipedia.org/wiki/Data_mapper_pattern - https://en.wikipedia.org/wiki/Active_record_pattern https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch - https://en.wikipedia.org/wiki/List_of_object-relational_mapping_software
The patient, the athlete, the student object, comes with a medical history. Lots of SQL behind the scenes.
Medical history as a schema / informatics example and Python: - GNUhealth - (an actual application (with an install procedure and/or just Docker) with example/test data) - https://en.wikibooks.org/wiki/GNU_Health/Different_ways_to_test_GNU_Health#O... - https://hub.docker.com/r/mbsolutions/postgres-gnuhealth/~/dockerfile/ - https://en.wikibooks.org/wiki/GNU_Health/The_Demo_database - https://hg.savannah.gnu.org/hgweb/health/file/tip/tryton/backend/fhir/server... - lots of XML (which can be digitally signed) - lots of boilerplate - (this is in the the server API) Normalization to records (rows) with fields (columns) and keys (identity) AND/OR Denormalization to composed, often nested, signable records (See: JSONLD, ld-signatures, blockcerts)
Rollicking good debate over on math-teach as we exult over the huge numbers turning out to take AP CS.[1] The Learn to Code movement is succeeding, has gained traction. The Coding with Kids that I work for has likewise spread to several more cities, and any successful business model attracts imitators (CwK has a great website for faculty, lets us track everything, including our hours). Is code school the new high school?
https://medium.com/@kirbyurner/the-plight-of-high-school- math-teachers-c0faf0a6efe6 (an essay coming up on its first anniversary)
The $600/day gig was teaching adults (andragogy vs pedagogy), over the wire, which is how I've been making ends meet.
Unfortunately for me, a truck pulled up across the street and started moving wires from pole A (the old one) to pole B (the new one) and wouldn't ya know, my Internet, which goes right through there, cut out.
The crew said "not us" (what are the chances?) and took off. CenturyLink is coming tomorrow, but will they have a long enough ladder? I've gotta do my wind-up session 10 of 10 for the Californians. Patrick offered me his office (Comcast). I'm tethered to Internet through my cell phone as I write this (not enough bandwidth for live screen and audio though).
We introduce Python classes early because that's the promise of OOP.
We could start with import unittest class Shape(): class Square(): class Rectangle(): class Triangle(): # def area(*args, **kwargs): # def circumference(*args, **kwargs): ... https://westurner.github.io/2016/10/17/teaching-test-driven-development-firs...
To sucker for that "ontogeny recapitulates phylogeny" thesis, that we need to slog through a whole semester of procedural programming, before we make a single instance of something, is impossible in practice, at least in Python, as just about everything one touches is an instance of something. This textbook seems to hearken from that era (fortunately receding in the rear view mirror).
You'd think in Java at least it'd be classes right out of the gate as one can't but extend a class to get anything done.
Python's the same way of course; I think of functions as another type, canned (built-in), with their own syntax, but an instance of the FunctionType nonetheless.
FunctionType type annotation: https://github.com/python/typeshed/blob/1e04a8c1b8b2c7a1fc3d9fcfbc2d3d8ba2dc...
Out here in Code School world, the pressure is on to teach Python in two main ways: as a web development language, using projects like Flask and Django, and as a Data Science tool, using pandas, numpy, Jupyter Notebooks and mathplotlib -- but then when it comes to visualization tools, there's a plethora of 2D options. Great talk on this at Pycon2017.
Mayavi (VTK), Blender
I've always been more a 3D guy myself, writing to POV-Ray and later Visual Python. I had a good experience getting vpython over anaconda and embedding same in a Notebook, but that was a while ago. No one pays me for 3D stuff.
http://holoviews.org/ (Bokeh, Matplotlib, Plotly)
Maybe we should learn to do stats that way, using more 3D models than we do. Fly through.
We manage to understand so much about data through 2D (+time) visualizations that don't have 3D camera and viewport parameters to just reset to the best view. That said, these 3Blue1Brown professionally animated math videos are outstanding (and sponsored!): https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
Not just physics should have all the fun. As it is it seems precious few physics teachers take the "coding a physics engine" approach. Maybe Carnegie Mellon? I'm far from omniscient.
https://en.wikipedia.org/wiki/General_relativity#Relationship_with_quantum_t... - /search computational physics and python - /search physics simulation and python - http://vpython.org/ - https://docs.blender.org/manual/en/dev/physics/ - Are there other good tools in {Python,} for evaluating complex systems at a point in time? (I think we've had a similar discussion in the past.)
Hey, TinkerCAD is loads of fun for simulating an Arduino, a great sandbox if you don't have all the components. I've made some screencasts showing that. [2]
Recently, I learned about LeoCAD (because LEGOs and a bricklayer.org presentation): https://github.com/westurner/wiki/wiki/bricklayer#bricklayer-jupyter-extensi...
The Learn to Code movement is having a big impact, to summarize.
"Nine Policy Ideas to Make Computer Science Fundamental to K-12 Education" https://code.org/files/Making_CS_Fundamental.pdf
Kirby

On Tue, Jul 25, 2017 at 11:03 AM, Wes Turner <wes.turner@gmail.com> wrote:
On Monday, July 24, 2017, kirby urner <kirby.urner@gmail.com> wrote:
I turned down a $600/day 3 day gig I might not have got anyway, because the textbook goes twelve chapters with no 'class' keyword, and that would define the full complement of our topics. My code of conduct forbids teaching Python that way.
+1. - "Namespaces are one honking great idea -- let's do more of those!" - Classes are dicts with MRO. https://en.wikipedia.org/ wiki/C3_linearization#Example_demonstrated_in_Python
The whole point of OOP was here's a way we think in natural language: about Things with properties and behaviors.
Maybe 'classes and instance of classes'. class Book(object): pass; book_instance = Book()
Maybe some people don't like to be "objectified" and it's true, that can mean something bad, but in the context of the Django ORM, it means an integrated object has the records.
ActiveRecord and DataMapper are both popular ORM patterns.
From https://wrdrd.github.io/docs/consulting/knowledge- engineering#object-relational-mapping :
Object Relational Mapping⬅ Wikipedia: https://en.wikipedia.org/wiki/Object-relational_mapping - https://en.wikipedia.org/wiki/Data_mapper_pattern - https://en.wikipedia.org/wiki/Active_record_pattern
https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch - https://en.wikipedia.org/wiki/List_of_object-relational_mapping_software
The patient, the athlete, the student object, comes with a medical history. Lots of SQL behind the scenes.
Medical history as a schema / informatics example and Python: - GNUhealth - (an actual application (with an install procedure and/or just Docker) with example/test data) - https://en.wikibooks.org/ wiki/GNU_Health/Different_ways_to_test_GNU_Health# Option_4:_Run_GNU_Health_from_Docker_.28Lightweight_Containers.29 - https://hub.docker.com/r/mbsolutions/postgres-gnuhealth/~/dockerfile/
- https://en.wikibooks.org/wiki/GNU_Health/The_Demo_database - https://hg.savannah.gnu.org/hgweb/health/file/tip/tryton/ backend/fhir/server/fhir/patient.py - lots of XML (which can be digitally signed) - lots of boilerplate - (this is in the the server API)
Normalization to records (rows) with fields (columns) and keys (identity) AND/OR Denormalization to composed, often nested, signable records (See: JSONLD, ld-signatures, blockcerts)
Rollicking good debate over on math-teach as we exult over the huge numbers turning out to take AP CS.[1] The Learn to Code movement is succeeding, has gained traction. The Coding with Kids that I work for has likewise spread to several more cities, and any successful business model attracts imitators (CwK has a great website for faculty, lets us track everything, including our hours). Is code school the new high school?
https://medium.com/@kirbyurner/the-plight-of-high-school-mat h-teachers-c0faf0a6efe6 (an essay coming up on its first anniversary)
The $600/day gig was teaching adults (andragogy vs pedagogy), over the wire, which is how I've been making ends meet.
Unfortunately for me, a truck pulled up across the street and started moving wires from pole A (the old one) to pole B (the new one) and wouldn't ya know, my Internet, which goes right through there, cut out.
The crew said "not us" (what are the chances?) and took off. CenturyLink is coming tomorrow, but will they have a long enough ladder? I've gotta do my wind-up session 10 of 10 for the Californians. Patrick offered me his office (Comcast). I'm tethered to Internet through my cell phone as I write this (not enough bandwidth for live screen and audio though).
We introduce Python classes early because that's the promise of OOP.
We could start with
import unittest class Shape(): class Square(): class Rectangle(): class Triangle(): # def area(*args, **kwargs): # def circumference(*args, **kwargs):
... https://westurner.github.io/2016/10/17/teaching-test- driven-development-first.html
To sucker for that "ontogeny recapitulates phylogeny" thesis, that we need to slog through a whole semester of procedural programming, before we make a single instance of something, is impossible in practice, at least in Python, as just about everything one touches is an instance of something. This textbook seems to hearken from that era (fortunately receding in the rear view mirror).
You'd think in Java at least it'd be classes right out of the gate as one can't but extend a class to get anything done.
Python's the same way of course; I think of functions as another type, canned (built-in), with their own syntax, but an instance of the FunctionType nonetheless.
FunctionType type annotation: https://github.com/python/typeshed/blob/1e04a8c1b8b2c7a1fc3d9fcfbc2d3d 8ba2dc933a/stdlib/3/types.pyi#L25
Out here in Code School world, the pressure is on to teach Python in two main ways: as a web development language, using projects like Flask and Django, and as a Data Science tool, using pandas, numpy, Jupyter Notebooks and mathplotlib -- but then when it comes to visualization tools, there's a plethora of 2D options. Great talk on this at Pycon2017.
Mayavi (VTK), Blender
I've always been more a 3D guy myself, writing to POV-Ray and later Visual Python. I had a good experience getting vpython over anaconda and embedding same in a Notebook, but that was a while ago. No one pays me for 3D stuff.
http://holoviews.org/ (Bokeh, Matplotlib, Plotly)
Maybe we should learn to do stats that way, using more 3D models than we do. Fly through.
We manage to understand so much about data through 2D (+time) visualizations that don't have 3D camera and viewport parameters to just reset to the best view.
That said, these 3Blue1Brown professionally animated math videos are outstanding (and sponsored!): https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
Not just physics should have all the fun. As it is it seems precious few physics teachers take the "coding a physics engine" approach. Maybe Carnegie Mellon? I'm far from omniscient.
https://en.wikipedia.org/wiki/General_relativity# Relationship_with_quantum_theory
- /search computational physics and python - /search physics simulation and python
- http://vpython.org/ - https://docs.blender.org/manual/en/dev/physics/
- Are there other good tools in {Python,} for evaluating complex systems at a point in time? (I think we've had a similar discussion in the past.)
A moving object with a headlight is traveling at velocity v. Is it v+c, or just c? #DefiningTheProblem #LIGO
Hey, TinkerCAD is loads of fun for simulating an Arduino, a great sandbox if you don't have all the components. I've made some screencasts showing that. [2]
Recently, I learned about LeoCAD (because LEGOs and a bricklayer.org presentation): https://github.com/westurner/wiki/wiki/bricklayer# bricklayer-jupyter-extension
The Learn to Code movement is having a big impact, to summarize.
"Nine Policy Ideas to Make Computer Science Fundamental to K-12 Education" https://code.org/files/Making_CS_Fundamental.pdf
Kirby
participants (2)
-
kirby urner
-
Wes Turner