JamesHarv.com

My Education

An overview of my education so far, including grades, skills aquired, featured content and assessment methods

Education

Cardiff University logo

Cardiff University

BSc Computer Science (AI-focused interests)

Sep 2025 — Present

Year 1
Computational Thinking CM1101
Completed

Key topics covered:

  • • History of computing
  • • Internal workings of a digital computer
  • • Basic programming tasks in high-level languages
  • • Applying best practices, such as version control on GitHub/GitLab and unit testing

How was it assessed?

  • • Group project – Text based adventure game - can be found Here
    In a group we had to create a text based adventure game, in which we achieved 75% overall, only losing marks on the presentation, not the implementation.
  • • Individual project – Text based adventure game
    I was given a template to complete a very simple text based adventure game where I had to implement the logic but the base structure of the game was pre-made, where I achieved 100%.
  • • MCQ Test – 89%
Problem Solving With Python CM1103
In progress

This module was split into 2 sections, Discrete Mathematics and Problem Solving.

Key topics covered (Problem Solving):

  • • Using Python and common modules to implement simple algorithms expressed in pseudocode, and understand fundamental programming concepts
  • • Develop informal algorithms and apply recursion to solve simple problems
  • • Analyse the efficiency of algorithms and contrast different searching and sorting algorithms
  • • Writing scientific reports describing the analysis of a problem

Key topics covered (Discrete Mathematics):

  • • Logic (propositional logic, truth tables, implication/equivalence, De Morgan’s laws)
  • • Sets (set notation, subsets, unions/intersections/complements, Cartesian products)
  • • Proof (direct proof, proof by contradiction, proof by contrapositive, basic induction)
  • • Counting (permutations and combinations, pigeonhole principle, inclusion–exclusion basics)
  • • Probability (conditional probability, independence, Bayes’ theorem, basic random variables)
  • • Statistics (descriptive statistics, distributions/expectation/variance basics, interpreting data summaries)

How was it assessed?

  • • Problem solving coursework - can be found Here
    Had to create algorithms that are used to simulate 2 different rule sets of the game squash (English and Point-a-Rally Scoring). Using the results from this, I then created a scientific report to determine which scoring system was the "best". This project gave me some strong experience with jupyter notebook
  • • In class test
    Covers both problem solving and discrete mathematics
Web Applications CM1102
In progress

This module introduces some of the core technologies and standards that lie at the basis of the World Wide Web and also assessed my ability to create an informational webpage

