The Problem of Tool Boxes without Context

On one side was the computer science movement, structured programming, program production, and everything we teach (mostly badly though there are efforts to help that) now..The other side is best represented by Peter Naur of whom is said:Contrary to most of his colleagues who were heavily defending (and quarreling about) specific language features, Peter put his efforts into meta considerations.It is this sentence which also best summarizes the current plight of data science, information science, and computing to this day..Academic programs fret heavily over what techniques to include, what type of statistics to instruct, what languages to include; yet, I find most programs (including my own as well as my PhD Program) tend to send all meta considerations to one course — the social science course.The course I am about to teach..Over the course of the semester, i’ll be writing about this process and hopefully, i’ll find more than powerlessness and frustration..This entry focuses on meta-considerations about the place of programming itself.There seems to be a mismatch within programming related to Naur’s initial existence as a meta-consideration for the purpose of programming..He outlines the theory building view of programming:“The programmer having the theory of the program can explain how the solution relates tot he affairs of the world that it helps to handle.”“The programmer having the theory of the program can explain why each part of the program is what it is, in other words is able to support the actual program text with a justification of some sort.”“The programmer having the theory of the program is able to respond constructively to any demand for a modification of the program so as to support the affairs of the world in a new manner.”Within this conceptualization of programming, the programmer / programming team, has constructed a program not because it was convenient, but because they had a theory of the world through which a computer program could help..Sadly, this view of computer science was quickly overwhelmed by the structured approach.In this approach, it has been the primary consideration of minimizing a ratio of cost to performance..In other words, we seek to construct programs that cost as little as possible to the maximum benefit of…whoever funded it..Under the auspices of this approach, we have managed to organize complexity within computation quite effectively but much of that organization is hidden which leaves little to discuss besides consequences..For academic programs that seek to offer programs in “data science” or “information science” or “analytics,” much of the teaching those programs will do comes in the form of:Teaching how production works.Teaching how to become part of a production team.Giving students as many current (or near current) tools as possible to do the above two items (e.g. machine learning techniques, current programming languages, current statistical trends, etc…).As a result, we favor program production and team-based production using methods internally created for programs created at bottom dollar for maximum return..In essence, practical considerations rather than theoretical considerations have come to dominate the space..This is not a surprise given the events surrounding the birth and spread of the technology itself.However, the result of that development is that any academic program reflects those aspects of computational culture and the resulting gulf of production and theory has only widened to the point wherein all those not part of the industry can only theorize about the consequences of such programs.By the time many of us are done in our data science program, we have a well-formed toolbox with outlines for as many tools as we can fit inside of 2–6 years of courses.. More details

Leave a Reply