How I teach Infrared Spectroscopy

You can find here a folder of material I use to introduce IR spectra interpretation in a 70 min mixed SL/HL class.  It is tactically hyper-efficient but structurally sub-optimal: splitting this into two or three sessions of shorter duration could possibly be better.  But, hey, I teach a 240 hr syllabus in 150 hours; I can have my kids for an extra year and we would still not make 240!

Sequence-wise, I teach 10 (organic chem) -> Index of Hydrogen Deficiency -> IR -> 20 -> NMR.  I find IHD a generally useful tool that complements structure determination.

In this intro class, I first set the context with general idea of spectroscopy (5 min).  My hook is usually, “let’s say the shady dude at the corner tells you ‘it’s the good stuff’ – maybe you don’t trust him, but how would you know?  What…” [pause] “…Way of Knowing do you have?” [groans]

For the spectroscopy intro I use my diagram on absorption spectroscopy on wikipedia, which have just all the needed graphics and no extra:

(I never cease to be marvel at how the 2010-2011 drawings stand the test of time.)  While we are here, I point out how weird IR spectra are:

  1. wavenumber as unit
  2. non-uniform horizontal scale
  3. baseline on the top (signals go down)

…and promise them that in just 25 minutes they will be able to “look at the squiggles and identify a structure”.

I preliminarily introduce the students to the idea of band <=> FG correlation using the data booklet (table 26), without making use of it.  Before moving on, I activate their prior knowledge with a brief review of functional groups (identification / drawing molecules on the slate).  The review takes 10 min, and I make sure we hit the frequently confused pairs (amine / amide; ether / ester).  Since we do Opt D Medicinal Chem, I usually pull in MDMA, aspirin, fentanyl, and such.

I then hand out the 3-hydroxyproprionitrile spectra, and point out how difficult it is to actually use the table to make sense of the spectra.   IR tables are misleading because students don’t expect there to be false positives, and Type I errors are there all the time — especially in the low wavenumber / top-of-table area.  They also don’t actually show the shapes: it is not enough to know that secondary amines and alcohols are both “strong” in 3200-3400 cm-1, but you need to pick up the shape of the bands.

To counter the seriously unhappy looks, I hand out the comics. (With thanks to Vitor Ribeiro (Brazil), Robert Herzog (Germany), and Henry Hughes (Argentina), in the folder you have four languages to choose from!)   I give the students three minutes to read through it.  Most students only need 2:00 – 2:15, and they would themselves try to use the comic to interpret the proprionitrile spectra.

When the timer’s up, we meet as a class, and use the comic to work through the proprionitrile spectra (15 min, pairs / triplets):

  1. -OH “tongue”,
  2. no C=O,
  3. triple bond (CN or CC),
  4. draw the two possible proposals,
  5. eliminate alkyne (no primary amine)

I facilitate; most of the time students do most of the work.  (In a 60 min class I usually help in step 4: this is unnecessary if they have a few more minutes.)  In this segment, I just stand holding a print, and point and ask about the implication of applying each row.  (Pro-tip: there are four rows of interpretations, each associated with a color.  To refer to the >3000 cm-1 stretches, I look at the back of the print, trace my finger horizontally from the red until it rests in a box, then ask what the “red” row says about their proprionitrile spectra.)

Phew.  Time to remind them of prior promise kept: they did went “from squiggles to molecule”.  It’s super satisfying: all of them know they can now do something that looked impossible 20 minutes ago.  For this moment IR is one of my favorite classes to teach.

For practice, the students work in groups of 3-4, each with a copy of the “IR shuffling” stack and a pair of scissors. The students are asked to cut the molecules out, spread out all the spectra, and match them with each spectra, talking out loud their reasoning.  (Emphasize spreading out the spectra and the molecules: it’s essential in this activity to be able to compare and contrast.)  I work the room giving hints as needed.  Students can usually get to all-but-4 molecules in 25 minutes, or all-but-6 in 20 minutes. (Solutions are provided in the folder for your use as well.)  Somewhere along the line I let them know that the comic is in fact too advanced for them; that they do not need to memorize the exact location of the C=O bands, nor the final row of details.

Interpreting IR is then reinforced in subsequent classes, but I find that most of the kids can pick up most of it in one session.  The tongue, vampires, and beard just can’t be unseen.

