Who Am I?

I'm Pierce:

What is this?

This is my personal website, the formal one, at least.
Currently it's partially a testament to my desire to learn how things work from the bottom-up, as well as a showcase of my ability to work with the low-level building blocks of, even, the web: if I haven't mentioned it enough yet, this is all written in pure HTML and CSS, no JS.

What have I done?

This section will be a bit like the Education section of my LinkedIn, but in more detail, with relevant links to the projects I did during those times.

Broken links will be because the project hasn't yet been made public, I will slowly be addressing those. And not all selected modules will have projects associated, but I might do some projects relating to the content in my own time.

Imperial - Y4

Spring Term Distributed Optimisation and Learning Mathematics behind distributed learning and optimisation algorithms Ongoing GitHub logo
Spring Term Human-Centred Robotics Group project: Design and build a robot that interacts with humans Ongoing GitHub logo
Autumn Term Hardware and Software Verification Formal verification of hardware and software programs/modules Finished GitHub logo
Autumn Term Principles of Distributed Ledgers Blockchain and Distributed Ledger technologies: Consensus, EVM, Smart Contracts, DeFi, Web3.0, etc. Finished GitHub logo
Autumn Term Scheduling and Resource Allocation Scheduling algorithms, and multi-agent Game Theory Finished
Autumn Term Cryptography and Coding Theory Modern Encryption and Error Correction Techniques Finished (in Julia)

Imperial - Y3

Spring Term Network and Web Security Vulnerabilities, exploits, and defences: Password Cracking, Network Mapping, Fingerprinting, Browser Vulnerabilities, RCE, SQLi, Scripting Attacks, etc.
Spring Term High-Level Programming Functional programming intro, in F#; groupwork: implement new features in existing ISSIE codebase GitHub logo
Spring Term Embedded Systems Group projects: Design and build an Embedded System, and write Synthesiser Drivers GitHub logo ...
Spring Term Computer Vision Edge Detection, Feature Detection and Description, Image Classification and Segmentation, etc.
Autumn Term Advanced Computer Architecture Out-of-Order Execution, Prediction, Sidechannels, SIMD, GPUs, Cache Coherency, etc.; courseworks: Architecture Optimisation, and literature review GitHub logo
Autumn Term Networked Systems Design and control of modern network architectures and technologies: firewalls, SDNs, programmable switches, congestion control, etc.
Autumn Term Introduction to Machine Learning Supervised vs Unsupervised Learning, k-means and GMM-EMs, Neural Networks, Evolutionary Algorithms, etc.
Autumn Term Designing Interventions for Behavioural Change (I-Explore module) Analysis of behaviours, and techniques for designing effective interventions
Autumn Term Biomedical Electronics Bio-potential/-chemical sensing, stimulation circuits, genetic technologies, neuroprosthetics: cochlear, retinal, BMIs

Imperial - Y2

Summer Term Summer Project: Maze Roller Two-wheeled, self-balancing, simultaneous localisation and maze-mapping, and cloud-enabled rover GitHub logo
Spring Term IAC - Compilers Lexers, Parsers, ASTs, 3AC, and Compilers GitHub logo
Spring Term Control Systems Stability, linearisation, non-linearity, open-/closed-loop systems and controllers
Spring Term Information Processing Group project: design and build an FPGA-centric system, with an accelerometer, and DB-oriented cloud computing; interfaced custom components with a NIOS II processor ...
Autumn Term IAC - Instruction Architectures Verilator and Testbenches, Memory, LFSRs, FSMs, RISC-V ISA, Pipelining, Cache, Virtual Memory; groupwork: design a RISC-V CPU and implement on FPGA GitHub logo
Autumn Term Software Systems Relational Databases: Relational Algebra, Normal Forms, SQL; Networking: TCP/IP, HTTP, DNS, P2P, etc.
Autumn Term Discrete Maths: Algorithms and Complexity Complexity, Divide and Conquer, Dynamic Programming, Greedy Algorithms, Graphs, etc.
Autumn Term Mathematics for Engineers II Complex Algebra, Contour Integration, Linear Algebra, Orthogonality, Statistics, Joint Distributions, Moments, etc.

Imperial - Y1

First year modules tended to span multiple terms

Summer Project: EEBug Remote-controlled, moving, multi-sensor bug: IR, Ultrasonic, and Radio
Digital Electronics and Computer Architecture Karnaugh Maps, Gates, Comparators, ROMs, Flip-flops, SRAM, Counters, Registers, Overflow, Memory, Stacks, Subroutines, etc.
Programming for Engineers C++: Pointers, References, Classes, Inheritance, Polymorphism, etc.
Analysis and Design of Circuits Circuit laws, linearity and superposition, reactive components, frequency response, resonance, OpAmps, active filters, etc.