This post is a request for pointers to the examples of really innovative/effective/different high school classes in Information Technology (IT/IPT) or Computer Science (CS). Even with just 10 days of prac teaching within a school setting, I can recognise the rationale and constraints that contribute to the use of the apparently typical curriculum. I would, however, like to break that mould and do something different. I’m assuming/hoping that I’m not the first and would like to benefit from the experience and ideas of others.
The rest of the post outlines the status quo I see, the rationale, and the examples I’ve found so far.
So far, all of the IT courses I’ve seen follow the same path. Students are introduced to project management, the software development life cycle (SDLC), a bit of artificial intelligence, creating a web page/site, database design and development and programming. The tools are usually the Microsoft suite, especially Access (for database) and Visual Basic (for programming).
The programming/database tasks are usually “pretend” systems. e.g. a local restaurant wants a system to take customer orders. Students are taught procedural programming using things like nassi-schneiderman diagrams etc.
I have a significant disbelief in the benefit of the SDLC and similarly with the traditional psuedo-code/nassi-schneiderman approach to teaching programming. I also think that “pretend” systems development where the teacher plays the role of client, project manager, user and teacher is less than ideal for giving students a taste of the real challenge and excitement of IT. Much of this distate arises from teaching first year programming at University level a few years ago and seeing first hand how such approach destroy the joy that is software development.
I also have an assignment in which I’m meant to design a unit plan that demonstrates effective integration of ICTs into teaching. I’m thinking of doing this around a senior IT class.
What I’ve found so far
Based on previous experience, I am aware of a number of approaches/tools that aim to make programming more interesting. I’m pretty sure that some of these will have been applied to high school classes. The list includes:
- Media computation – “a contextualized approach to introducing computing using a ubiquitous theme of manipulating media”.
- Simple programming languages/environments such as Squeak, Scratch and Alice
For more specific high school examples, I thought I’d start with a look at the websites/conferences of a couple of Australian professional associations (e.g. QSITE). Here’s what I found.
Apparently, at least in 2009, Education Queensland allowed high school teachers to host PHP/MySQL on its servers. There’s also a bit more on different tools, but not much that I could see (with a limited search) on pedagogy or approach.
A bit of a broader search doesn’t reveal a great deal..I’m obviously not looking in the right places.