January update for TRE

The following material has been added to the Teacher Resource Exchange folder:

  • Tests by JC
  • IR teaching materialsby JC
  • worksheet / activities uploaded by B-CJ and PB

I was transferring material from the myIB TRE group, but progress is stalled while I await responses on copyright / link issues (see discussion here).



These are 9 tests I wrote in 2017.  All tests have 40 points, the same expectation as the IB papers of 1.5 pts / min. The recent papers are set in the sans serif fonts (as with the new IB papers) and uses the same boxes c/ dotted lines (as with IB papers). [The only formatting anomaly is in an answerline for calculation questions… I prefer not looking for the answer unless necessary.]  There are some data-based questions hiding here and there; most of the time I did the experiments but sometimes they are simulated (in Yenka). Empirically these tests aligned well with the percentages in the IB. A cohort of students with an average of 5.5 scores 65±2% in the tests.

Unfortunately I wrote by hand (pretty color pens and all) the solutions / walkthrough, and I didn’t scan most of them. With the exception of two papers you would have to supply your own answer key.

I no longer teach topic-by-topic, so the sequential unit tests are probably some of the last ones I write. The new tests are mostly very broad across topics, which makes them not very useful for any other teachers. Pedagogically this works better for me, but, sorry.

You can find them both under By Resource / Tests, as well as topic XX / tests.

IR teaching material

For usage and details please see the “How I teach IR” post.  You can find these under By Resources / problems-practices / Jon C / IR, and by Topic / 11/21 / problems-practices.

2018 May IB chemistry practice schedule

[et_pb_section fb_built=”1″ admin_label=”section” _builder_version=”3.0.47″][et_pb_row admin_label=”row” _builder_version=”3.0.47″ background_size=”initial” background_position=”top_left” background_repeat=”repeat”][et_pb_column type=”4_4″ _builder_version=”3.0.47″ parallax=”off” parallax_method=”on”][et_pb_text admin_label=”Text” _builder_version=”3.0.47″ background_size=”initial” background_position=”top_left” background_repeat=”repeat”]

I created a “past paper practice schedule” to help my Y2 students to prepare steadily for their upcoming exam, and you can find that here.

HL Past paper practice schedule (2018)

There is a separate one for HL and SL students, both meant to be printed on a portrait A3 sheet (and posted on their study space).  My proposal is for them (or your students) to do at least the top paper properly.  By “properly” I mean specifically:

  • timing themselves, preferably on each question, but at least for the time it takes to do the entire paper;
  • marking their level of certainty for each response, so they are aware if they have gotten a question right just because they were lucky, or if they thought they understood something but didn’t;
  • score their answers, so they can
  • reflectively analysing their mistake. This is the key to the whole exercise: practice without reflection makes permanent and not perfect.

To do this properly would take 2-3 times the amount of time just doing the past paper would take (e.g., to allocate 2 hrs for a SL P1, or 4-5 hrs for HL paper 2; allocate time accordingly).  If they have more time, or targets more rapid improvement, they can additionally do the second paper.  The admonishment is that if they must choose between doing one well or doing two poorly, always choose to do less but better.

My selection of papers is based on my teaching progress (we have largely finished with all the SL material by now, but would not be done with HL until Feb).   Unfortunately this is drawn in Illustrator and not easily editable.  To correct for the discrepancy between 2009-2016 syllabus, I have also provided my students with a syllabus comparison (this is tidied up from the TSM)

The IB grade boundaries are very wide.  For the most part, near the conclusion of their two years, improvements will be steady but slow.  They are unlikely to see immediate improvement from week to week. To that end, I have also prepared a score-charting sheet for them to monitor their progress (A4).

The vertical blue boxes help divide the weeks, but they should be marking their % on the solid line emitting from the date.  The horizontal brown boxes shows the rough grade boundaries for Paper 2. (That for P1 is usually ~10% higher, and I invite my students to use blue pen to mark their P1, red pen to mark their P2, and green for P3 — same color code as in the practice schedule.)

IB teachers: If you subscribe to the Google Drive Teacher Resources Exchange, all of this would already be synchronized to your hard-disk under /by topic/General: cross-topic/study skills.  If you wish to subscribe, instructions can be found on the myIB DP chemistry forums.

Codenames (game) for organic chemistry

