The first official week of classes has now come and gone. I’m currently enrolled in Discrete Mathematics for Computer Science and Intensive Introduction to Computer Science. The math class got off to a running start with propositional, predicate, and quantificational logic as well as proofs, number theory and modular arithmetic. CS so far is just scratching (pun intended, you’ll see…) the surface, as its positioned for an audience potentially less familiar with programming than I currently am (and far wider than the math class). The first assignment was to create something in Scratch. I haven’t completed it yet, but when I do I’ll probably link to it here.
Math as a programmer, programming as a… mather
Discrete math is already causing me to think a little differently about programming - and I can say very confidently that having years of software development experience is positively informing my approach to learning math “this time around” (I’ve dipped back into math a few times in my life).
Mathematics topics as simple as functions, arguments, variables and return values have a new framing for me now that I’ve used these concepts, practically, all day every day for years at work. Likewise, entrenching the rules of predicate logic and equivalences in my brain is giving me a slightly deeper and more fluent insight into conditionals in programming. Not that I’m necessarily doing anything different or would say I’ve learned anything new about control flow in programming - more that I’m seeing the regularly-used, higher-level abstractions as direct reflections of fundamental logical structures. There are whispers of bytecode evaporating off the screen now that I’m spending some of my waking hours thinking academically about manipulating atomic
0s. no difference).
On the logistical side, I’m finding it very effective and natural to read textbooks on an (newly-acquired!) iPad while taking reading notes on a physical notebook (or sometimes handwritten notes in an iPad app overlayed next to the text). For assignments, I’m using a powered, bluetooth stylus to do handwritten scratch-work on an infinite digital notebook iPad app. When it’s time to submit the work, I typeset in LaTeX, taking the opportunity to re-check my work and format it nicely.
I didn’t expect to find it so frictionless to do schooly-sorta-things on an iPad. The powered stylus makes a huge difference to handwriting legibility. And having infinite pages/space, clean, simple erasing, and access to many colors makes working out problems easy, flexible, intellectually-freeing and stimulating. It also removes a stress layer I didn’t know I had until it’d been negated: wasting paper. I realize now that I used to try to fit more, tinier writing on less pages so as to conserve paper and avoid having key points split across page-breaks.
I’ll stop myself there before I get any further bogged-down on logistics and the infinitely-entertaining musing-about-systems-around-my-points-of-focus, rather than focusing on the points of focus themselves.
I’m looking forward to getting into C programming as well as graphs and meatier proofs in discrete math. I’m particularly satisfied any time we’re able to derive something descriptive and interesting from foundational first-principles.
Any reader of this blog won’t be surprised by that fact about me…
See you here next time!