In a reality and society that are predicated and empowered by numbers, logic, and their interactions, it is enticing to the explorer to research and learn these domains of knowledge and practice. By learning to program I expect to discover many unknown unknowns. By learning to program I also hope to discover an appreciation for logical hierarchies that combine into interactive meaning; to entertain the capacity for digital creations; and to acquire the tools for leveraging the massive data that emanates from science and communication.
Practical details and information
It is helpful to see another’s journey, where they started, and how they walked, in order to customize and design one’s own journey.
I have made early forays towards these dreams. Practically (and personally) I had begun with a strong familiarity (yet negligible expertise) in programming, having been taught Visual Basic at school, then picking up some HTML, CSS and a modicum of Javascript too. I introduced myself to Python with an online introductory course (Codecademy) that introduced the primary and skeletal units of Python programming to me. This course was only very introductory, yet I have many complimentary opinions on it. The course recommends itself for over 15hrs, which sounds right.
After that first course, I moved onto a harder, albeit still introductory, online course (LPTHW).
Overlapping with the second course, I played around with simple challenges online (Prolog).
Early levels of the Python journey
The travelling journey is a composition, a matrix or deep array, and a compendium of entries. The journey is a composition of all those focuses and challenges and experiences we encounter. It is a great index of interests, each sublisting its own particulars. It is an encyclopedia by an author who is forever flipping the folios back and forth to add more details and paragraphs and great discoveries.
Every thing that we explore appears manifested by an unending progression of levels, each one separated by a critical point of understanding, and each one an enlightenment to its precursor. These can feel like sudden breakthroughs, whereupon entire vistas, ripe for exploration, enter our view. A model for this is easily apparent when we initiate ourselves into a new subject or activity – we discover that what we thought was a simple appearance is composed of complexities whose delineations and designations could not have been predicted. So too when we become familiar with a new level of complexity in our ongoing explorations, sometimes discovering a new facet with holistic implications, or by the coalescing of abstractions and relationships between those items that has previously been the sole players of our purpose.
The early levels of programming are too far behind me to be clearly described. No doubt they involve a familiarity with ubiquitous appearances (e.g. the use of characters and spaces), motifs (e.g. logical comparisons, variables) and methodologies (defined by low resolution, e.g. loops). Since I began with these already in place, my first levels involved a familiarity with the particular appearance of Python and manifestation of its motifs and methodologies. Thus I quickly adopted the precise way that Python expressed these features I had already once learned.
Soon enough a few tangent vistas opened up. These have included an awareness of the possibility for use of objects and classes; the breadth of tools available (even just) in common libraries; and the subtle power of particular functions, like yield
. Moving from one level (e.g. basic syntax) to others (e.g. library usage) can be experienced as some combination of vertigo, excitement, empowerment, and the change from a (relative) master’s security to a novice’s apprehension.