Info

Unfinished, update as EPQ progresses.

What is an EPQ?

An EPQ (extended project qualification) is equivalent to an AS-level, but worth 50% of an A-level, valued up to 28 UCAS points, being a year long course-work project about whatever you choose.

It is composed of either:

  • a 5,000 word report
  • a 1,000 word report with an artefact

Why?

For me, this is a great choice to take for Sixth-Form as I already spend quite a lot of my time working on complex personal projects, giving me the opportunity to further pursue one whilst being awarded for it.

Original Project Selection

I had originally chosen to do a 1,000 word report with an artefact on creating a Java bytecode obfuscator with ASM, something I had already spent time on prior and gained quite an interest in. It additionally ties into other personal projects and interests of mine, making it worthwhile to take the EPQ.

Pre-Existing Knowledge

My pre-existing knowledge for the topic is not too strong, but enough for me to want to advance in learning it having had my interest captured by it.

I have created a prior obfuscator named “darragh’s Obfuscator” (unfinished) which was quite an interesting learning experience to make, being relatively abnormal in comparison to other previous projects of mine.

Issue

The issue with this was summarising the obfuscator down into a 1,000 word report, it would be really challenging to explain: the basis of the Java Virtual Machine, how it works with opcode, opcode instructions, what an obfuscator is, how I handled obfuscation, techniques used, etc.

Changing My Project

When selecting my project I went through various decisions. I was highly set on the obfuscator but it was just too large of a project to cover in such a small report to someone who does not have any prior knowledge. This meant that I had to change my project to an alternative, much smaller idea.

One prominent idea was my Little Man Computing Interpreter. Alone, it was a great idea but there was concerns over how close it was to Computer Science as it is a topic covered by more importantly how I would go about doing it as an EPQ. I would not be able to use the project I had made prior and write upon it retrospectively, and recreating the project in a similar manner would be worryingly close; both issues presented the risk of making my project illegible for an EPQ.

This led to me selection to create a download manager, similar to the likes of JDownloader and Free Download Manager. The issue I would be attempting to solve is the accessibiliy and customisabiltiy of those projects, i.e., including a scripting API to enable people to add supports to specific sites such as Pillowcase.su.