On a broader level, an overarching theme that I noticed throughout the reading was that computer science is an interdisciplinary field. Wing (2006) argues that students, teachers, and parents need to know that “one can major in computer science and do anything” (p. 35). Her reason for thinking this is that computational thinking is a way of analytical thinking that could yield solutions to problem in any discipline. Further, Evans (2011) argues that computer science has roots in engineering, hard science, and the liberal arts. It is intuitive to think of computer science as a form of engineering or science, but the link between computer science and liberal arts seemed less clear. However, Evans’ argument that computer science has strong connections to the Trivium and Quadrivium was quite compelling. These arguments re-framed the way that I viewed computer science.
I also really enjoyed the LinkedIn Learning course on programming. Davis’ (2019) analogy of programming being like a recipe was particularly insightful. While this course was helpful, I’ve been taking a course on LinkedIn Learning called PHP for WordPress by Casabona (2020) and I encountered a common theme that we’ve been discussing in this course: modularity. For this reason, I’ll focus on the PHP course. In the course, Casabona (2020) kept referencing functions that PHP has created. He then mentioned that WordPress built on the functions that PHP created to make functions that are useful to WordPress developers. When he said that, I immediately thought of this course. Irvine (n.d.) writes that modular designs are “conceptual models of systems with interconnected subcomponents that can be implemented in real constructed things” (p. 1). While a program isn’t exactly physical, PHP developers defined functions based on the existing subcomponents of the programming language. WordPress developers then expanded upon these functions to make certain tasks easier for theme developers. These layers of abstraction make it easier for new developers to perform certain functions. But, if developers need a function to do something that no predefined function can do, they can always create their own function using the subcomponents of PHP. This example wasn’t a part of our reading, but I found it really interesting that developers could collaborate and modify things using the predefined PHP functions in WordPress.
Casabona, J. (2020). PHP for WordPress. LinkedIn Learning. https://www.linkedin.com/learning-login/share?forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%2Fphp-for-wordpress%3Ftrk%3Dshare_ent_url&account=57879737.
Davis, A. (2019). Programming foundations: Fundamentals. LinkedIn Learning. https://www.linkedin.com/learning-login/share?forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%2Fprogramming-foundations-fundamentals-3%3Ftrk%3Dshare_ent_url&account=57879737.
Evans, D. (2011). Introduction to computing: Explorations in language, logic, and machines. http://computingbook.org/.
Irvine, M. (n.d.). Introducing modular design principles. Unpublished manuscript.
Wing, J.M. (March 2006). Computational thinking. Communications of the ACM, 49(3), 33-35.