We’ve known for a long time, here in the Silicon Forest, that high school maths (using the UK’s plural form) needs to converge with coding, as in computer programming. Below, we see what that looks like learning Julia:
Allen B. Downey, a co-author of Think Julia, is likewise an author of Think Python. It’s not either or with these languages, plus we’re allowed to dabble without committing to attaining mastery. “Try before you buy” is a good policy more generally, i.e. curricula need their intro versions, with further ladder rungs for those choosing (voluntarily) to climb.
If you’re already convinced by the Oregon Curriculum Network approach, one of many, then you already know about our focus on the Crystal Ball Sequence, which relates to the animated GIF below:
This is the sequence we’re implementing in the Julia language in Figure 1. There’s the nuclear ball, then 12 around it, then a layer of 42, then another layer (of 92) and so on. You’ll find it listed in the Online Encyclopedia of Integer Sequences (OEIS) as A005901 (you’ll see my name in the links section) but that’s not yet the sequence in question. The Crystal Ball Sequence (CBS) is the cumulative version, i.e. 1, 13, 55, 147… per the numbers printed in the REPL (explained below).
The CBS describes a growing ball packing pattern known as the CCP to crystallographers, among others into STEM.
Lets define our acronyms before going further, to remove ambiguity:
CCP = Cubic Close Packing (a specific dense packing of balls)
CBS = Crystal Ball Sequence (1, 13, 55, 147…)
REPL = Read Evaluate Print Loop (conversational shell)
STEM = Science, Technology, Engineering and Mathematics
OCN = Oregon Curriculum Network
When learning Python or Julia or other interactive language, you have the benefit of a REPL, meaning a place to enter expressions and/or statements at a prompt, to get results. Not every language comes equipped with such a console. Python and Julia both do, and as such, are also suitable for interactive use…