Vlaada Chvátil‘s Codenames is a great party game for 4-8 players.  Players are divided into two teams in front of a 5 x 5 grid of words.  Each team has a “spymaster”, seated across the table, who knows which words belong to the team.

Fig 1. codenames gameplay

The teams take turns to identify all the cards belonging to their team.  They do this using only one-word clues from the spymaster.  The first game takes 20 minutes; subsequent games finishes in fifteen.

The game relies on players seeing the relationships between words.  I thought the idea would work great with chemistry as well, and tried it out with my students in a pre-Christmas class using a handwritten set of organic chem vocabulary.  It worked well — when the spymasters know their chemistry!

I tidied this up in Illustrator, and the PDF is available here: chemistry codenames PDF.  This is designed for printing to A3 size.  In the PDF you can find:

The team cards (anilinium and carboxylates):

Fig 2. Team cards – the PDF has 9 yellows, 8 purple, and 7 grays.

(These games must start with the yellow carboxylate teams.)

Scenario cards

Fig 3. Twenty scenario cards – these work with the 9-8 distribution, with one extra yellow for starting first.

Chemistry “words”

Fig 4. Organic chemistry codename words – the inverted gray words for the spymasters.
Fig 5. Organic chemistry structures.

This works with my students who will be working on the Drugs option of IB chemistry.  There is also a set of blank cards for you to write / draw your own setup.

[box type=”bio”] Customizations: If you have a Silhouette you can use the guides to directly cut out some cardboard backing, using the Cards layer.    There is an Adobe Illustrator action embedded in the PDF, called codenames that automatically generate the inverted version.  It does so by creating a copy of the selection, rotating it 180, scales, and lowers the opacity.[/box]

If you enjoy the game, please support the original creator – both Codenames and Codename Pictures are quick good fun with friends and family.

The secret area in acid-base titration

With phenolphthalein (in 50% EtOH) as the indicator, and base as the titrant, it is common knowledge that the solution turns from colorless to magenta.  However, with careful sub-drop addition, the solution actually first turns milky-white, then milky-pink, before it clears up to a transparent pink at the end point:

This is a titration of 1.00 M nitric acid with 1.00 M NaOH, with phenolphthalein (50% EtOH) as indicator.  The center and right-most titration was performed by Philip L.

After learning about the existence of the “secret area”, many students did the titration with utmost care.  It was fun (and pretty tense) to watch.

Chemistry-wise I am not too sure what is precipitating.  (Both the acid / base forms of phenolphthalein should be completely soluble.)  Surely I am not the first to notice the transition, but I have not seen this described in the literature.  If you have any leads please do let me know.

Van der Waal Equation / Ideal Gas Law Explorer

See the Pen Vue / graph.js – VdW eqn exploration by Jon Chui (@jkwchui) on CodePen.

The ideal gas equation PV = nRT assumes an ideal gas of which the individual gas molecule

  1. has no attraction for another gas molecule,
  2. occupies no volume of its own.

Real gases do not obey the Ideal Gas Law at some conditions, and their deviation can be corrected by using the Van der Waal equation instead.  In the VdW equation, an attraction constant a and a volume constant b is introduced to account for the two above properties of real gases.

A curious and diligent student revised over summer and asked about the VdW equation.  I tried to answer Matthew’s queries to the best of my ability (which isn’t much.  Sadly, after years with Tom Fyles I haven’t developed the taste or acumen for physical chemistry).  While doing so, I realized that a list of measured VdW constants is easy to find, but visualizing how this correction impacts the P-V isotherm is not available.  So I built one.

I used Vue.js for the two-way binding and reactivity, bulma for styling, and chart.js for graphing.  Panning and zooming used the Pan/Zoom plugin for chart.js.  I tried plotly.js for graphing but I could not get the reactivity to work.  Actually, I still don’t understand many aspects of the reactivity: somehow if the display of the array at the bottom is removed from the html, the logic in the javascript (specifically, computed properties) fails.  If you know why, or a better way to go about this, please enlighten me.

There are two chemistry aspects that I appreciated from the explorer.  First is how well the ideal gas law work: the red and gray curves coalesce almost perfectly.  As an IB chemistry teacher, every year some student wants to measure the VdW constant for their Internal Assessment.  Some inevitably think I am mean for rejecting their proposal (how do you know that I can’t do this?) — I think the visual would do wonder to convince them of the difficulty of what they propose to do.

