Last changed
28 Nov 2018 ............... Length about 1600 words (15,000 bytes).
(Document started on 25 Jan 2018.)
This is a WWW document maintained by
Steve Draper, installed at http://www.psy.gla.ac.uk/~steve/educ/curric.html.
You may copy it.
How to refer to it.
Web site logical path:
[www.psy.gla.ac.uk]
[~steve]
[Home]
[educ]
[this page]
Other related pages:
[Effect size]
[Invite to seminar]
[Educ. refs]
Linked circle of topics relevant to CCSE:
[Adey&Shayer]
[Papert's gears]
[Early play]
[spatial]
[curricula]
[methodology]
School curricula for HE subjects
By
Steve Draper,
Department of Psychology,
University of Glasgow.
If we were to agree that compSci should be taught in some form in schools,
then what kind of topics should it have?
Alternative preface
Adey & al. also did a project on cognitive acceleration for primary
schools — obviously with different materials.
Adey, P., Robertson, A. and Venville, G. (2002) "Effects of a
cognitive acceleration programme on Year 1 students"
British Journal of Educational Psychology vol.72 no.1 pp.1-25.
doi:10.1348/000709902158748
Again, their underlying idea is that the right curriculum for leading on to
physics, maths, (compSci) at age 16, or age 17-18 in HE is NOT those subjects'
contents BUT the cogAcc "CASE" materials.
I.e. presumably they would vote against the whole idea of the TeachCS courses,
or at least that this other regular school subject (CogAcc) would have a
bigger effect on success at compSci in HE, than CompSci in school would.
- The TeachCS pedagogical approach used by ECole
The overall structure of this seems to be 3-dimensional.
- SALs (significant aspects of learning):
- Understanding the world through computational thinking (pure science)
- Understanding and analysing the technology of computing
(Applied Science = Engineering)
- Creating: Designing, building and testing computing solutions
(Applied Science = Engineering)
- Themes
- Process
- Information
- Core Concepts
- Structuring processes
- Patterns in processes
- Structuring and manipulating information
- Computing systems.
- Preparation for later learning in the discipline
There are some results showing that some childhood
activities predict later success or failure at compSci and/or programming.
Main types:
- General cognitive acceleration.
Adey & Shayer
applied Piaget's theory to do "cognitive acceleration"
(basically bumping up secondary school children to the stage of Formal
Operations), and this showed a large, but not universal, effect of improving
later exam grades particularly in sciences.
It is a clear example of the possibility that preparing a learner for success
in a subject may NOT consist of teaching the subject.
- Hobby practice in advance.
As noted in the following section, work at CMU (Margolis & Fisher, 2002)
brought out how some
subjects in HE tacitly rely on large amounts of non-curriculum work in an area
e.g. reading novels for later EngLit classes; building constructor toys for
later MechEng. Specifically, the CMU compsci course at that time, relied on
the students having self-taught Unix and other things, so it didn't need to be
taught or supported by the course.
- More general predictors, for compSci / programming, of some childhood
favourite activities (reading, construction toys, ...).
- CMU ideas about the role of informal hobbies
The CMU anthro study implies lessons for any discipline, about whether to
presume that Ls come with a long history of hobby versions of the subject.
Ignoring this is to waste the time of Ls with such a history; to teach to it,
locks out Ls who don't have this background.
This is about disciplinary knowledge in advance but acquired
for fun, i.e. learned without a curriculum.
Margolis,J. & Fisher,A. (2002)
Unlocking the clubhouse: Women in computing
(MIT press) ISBN 0262133989
GU lib record=b2734515
[Gender gap in education. CMU study of women in computing.
Effect of different childhood out-of-school activities]
See also
www.cs.cmu.edu/afs/cs/project/gendergap/www/papers/
- Dijkstra's views on teaching computing
See this paper by Dijsktra:
On the cruelty of really teaching computing science
See my comments on its ideas:
xxxx
- Computational thinking
"Perhaps computational thinking is simply the thinking skills of computing
science that can be transferred to other disciplines."
What is computational thinking?
- Not the core concepts of HE compSci, but the thinking skills?
- Thinking skills that apply to both programming and to aspects of the
world e.g. work flow?
- Or just being able to describe process rather than knowledge, appearance;
and the phenomena and everyday cases that come with that. [Papert argues this
in Mindstorms.]
- Denning rebuts the idea that CT causes programming ability.
- CT is no more fundamental than other kinds of thinking
- Human step-by-step thinking is not CT unless every
step is machine-executable.
(But it may still help us design our human program even if the steps are
different steps to current machine steps?)
- CT applies to more than just computer programs
BUT computer program design requires more knowledge than just CT.
That is the nature of abstraction: they apply more widely BUT they ignore
many details which are essential to solving the problem in each context.
- Programming and CT are overlapping sets; neither one is a subset of the
other. The same is true of pure and applied science.
- Wohl related issues
His 3:
- Computational thinking,
- Digital literacy;
- The digital economy
- Eternal core concepts from the total discipline
(and from what is taught in HE programmes)
- As in Paul Nurse's 5 key concepts in Biology: deep reflection in a
discipline on what concepts have been and still are key ones; both in history
and in stating core concepts.
- The cell. The basic atom of life: all life is made of cells,
which are both the structural and functional basic units.
- The gene. Basic unit of inheritance; and some non-obvious
properties e.g. recessive genes. Mendel rediscovered by 3 or more
groups around 1900.
- Evolution by natural selection. (Darwin published 3 years after
Mendel's work was, but didn't know it.)
- Life evolves i.e. changes.
- The mechanism leading to adaptation is natural selection.
[Can't have NatSelection without cells and genes; so intellectually,
genes precede evolution.]
My own points on Darwin's theory:
The current form of a species depends on:
- Degree of adaptedness;
- Competition and w.r.t. what. If monopoly then no great
adaptedness, functionality.
- History: what you inherited regardless of its suitability to
the current challenges.
[DNA is not seen as a key concept in this list.]
- Life as / IS chemistry (i.e. materialism, not vitalism with
life as a distinct kind of thing).
Each cell has about 100,000 different chemical reactions going on
simultaneously.
- Information and systems perspective. This 5th key concept is
still crystalising out of current thought. Developing an account of
biology in terms of the management of information, and of systems.
- What we used in Quintin's new business course as a framework:
- Sorting / searching (better than printed paper with 1 fixed sort
order)
- Data storage, memory, cloud, databases. Big data. Data fortresses
for strong confidentiality (privacy).
- Connection. Internet and WWW, not unlinked desk top computers. Dbs
plus internet => call centres.
- Processing, speed, Moore's law
- HCI / UID
- New AI = deep machine learning. Long history but only now (2017) the
technology to do it big time and routinely, because now we have big data and
big computational processing power for the neural net learning.
- ?Graphics: Long history of dev. Each advance in UIDs tends to
require new graphics to enable it. (Same has been argued for VGames.) →
Is this the same as HCI? Should this include other sensors e.g. GPS,
thumbprint readers, ...
- Big (new) comp. topics that I missed
- Information in physics. Information as a "physical" thing.
- DNA computing
- Quantum computing
- Hinton's "deep learning". And its relationship (if any) to the new "AI"
machine learning.
- Big (new) issues for school curricula
- Why should compSci be in primary schools more than any other questions?
It is at most just another discipline.
Compared to: reading, writing, arithmetic.
And compared to advanced communication skills?
Or creativity?
- The essence of programming skill /knowledge
These are my own idea of the essence of progging to take away for future
general use.
Metacognitive skills
1. Debugging. You will always succeed, always after 3 times as much time
as you calculated; except in the (rather few) cases where what you wanted is
impossible for anyone to program or any machine to compute i.e. your goal or
requirements are what is wrong and must be changed or abandoned.
2. How to pick a project of the right type and right size to use to teach
yourself (e.g. a new progLang).
Problem ↔ programming solutions structures /
schemas / frameworks / (mega-) patterns
3. How to think – separately – in programming about:
- Sequence-centered problems / solutions
- String and data-record processing. One-pass processing of data
streams, mostly textual not numeric.
- Data-centric [Michael Jackson as well as one side of OOP]. Design the
data (types), and secondarily attach functions to them.
- ?Function-centric? Design the functions (procedures), and attach bits
of data secondarily.
- Objects as things with independent timelines; separate threads exec in
parallel. Design independent parallel execution, and other things
secondarily.
- "Whenever" commands: p-rules as endless parallel daemons or
interrupts; — independent condition-action rules,
- List processing (LISP)
- Errors: tests and err-messages to catch errors in a way useful to the
human user / programmer.
Design around the human operator and how to keep them best able to keep the
underlying work under way.
- DWIM. In natLang; in quite a few current UIs; could say, in
google/IR; plus the cost underneath, and intermittent breakdowns.
- Practical IT use here and now, including "hygiene"
Like schools teach bits on the Highway Code; Anti-bullying; Safe sex.
Variant
Should / could introduce to the kids a number of:
- Generic application programs e.g. spreadsheets;
- Specific programs i.e. custom software.
And for each:
- Get them familiar with using it successfully.
- Get them familiar with what happens when various things break
(storage, speed, web access).
- Get them familiar with how to fix these breakdowns.
This is simultaneously:
- Immediately useful training (each could be useful at domestic IT in
advance of common knowledge).
- And how to firefight problems that really happen domestically
- And grasp ≈ 5 key and pervasive comp. ideas (storage, networks, ....)
I.e. we could combine [B2] and [D].
- IT practical skills: WP, Spreadsheets, web searching ...
Basic useful skills, like writing (in various genres; and for widely different
purposes).
- The differences amongst these are about the issue of foundations
vs. preparations.
- Foundations vs. preparations
- Concepts vs. skills
- Science/maths (if any) vs. engineering.
- Eternal truths vs. pragmatic solutions that shift with the context,
enviroment, problem.
- Is education different now?
Thomas,Douglas & Brown,J.S. (2011) A new culture of learning: Cultivating the
imagination for a world of constant change (No publisher: sold by Amazon
only) [only about 120 small pages] ISBN 978-1456458881
GU lib. record=b2937259 [social collective learning]
This book generally tries to analyse how education and learning is different
now in the age of huge information online, and social media.
- It does use Scratch as a positive example of learning.
- It does tell approvingly of a professional programmer teaching
themselves each new programming language entirely by writing code and using
Google on problems and bugs.
- It sees the web, and particularly forums for programmers, as an example of
peer interaction and reciprodal learning support.
Web site logical path:
[www.psy.gla.ac.uk]
[~steve]
[educ]
[this page]
[Top of this page]