foundersandcoders / a-pattern-language

A pattern language for teaching software
9 stars 1 forks source link

Research past application of pattern languages to education #3

Open bradreeder opened 7 years ago

bradreeder commented 7 years ago

A quick google search reveals that I'm not as novel as I thought and that others have attempted to apply the idea of design patterns and pattern languages to the design of curriculums:

https://en.wikipedia.org/wiki/Pedagogical_patterns

http://www.ascilite.org/conferences/perth04/procs/pdf/goodyear.pdf http://digitalcommons.usu.edu/cgi/viewcontent.cgi?article=1050&context=etd https://ajet.org.au/index.php/AJET/article/download/1344/714 http://www.networkedlearningconference.org.uk/past/nlc2004/proceedings/individual_papers/goodyear_et_al.htm

I will need to put this on the burner and research into what's been done:

YvesMuyaBenda commented 7 years ago

Hello!

Pattern languages were among the many randomish things I have looked at, out of curiosity, perhaps a relavant resource is the work of Joseph Bergin, who details patterns for teaching at the level of concepts: Now, from what I have read, this section of foundersandcoders is concerened with patterns at the level of curricular design, but my interest in pattern languages (and it was a quite loose and inexact interest) occured within a time when I was looking at forms of documentating my own self-teaching experiments, so as to make the experiments themselves more efficient, reproducible but also to be easily more recoverable; that is to say, my own focus where probably "patterns for teaching onself such and such"., and were For example, Zed Sahw provides a simple formula of "type it in and make it run", whereas a UBC course on software construction has "to understand code, model it using something like pseudocode, flow-chart. UML-diagrams". Similar to Feynman's, rough paraphrase " I only understand what I constructed", a formula occured to me, if one had a way of systematically constructing an algorithm, then one can reverse the process to understand a piece of code. For example, if the process were, describe the input and output data, write the specifications, from the specification construct examples, from the examples construct the tests, from all of the above write the pseudocode, and froma all that translate the pseudocode into code, then given a fragment of code, one would simply reverse the process and once this process is done be said to understand the code.

I should have some kind of point here, yes? I suppose that would be, from my own vague experiments at documentation, the attempt here to encode a curriculum intrigues me, and I look forward to see what happens. Wait, wait, there is a point: patterns for teaching how to code and patterns for learning how to code might be/should be mirror opposites!