Key topics covered:

  • • History of the web
  • • Plain text file structure
  • • HTML fundamentals
  • • CSS fundamentals
  • • Web-based forms
  • • UX principles and Accessibility
  • • HTML5 advanced features
  • • UNIX/Linux basics (incl. why it's used for running web servers)
  • • Boostrap (front-end framework)

How was it assessed?

  • • Informative website - Can be found Here
    I built a website un html/css which serves as a multi-page wikipedia-style information site on the computer scientist Dennis Ritchie. I achieved 100% on this coursework
  • • In class MCQ assessment
    A multiple choice assessment that tests my knowledge on HTML, CSS and web technologies
Principles, Tools and Techniques For Secure Software Engineering CM1301
In progress

CM1301 introduces core software engineering principles and practices for building quality, secure software. It covers requirements, modelling, testing and project management across individual and group activities.

Key topics covered:

  • • The need for Software Engineering
  • • Software Development Lifecycle
  • • Analysing and specifying requirements
  • • Software quality and secure software quality criteria
  • • UML modelling (class, use case and activity diagrams)
  • • Implementation principles (modularity, usability and object-oriented techniques)
  • • Reliability and software evaluation
  • • Development methodologies
  • • Testing and validation
  • • Project management (planning, tracking and team communication: Kanban/Scrum/Slack)
  • • Balancing time, resource and quality
  • • Version control for collaboration (code and documentation)

Skills developed:

  • • Project planning and time management
  • • Requirements specification and systems modelling
  • • Structuring, refactoring and testing code
  • • Team working and communication

How was it assessed?

  • • Class Test 1 (Autumn) – 30% of module
    Written class test evidencing work during module activities.
  • • Class Test 2 (Spring) – 30% of module
    Written class test covering later content and applied understanding.
  • • Class Test 3 (Spring) – 40% of module
    Written class test assessing the full module, with greater weighting.
Architecture and Operating Systems CM1205
Not started

Not started yet.

Maths for Computer Science CM1208
Not started

Not started yet.

Object Oriented Java Programming CM1210
Not started

Not started yet.

Year 2
  • • Not Started
Year 3
  • • Not Started
The Sixth Form College Farnborough logo

The Sixth Form College Farnborough

A Levels & BTEC

2023 — 2025

Subjects
A level Computer Science
B

OCR A Level Computer Science (H446) covering computer systems, algorithms/programming, and a substantial individual programming project.

Key topics covered (Computer systems):

  • • CPU architecture and the fetch–decode–execute cycle (incl. Von Neumann/Harvard and performance factors)
  • • Processor types and parallelism (CISC/RISC, multicore, pipelining, GPUs)
  • • Input/output and storage; main memory (RAM/ROM/virtual memory) and selecting appropriate devices
  • • Systems software and operating systems (memory management, scheduling, interrupts/polling, BIOS/boot process, virtual machines)
  • • Applications generation and translators (compilers/interpreters/assemblers), stages of compilation, linkers/loaders/libraries
  • • Software development methodologies and the development lifecycle
  • • Exchanging data: compression, encryption and hashing; databases; networks; web technologies
  • • Data types and data structures; Boolean logic/algebra
  • • Legal, moral, cultural and ethical issues in computing

Key topics covered (Algorithms & programming):

  • • Computational thinking (abstraction, decomposition, algorithmic thinking, thinking ahead, logic)
  • • Problem solving and programming techniques (structured programming, modularity, subroutines, recursion, OOP concepts)
  • • Computational methods (e.g. validation, testing approaches, and using programs to model/solve problems)
  • • Algorithms: complexity and efficiency, standard searching and sorting, and applying data structures to solve problems

Major project (6 months):

  • • Individual programming project completed over ~6 months with 3 iterations and a ~200-page write-up. View in Projects
    Built a driving theory revision game with a question system and progression loop (see the project card above).
A level Economics
A*

AQA A Level Economics covering both microeconomics and macroeconomics, with a strong focus on analytical thinking, evaluation and real‑world application.

Key topics covered:

  • • Microeconomics: supply and demand, price elasticity, market structures, market failure and government intervention
  • • Macroeconomics: economic growth, inflation, unemployment, fiscal and monetary policy
  • • The global economy: trade, exchange rates, globalisation and development
  • • Behavioural economics and the role of incentives
  • • Evaluation of economic policies using data, diagrams and written judgement

Useful skills developed:

  • • Strong analytical and problem‑solving skills, breaking down complex systems into manageable components
  • • Data interpretation and evaluation, drawing conclusions from graphs, statistics and written sources
  • • Structured written communication, forming balanced arguments and justifying decisions
  • • Understanding incentives, trade‑offs and constraints in decision‑making

Relevance to the tech industry:

  • • Applying cost–benefit analysis and trade‑off thinking when designing systems or features
  • • Evaluating product decisions using data rather than assumptions
  • • Understanding markets, competition and pricing strategies in technology‑driven industries
  • • Communicating technical decisions clearly to non‑technical stakeholders
BTEC Information Technology
Distinction Star (A*)

Pearson BTEC Level 3 EXTENDED CERT in Information Technology, covering both theoretical understanding of IT systems and practical, coursework-based application.

Core units studied:

  • Unit 1: Information Technology Systems — hardware, software, networks, topologies, protocols, data management and emerging technologies
  • Unit 2: Creating Systems to Manage Information — relational databases, data modelling, queries and data integrity
  • Unit 3: Using Social Media in Business — digital marketing strategies, audience targeting, analytics and evaluation
  • Unit 6: Website Development — designing and building responsive websites using HTML and CSS

Key topics and skills developed:

  • • Understanding how different technologies work together in real-world IT systems
  • • Network types and topologies, hardware selection and system configuration
  • • Database design, normalisation and querying to manage structured information
  • • Web development using semantic HTML and CSS for layout, styling and accessibility
  • • Evaluating technology choices based on user needs, constraints and business context

Applied coursework:

  • • Designed and built a multi-page website for a fictional therapy dog charity using HTML and CSS. View in Projects
    Focused on usability, SEO considerations, structured content and client-style requirements.

Relevance to software and technology roles:

  • • Strong foundation in how software, hardware and networks interact
  • • Experience producing technical documentation and coursework to a professional standard
  • • Translating user and business requirements into technical solutions
  • • Practical exposure to end-to-end project work, mirroring real-world development workflows