European Bac choices toolkkit


By the end of this week my younger daughter has to have chosen the subjects she wants to study for her European Baccalaureate. For those in the UK, this is equivalent to choosing your A levels, but much more complicated. This i not to say that it is easier, since these are always difficult choices. Just that there are subjects that are compulsory and more rules about which combination of subjects are not allowed. The exact rules can be found here, but since that link is likely to break in the future, I recap them here.

Compulsory subjects

You must take a number of compulsory subjects, which are:

  • Language 1, 4 periods
  • Language 2, 3 periods
  • Maths: either 3 or 5 periods
  • Biology 2 periods
    • unless Biology, Physics or Chemisty are taken as 4 period subjects
  • Geography 2 periods
    • unless taken as a 4 period subject
  • History 2 periods
    • unless taken as a 4 period subject
  • Philiosophy 2 periods
    • unless taken as a 4 period subject
  • Ethics 1 period
  • Physical Education 2 periods

Optional subjects

In addtion you must choose a minimum of 2 and a maximum of 4 optional 4 period subjects:

  • Biology
  • Chemistry
  • Physics
  • Art
  • Music
  • Geography
  • History
  • Philosophy
  • Language 3
  • Economics or Latin
  • Language 4 or ONL (Other National Language)

Advanced subjects

You can also choose one advanced subject from the three available (in addition to their normal level):

  • Advanced Language 1
  • Advanced Language 2
  • Advanced Maths
    • Only if Maths 5 period is chosen

From all of the above (compulsory, optional and advanced), you must have a minimum of 29 periods.

Complementary subjects

You can also choose a range of complementary subjects, which are 2 periods each. I won't list them all here except that ones that have conditions attached to them:

  • Laboratory in Biology, Physics or Chemistry
    • You can only choose one of these and only if you are doing the equivalent 4 period subject
  • Introduction to Economics
    • Cannot be chosen if you have chosen 4 period economics

Total periods

All of your chosen subjects must amount to at least 31 periods and maximum 35 periods. You can go slightly higher, but this needs permission from the school. You cannot go lower.

Final exam choices

All of the above has important ramnifications for the subjects you are examined in at the end of the Bac. All the subjects count towards your bac, but those you choose to be examined in count much more.

You cannot choose complementary subjects for these exams. If you choose one of the advanced subjects you must be examined in it. In addition there are written and oral exams, some of which cannot be the same.

For the written exams, of which you take five, your choices are:

  • Compulsory: Language 1 (or advanced if taken)
  • Compulsory: Language 2 (or advanced if taken)
  • Compulsory: Maths 3 or 5 period (depending on which you chose)
  • Choice from:
    • Two of the 4 period subjects you have chosen.

In addition you cannot choose for the oral exams a subject you chose as one your choices for the 4 period subjects.

For the oral exams, of which you take three, your choices are:

  • Compulsory: Language 1 (or advanced if taken)
  • Choice from:
    • Language 2 (or advanced if taken)
      • Advanced is compulsory if chosen
    • History 2 or 4 periods
    • Geography 2 or 4 periods
  • Choice from:
    • most of the other 4 period subjects, unless chosen as the second option above

I explain all this because it means you might end up with no choices in the exams you have to take, depending on your subject choices for the bac. But understanding this can be quite complicated.

So I coded up a european bac subject toolkit to help my daughter visualise the consequences of her subject choices on the final bac exams she will have to take.

The Code

I coded the entire toolkit without resorting to any frameworks or external scripts. These would have taken me much longer to learn than simply using vanilla JavaScript. What is good to see is how far in built browser support for lots of JavaScript functionality has come. For this little toolkit using any kind of framework would have been complete overkill.