Second is about the existence of the “oscillation”, which I have never thought about.  To see that for yourself you can choose a = 300, b = 0.1, and slide the temperature up from about 70 to 90.  This, of course, goes back to point out how I gravitate to the statistical rather than the analytical; the square term in V should have revealed that this cannot be monotonic.

Building this has been a fruitful learning experience for me, and I can see this framework being useful elsewhere.  I will next be looking to re-factor this out into a Vue component.

LaTeX style for IB questions

solutionorIB environment for the exam class

The International Baccalaureate formats the space for candidate responses with “dotted lines in box”.  I was mildly peeved since the change that I couldn’t typeset questions with the exact same format.  Here is a style file for use with the exam class that sets “IB formatted” questions.  This style file sits in the same directory as your .tex and requires the tcolorbox package.  Your preamble would look something like:

\documentclass[a4paper, addpoints]{exam}

The solutions are to be wrapped in a solutionorIB environment:

  % solution goes here

The output:

solutionorIB environment for the exam class
solutionorIB environment for the exam class

I am not yet familiar enough with the tcolorbox package to drop the top down so it can be fully symmetric.

Adobe Illustrator: Batch replacing objects

Demo of scripted object replacements
[et_pb_section fb_built=”1″ _builder_version=”3.0.47″][et_pb_row _builder_version=”3.0.47″ background_size=”initial” background_position=”top_left” background_repeat=”repeat”][et_pb_column type=”4_4″ _builder_version=”3.0.47″ parallax=”off” parallax_method=”on”][et_pb_text _builder_version=”3.0.47″ background_size=”initial” background_position=”top_left” background_repeat=”repeat”]

In Illustrator (CC 2017) there is no Find-and-Replace for objects and batch substitution of objects is not possible.  For most illustrations this is a non-problem because Illustrator supports Symbols (and recently Dynamic Symbols); editing the base symbol propagates changes through all instances.  However, this requires that the objects were to be created as Symbols, and naïve objects are forever barred from this method.

Naïve objects, however, is sometimes what we need to work with.  Sometimes we work with files passed down to us; in my case, I was working with SVGs generated programmatically (by P5 / P5.svg).

I could find two attempts to get over this problem, one by JET on Adobe Forums, and one by Loic Aigon on Scriptopedia.  Both makes use of scripts.  JET’s method is more general, allowing the choice of any symbol in the list instead of one named “Dot”.

JET’s script was 90% what I needed, but it simply sizes replacement symbols to the same height as the objects-to-be-replaced, and I wanted additionally rotation and opacity to be preserved.  Here I present my extension that preserve opacity and (conditionally) rotation: you can download the script here.  An example of what it does is shown below, along with a comparison with JET’s original effect.  The original symbols are duplicated for you to see the effect.

Demo of scripted object replacements
Demo of scripted object replacements

To use this script, first select the objects you want to replace.  If there are too many, consider the options you have available under the Select menu.  Second, use the script by going to File -> Scripts -> choose file.  A pop-up box appears.  Enter the number of the symbol you wish to replace the objects with (top in your listing is 1).

You should note two gotchas in using this script:

  1. The most important one is that Illustrator does not keep information about rotation: from the object’s perspective it does not know there is such a thing as “right way around”.  To work around the rotation I constructed this data from the nodes, and in doing so it assumes something of the geometry.  My extension is designed for objects in which the first and last nodes designate the rotation: straight lines and rectangles work great.  The script behaves strangely for other objects, as you can see from the ellipses.
  2. The object and its replacement are aligned on its left and top, and not the center.  This may give the sense that the replacement has been erroneously moved at certain rotations (see the rectangle comparisons).



Our New Assessment Calendar


Historically at LPCUWC we centralize student assessments on a paper calendar in the Staff Room.  Not all assessments were consistently updated, testing conflicts were seen but unresolved, and its utility has been limited.  In May 2015 our Director of Studies asked me to look at the a spreadsheet that would be the assessment calendar for the new year.  Over a weekend I shaped the Sheet, making it easy to work with and easy to maintain, and layered with functionalities that help both teachers and students.  This is the corresponding How-to Guide, designated for students and teachers.

