By Adam Morris
I’m not new to teaching the International Baccalaureate (IB), but I am new to teaching Computer Science in general, and new to teaching the IB DP Computer Science course. It’s actually in an entirely different group than the one I have over 15+ experience in: Language B. I went from being a language teacher to a science teacher, and duly spent most of the summer developing something of a curriculum to last me a few months while I got some experience in an actual CS classroom.
I’m confident that I know the subject given my background in open source development, but I’m not confident when it comes to unpacking all the various requirements and expectations that comes along with any IB course: The Internal Assessment (IA), the objectives and which are covered on which captial-P Papers, this thing they call “pseudocode” (why can’t we just standardize on one actual language?), the history of the course itself, and its potential future (please don’t standardize on Java). And, as you can see, all of the conflicting feelings and thoughts that go along with having to digest all this.
So having a go-to group on my phone where I can ask questions and get real answers from real people is insanely valuable. As I said mid-way through a recent chat:
Who needs PD when you have a group like this?
I sat down one night at my favorite pizza joint, starting out fairly simply, with an esoteric question that only fellow IB geeks could immediately unpack:
For the IB CP IA, can the teacher also be the client?
You see, the secret to teaching the IB is to just keep reading the guide. Over and over. Fill yourself up with the vocabulary they use. Sure, there are textbooks and other support material out there. But the guide is the overwhelmingly best thing you can possibly do, but … you see … reading it is a chore. I mean, sure, one may be used to reading technical specifications and code up a solution based on it, but reading an IB guide is not specific, nor can you just dream up a solution and then implement it. Whatever understanding you reach by reading the guide has to survive first contact with the actual students who are in your charge. Experience tells me it whatever you planned rarely survives first contact with the students (and probably shouldn’t?).
The conversation continued for over 50 messages, most of it beyond the initial question. For example, I learned that it may be the case that most students who take the IB DP CS course are already fluent in a programming language when they start. For example:
kids coming in without prior programming experience are at a disadvantage with this course. Anecdotally, I would say it costs between 1 to 2 grade points (/7) for the whole course.
This is where I can make a strong link to teaching in Group 2. It’s not uncommon for students to take a course who already have a strong grasp of the target language, and that completely changes your teaching. It can impact the curriculum, teaching, pretty much anything. So the way I read that message is that perhaps this is similar in Computer Science. If most kids are entering it with lots of experience under their belt, then, over time, the curriculum is going to start getting harder.
Confirmed… I guess? by this additional tidbit:
According to the course I went on ‘the expected standard has risen’.
This was said in a different context, however, and was addressing more directly my initial question about the Internal Assessment (IA). We were talking about choices of programming frameworks that students might have in designing their product for their IA, which they’ll need to do to complete the coursework. I was asking about using “low-code” solutions that are available (also known as templated software), to which I was strongly advised to look away. Such software takes away some of the complexity with development, and thus students may not do well, as it isn’t complex enough (one of the criterion).
But it’s complicated. This perspective was particularly informative:
My trainer this year said most of the projects he has evaluated that use app inventor or similar tend to score very low on the complexity scale because students do little to no computational thinking themselves, but like tina mentioned, there are a few gems
So, basically, as long as the student is doing a lot of the heavy lifting, and can show his or her work, you can do well, no matter the framework used. Fascinating!
The reason I asked this question about the IA in the first place was because I have a number of projects which use one of these templating frameworks, called Google AppMaker. I’m also in a position of leadership and could ask students to design something our organization needs. This tool would be ideal because it would also ensure some long-term sustainability. That means I would be both the client and the teacher. Which, the group informs me, is a-ok, with a caveat:
Unless it changed in the last 3 years, Yes. I was a client three years ago.
I have been the client too once. I think the examiner feedback says every year that they discourage the IA being treated as an academic exercise set by the teacher
So, I’m good. I got the answer to my question. And learned so much more.
Welcome to the IB world of CS. 🙂 I have been lucky to be part of the IBCS program for 14 years. Started in 2000 and was teaching it until 2014. Have seen it grow and change lanes (in the attempt to figure out which group it fitted in) many times. If I remember correctly teacher being a client was sort of frowned upon given the bias. I had my kids choose external clients for all their IAs. Parents and fellow faculty members, usually, so that I can easily keep a tab on their work. Kept the experience authentic too since the idea was that said client would be actually using the end product.
Hope the IAs for this year are coming along well. Feel free to let me know if you need an additional pair of eyes or ears for the work. Happy to help if I can.
Shashi