At my current school site (high-school level, 14-18 year olds), I am the only full-time CS teacher. While I don't mind working on my own, there are occasions where I think that collaborating on lessons (or a small part of one lesson) with colleagues would be beneficial. One opportunity I'd like to explore further is interdepartmental collaboration.

As of yet, I'm not entirely sure of how this would look. I do think it would be possible to co-teach a lesson with a colleague from another department. Alternatively, it would be feasible to take the "guest speaker" approach and either visit a colleague's class or have a colleague visit mine. This at least creates content connections between curricula where relevant.

Are there concepts at the introductory or AP levels of high school computer science that are appropriate for or lend themselves to this kind of collaboration? What other disciplines are good fits for collaboration with CS, and where does CS expertise fit within them?

  • $\begingroup$ I alternate months (roughly) with another programming instructor, but yes, I would like to collaborate more widely also. I have helped in other programs of study by teaching Excel and Accounting basics. Hadn't thought of having someone else in my classroom... $\endgroup$
    – user737
    Jun 15, 2017 at 11:59

4 Answers 4


Some ideas to ruminate on.

With you as the guest in another department, thoughts are:

  • $\LaTeX$ presented to a writing class, preferably one where they've already had to submit three or more papers that were graded on presentation as well as English usage
  • Web design (for portfolio usage maybe) to any arts or photography class
  • Mathematica, if available, to any advanced mathematics or lab sciences class
  • SQL (any flavor) to any business-related classes, if any exist at your school

At these engagements you can show how the program can be used in real-world application to what they are learning, and/or be useful to them in their class now. Best of breed for that would be the use of $\LaTeX$ for the writing class - freeing them from formatting and presentation details to work on their writing skills

As a guest in the computer class, you could look for any instructors that rely on computer programs in their course material. Especially useful would be any that employ a program that is Free/OpenSource software. (If it is hosted on GitHub where they can also look at, that's even better.) A good candidate might be an art class that uses GIMP.

If you find a significant portion of your students have a common interest in another field, you could engage that department for a collaborator who can show how the computer is used in their field, even if it's not applied in the classroom itself. (Of course that could also include teaching those instructors as well, so that they are in a position to understand the tools at least as well and the students they teach.)

Lastly, to get things rolling, you could offer to do a session or two in another class to teach their students extra features of the Office software that they use, if any, with the students. Lab science classes probably need at least Excel for processing and presenting measurement data from experiments.

The first set of ideas is to present how the use of computers can help them now with their classwork. The second set is to show your students the application of what they are learning in your class to things they already know, or will be taking soon. The third set of ideas shows how computers are being used in the work-a-day world to make things easier, or better, in the field they are really interested in. The final idea is a method of beginning the idea of collaboration in your school before the other instructors realize it's even possible.

  • $\begingroup$ In addition to Gypsy's excellent suggestions, don't forget about history/social studies! Discussing some of the important developments in computing can benefit both disciplines. $\endgroup$
    – Ben I.
    Jun 15, 2017 at 12:20

Science classes would be my immediate thought, where data can be collected to support experimentation. The most obvious metrics being weather, sunlight, etc. for biology type things (not my subject, so I'm a bit weak on examples).

In physics, accurate timing and acceleration are easy to sample, so that can also be linked to experiments.

In design, you might collect and analyse strain data or measure force distribution.


If your kids can do web development - particularly programatic web development (say using something like flask, ruby on rails etc.) then an easy entry point is with history or social studies or even English - instead of having the kid do a 10 page paper on blah blah blah, have them make a web presence on blah blah blah. This can be a richer more interesting and in fact interactive experience rather than a paper and it's easier to share with the world.

If the web site is programatically generated, the student can also do analytics, stats, etc as part of the project.


To the already excellent answers given here, I'd suggest adding the following:

  • While guest lectures are important, they might not be easy to setup. Someone has to take time outside their schedule, prepare a lecture and so on (if your colleagues are as willing as you are then no problem, but that might be an obstacle). In that respect I think doing transdisciplinary projects are easier to start collaboration. You do something e.g. with the Physics teachers and you only ask them to review your project text, and add pointers to their own teaching material were relevant.

Some topics:

  • Physical simulations (with visualisation) is incredibly fun. For instance simulate a bouncing ball (with rebound, and collision with other balls, they can play with gravity, then elasticity then friction...) And the nice thing is you can achieve excellent result using the plain old equation used by the Physics teacher (these are not used as is in game engines for accuracy and performance reason of course, but you can still do some fun stuff that looks reasonable).

  • Obviously in math anything related to plotting functions (like a nice gui with zooming etc...) is nice.

One of the cool thing is that (1) they get to better understand the topic of the other course (provided you double check with your colleagues that you don't state anything foolish !) but it also allows you to introduce some CS problems : the computer is a discrete machine, you need to approximate numbers, this leads to errors which lead to graphical glitches etc...


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.