Even though this was designed for in-house use, the basic principles would work for other schools.  The For Administrators section describes how to customize the Sheets for your institution.  Lastly, the For Tinkerers section opens up the innards of the calendar for you to see and tamper.


The assessment calendar (for each year group) exists as two Sheets document, one for teachers to enter assessment details, and the other master for students to see their own assessments.  These two documents are linked, so that whenever the teachers’ version is updated, the changes are immediately reflected in the students’ version.

Changes in teachers' version is synchronized to students' version.
Changes in teachers’ version is synchronized to students’ version.

The Teachers’ Version facilitates input and visualizing the assessments present for the entire year group.  Broad navigation is available as the outside block, and detailed navigation as the inside block:

Color-coded, multi-grained navigation
Color-coded, multi-grained navigation

Special days outlined in the Assessment Policy is highlighted in yellow, and holidays are shaded in gray.  When an assessment is entered it is automatically colored according to the type.  To facilitate entering assessments, the common options can be selected from a drop-down menu, and if you are a keyboard kind of person, autocomplete is also available.

Color-coding of days and assessments; data entry facilitation.
Color-coding of days and assessments; data entry facilitation.

A special representation is used to help visualize assessments.  In the following graph, the flow of time is indicated on the horizontal axis, such that later months appear to the right of earlier months.  Vertically, different subject groups are displayed on its own line (color-coded as with the broad navigation above; core (ToK and Extended Essay) displays as Group 0).  Each assessment item appears as a block, which displays the details on the right panel when clicked.

Timeline feature in the Teachers' version
Timeline feature in the Teachers’ version

The Students’ Version has three parts.  The first part, on the upper left, lets students choose their own subjects.  They can do so from a drop-down menu, or by typing and then using the autocomplete assistance.

Once the subjects are chosen, the Task List on the upper right is automatically populated with assessments that are relevant for that student.  Each entry is shown with the details (e.g., scope of test), and the number of days before the item “arrives” is color coded (green: a week or more away, amber: getting close, red: within 3 days).

The same timeline for visualizing assessments can be found on the bottom.

Features of the students version
Features of the students version

In the next sections we will look at doing some common tasks.

For Students

Here are the links to the spreadsheets:

Creating your own version

The first thing you want to do is to create your own private Sheet from the links above.  To do that,

How to create a customized copy
How to create a customized copy
  1. click on File,
  2. select Make a Copy,
  3. Choose a sensible name, and
  4. Update your subjects

You should now see the assessments populated in both the Task List as well as the Timeline.  If you need a video walkthrough you can watch this here:

What about future changes?

Any changes that any teachers made is automatically pushed to your Sheet.  You are done.

For Teachers

One thing that could go wrong

With the Teachers’ Version, one of the common hiccup come in the form of this error:


This usually means that you are trying to access a portion of the sheet that has not yet been downloaded.  You should reload, and then try navigating using the detailed cells (as opposed to using the groups and big jumps), or waiting longer before moving around.

Accessing timelines

There are two timelines that you can access.  The first one is embedded in the first sheet (next to Week 3), and the second one is a full-window display which you can access from the tabs on the bottom.


Adding an assessment

To add an assessment, navigate to the date, and find your subject group.  You can then enter the information (subject, teacher, block, comments) by typing (and using the autocomplete), or using the drop-down selections.  If you noted a red triangle on the upper-right, it means that the value was not expected.  You are welcome to keep them; subject being the only exception, the spreadsheet will second-guess you but respects your decisions and not get in your way of having a joint test with two teachers.

Subject is the only item here that takes extra care, and I needed to be opinionated here because this value is what links the students’ selection on their sheet to your input.  Each subject that is accessed must be on its separate line.  For example, if there is a test in a combined chemistry HL/SL block, the test must be entered in two separate lines (as “Chem HL” and then “Chem SL”).  If you enter an invalid value (e.g., “E Lang Lit”) the spreadsheet will reject the entry right away.  The only exception here is for “Maths (all level)” in which all students are assumed to be enrolled in.

The Teachers cell lets other colleagues know who they should speak to if there is a conflict.  This is not displayed in the timeline or the students’ sheet except for Group 1 and 2.

The Block cell is open to interpretation.  It can be used to indicate the blocks that have a test, as well as that the test is in a group block.

The Comment box let you add in any note that you wish to be visible to the students.  This can include the percentage of which the test is worth, the scope of the test, or just “don’t panic”.

