Other Notable Durham Courseworks
Due to courseworks and assignments regularly getting repeated in later years at University, I have chosen to make the appropriate Github repositories private and not to include my solutions on this site in case they are copied by a future student. Instead, I will include a brief description of some of the courseworks below and solutions may be provided if requested.
- Security - Given a mock computer system in a virtual environment, find all vulnerabilities including: XSS attacks, Privelige Escalation, Database Vulnerabilities, Path Traversal Attacks, Buffer Overflow Attacks, and SQL injections. (Grade: 97%)
- Networks - Using Python, implement a client-server system which implements a simple anonymous bulletin board system using TCP. (Grade: 97%)
- Image Processing - Write a report discussing the Non-Local Means Denoising Algorithm, its implementations, strengths, limitations, applications, extensions, modifications, and then demonstrate the algorithm using correct scientific procedure. (Grade: 96%)
- Computational Thinking - This mark came from a variety of sub projects where each of the following were explored briefly: Error-Correcting Codes, Modelling with Graphs, and Bioinformatics (Grade: 96%)
- Mathematics for Computer Science - This involved solving a series of questions from two submodules. Discrete Mathematics and Linear Algebra involved: induction, probablitity, variance and expected value and KO-reducibility. Logic and Discrete Structures involved: DNF and CNF, natural deduction, functional completeness, and resolution(Grade: 93%)
- Programming Paradigms - Using C, implement Conway's Game of Life on a finite rectangular grid. (Grade: 88%)
- AI Search - Using Python, implement two AI Search methods (A* Search and Basic Greedy Search were chosen) to find a tour from a given file of city distances to find an approximate solution to the Travelling Salesman Problem. (Grade: 83%)
- Networks and their Structure - The topics in this module included topology analysis, routing, switching, flow control, graph theory, hypercubes and n-cubes, performance analysis, modelling networks to make comparisons and predictions, finding influential nodes in networks, and models of diffusion. (Grade: 83%)
- Algorithms and Data Structures - Using Python, create a program for adding keys to a hash table via various methods, write another program which counts k-ephemeral numbers between two inputs, write a program determining the validity of a sum-and-product expression, solve numerous time complexity and Master Theorem questions, work with sorting algorithms (Grade: 81%)
- Distributed Systems - Using Python, implement a fault-tolerant food ordering system based on passive replication using RMI. Consider various aspects such as client-server implementation, operation workflow design, data integrity, and message design. Also incorporate the use of external web services for location finding. (Grade: 74%)
- Alternative Computing - This module included philosophy of natural computing, evolutionary computing, swarm intelligence, biological computing, quantum computing (Grade: 73%)
- Natural Language Processing - The module included feature extraction, pre-processing, language modelling, neural word embedding, RNNs and CNNs, transformers and attentionbased models, multitask learning, natural language generation, and NLP ethics (Grade: 64%)
- Blockchain and Cryptocurrencies - This module involved blockchain fundamental, Cryptocurrency analysis, implementation fundamentals (e.g. MetaMask) (Grade: 63%)