The decision to use a particular programming language for instruction is enormously important. I generated the following list of reasons for teaching a preferred programming language. After making the list, I was going to preface it with the caveat, “in no particular order”, but I hate cop-outs. I gave my best shot at prioritizing the reasons that have been most buy online cialis important to me. Some or most reasons might be logically subsumed under buy generic cialis the first or another reason, but I wanted the list to be explicit. I am not sure that any one reason is either necessary or sufficient in itself.
- The language is in the best interests of the student. (Administrators: take note!)
- The language is in the best interests of the teacher. (Teachers: take note!)
- The language is “fun”. (This is really important, but “fun” is more about the learner and less about the language.)
- Paradigms supported by the language are broadly generic and transfer well to other knowledge domains. (High school programming is a means to broader ends.)
- The language has sufficient depth to support extensive student learning. (A new language should not have to be learned to learn new and worthy paradigms.)
- Accessible teacher professional development in the language is available.
- Accessible bodies of mutually supportive teaching colleagues are available. (The teacher needs technical support to implement the language in the classroom.)
- Accessible bodies of mutually supportive student learners are available. (The power of a peer group is typically greater than parental authority!)
- The language optimizes time spent by students in learning the syntax of the language.
- The language optimizes time spent by students in learning concepts with the language.
- The language optimizes time spent by the teacher (as student) in learning to program with the language.
- The language optimizes time spent by the teacher (as teacher) in learning to teach with the language.
- A critical mass of learning resources has been identified. (Exotic languages with few learning resources can waste a lot of time on mechanics and syntax.)
- Advanced credit is earned at post-secondary institutions.
- Advanced standing is recognized at post-secondary institutions.
- The language is accepted by computing competitions such as the Canadian Computer Competition, USACO and buy online cialis TopCoder. (Contests motivate big time!)
- The language is used extensively in industry. (Many place this sort of relevancy to the “real world” much higher on this list, but it is presumptuous to assert that any language will ensure employment years into the future.)
- Costs of textbooks and other supporting resources are affordable.
- The language is inexpensive or free to acquire.
There is a broad though by no means unanimous acceptance today that Java is the defacto recommended programming language of instruction used in North America generally and Alberta specifically. Historically, when I consider the languages that I taught with in Calgary high schools, this status has belonged very approximately to BASIC (1978-1984), Pascal (1982-1998), C++ (1995-2003), and Java (2001-present). The years overlap because I would begin a new language http://pharmacycanadian-onlinein.com/ with my grade tens while finishing a current language with my grade 11 and 12 students. In the 1980’s I also encouraged students to experiment with APL, Fortran and LISP. We had fun with Logo too. In recent years I experimented with Scheme and most recently Alice. So why is Java now Alberta’s “preferred” programming language of instruction in Alberta? It is “fun” to program in Java! I insist that “fun” is a direct function of the learner, but such attitudes are bolstered or suppressed by artifacts of learning such as hardware (fast, reliable), interface (graphical, intuitive), purpose (utility, entertainment) and degree that others deem it to be “socially redeeming”. I can now reveal that my students often told me that did their Java “homework” in other classes because it was more enjoyable. I hasten to admit that such statements will vary by student, that some students preferred poetry, others doing mathematics, yet others playing football. My students preferred programming … in Java as it happened since 2001. For many teachers, the most compelling reason at this point in time is that Java is the mandated language of examination for Computer Science curricula of both Advanced Placement and the International Baccalaureate Organization. This single fact has compelling implications and ramifications for teaching high school Computer Science. Foremost for me, it means that teachers from all over North America (AP) and the world (IBO) are addressing learning of content, content that is similar or identical to content that I address with my students. ( Not Finished … to be continued later!)Share