Adding a new type of assessment

You can already add a new type of assessment by directly typing it in the assessment box.  If you wish to have the new type of assessment in the drop-down box, contact the Director of Studies.  (If you are the Director of Studies, see the For Administrators section.)

Adding a new subject

Please contact the Director of Studies.

For Administrators

Enabling the hidden sheets and columns

This spreadsheet is driven by several hidden sheets and columns.  To modify less trodden paths, you will need to access these hidden sheets and columns.

To access a hidden sheet, go to View -> Hidden Sheets, and select the relevant sheet.


To access a hidden column, click on the arrows separating two column headers.


Modifying teachers / subjects

To add a new teacher or subject, you need to unhide the Options sheet.  From this point onward, it is a simple matter to modify the values.  Note that subjects are grouped.  This grouping enables the drop-down menu to display only humanities for the Group 3 subject choice box.  If there is a subject that must be in two groups, you can place them in both groupings.  Having duplicated values does not affect the other functionalities.


Adding a new type of assessment

To add a new type of assessment, follow the procedure for modifying teachers / subjects.  Unhide the Options sheet, and add, edit, or delete values from the first column as appropriate.

To add an appropriate color code for an assessment, go back to the Data Entry sheet, and select a cell in the assessment column.  Right-click, select Conditional formatting.  Choose Add another rule, and set the new rule as desired.

Adding a new Special Day

To add a new Special Day, enter the comments on the Day Comments column.  Then select the entire row and change the background color.  The indication of Special Days are entirely cosmetic; the right for teachers to override special days / holidays is fully respected.

Adding new rows for a day

Adding new rows for a day requires first to break the merged cells.

Adding a new semester

Let’s worry about this later.

For Tinkerers

Getting to the Tinkering mode

How does the color-coding work?

How does the drop-down selection / autocomplete work?

How does the timelines work?

How does the comments in the timelines work?

How does the linking of the spreadsheets work?

How does the “show only relevant assessments” work?

Mibo for smartphone microscopy

With a simple addition of a lens in the front, and a homemade stage, a smartphone camera can be converted to a microscope.  AVI Labs from Turkey ran a Kickstarter campaign to mass produce a set of lens (and support) for converting a phone camera to a microscope, and my “mibo” kit arrived today.  The child in me spent entirely too long playing with it.

mibo as arrived
mibo as arrived: a bundle of plexiglass, and an instruction sheet.

There is not much to say about the kit.  It comes as a few sheets of cut plexiglass, some lens, and an instruction sheet.  A few items are missing from the kickstarter package: no “velvet bag to prevent scratches”, and no light source.  I am supposed to receive two sets, but one of the sets misses the back plate.  Everything feels a little flimsy.  There is an iOS app, but I have an android phone so I can’t comment on that.

Mibo assembled.
Mibo assembled.

Assembling the kit takes ten seconds, involving only snapping together five sheets of plexiglass.  The circle on the top plate is where the lens gets inserted.  The sample stage has magnets glued on either side, and the thinking is that it can be minutely controlled using the magnets on the outside.  The stage didn’t work very well, and I certainly would have preferred a nut / carriage bolt adjustment mechanism.  Most of the time the adjustments are made with eyes on the screen, and I find it difficult to keep the stage horizontal.  The sample slide can then slide down, and all the adjustments for null.

My sample stage also seems a hair too wide for the box, and it sticks occasionally, making fine adjustments difficult.  And then… one of the magnets just fell off.  The way the sample is mounted didn’t work for me, and I may just rig my own sample mount later.

Once the stage is correctly set, however, the lens does its job perfectly.  I could not make sufficiently fine adjustments to the stage, so I’ve (for now) given up on the mibo+ kit (80x base magnification).  The following pictures are taken with a Sony Xperia Z2, lighted ~30 cm from the stage using 300W lights in a softbox, and with just a single lens (40x magnification, zoom to 160x).  The original pictures are 20 megapixels in size.

A name card showing the 40x magnification (no zoom)
A name card showing the 40x magnification (no zoom)

Here are a selection of items we will be looking at closely.  It’s fascinating what they look like up close.

Items looked at using the microscope.
Items looked at using the microscope.

Click on an image to view a higher resolution version (careful – large file size!)