Filter by keyword, subject, or both. Updates live as new model answers are added to our portal.
Advanced Research Topics
Generative Adversarial Networks – Building and Applying GANs to Real-World Problems
This individual assessment focuses on building and understanding Generative Adversarial Networks (GANs) and applying them to real-world problems across different domains. The assignment is based on the GAN topics covered in Unit 5 and requires students to implement GAN models, analyse their behaviour, generate synthetic data and critically evaluate the quality of the generated outputs. The assessment consists of two main parts: building and understanding GANs from scratch using synthetic two-dimensional data, followed by applying GANs to three real-world application areas involving medicine, cybersecurity and creative artificial intelligence. Part 1 focuses on developing a practical understanding of GANs through implementation using PyTorch and synthetic 2D data. Students must first reproduce the sine-wave GAN demonstrated in the tutorial. They then create and model a new two-dimensional distribution, selecting from a 2D spiral, a mixture of Gaussians, or a noisy parametric curve defined as y = sin(2x) + 0.3cos(5x) + epsilon. Students must modify the GAN architecture, for example by changing the activation function or layer depth, and visually compare the original data distribution with the generated samples. This section is intended to reinforce understanding of the generator, discriminator, GAN training process and the effect of architectural choices on generated data. Part 2 addresses three real-world GAN applications. The first application concerns optical coherence tomography (OCT) retinal images using the OCTMNIST subset of MedMNIST. Students must explore the dataset, examine class distributions and sample images, build a ConvNet-based Deep Convolutional GAN (DCGAN) using PyTorch or TensorFlow/Keras, train the model and track generator and discriminator losses. Generated retinal images must be compared with real images both visually and quantitatively, using a performance measure such as the Fréchet Inception Distance (FID). An optional extension involves implementing a conditional GAN and demonstrating generation of images for specific classes. The second application focuses on cybersecurity using the preprocessed CICIDS2017 dataset containing DDoS and benign network traffic. Students must combine the relevant data files, explore the dataset and understand its features and class balance. A GAN must be developed to generate synthetic feature vectors rather than images. The model should be trained using benign and DDoS attack data, training loss curves should be monitored, and PCA or t-SNE should be used to visualise and compare real and generated feature distributions. The quality of the synthetic data should then be evaluated. An optional extension involves expanding the analysis to the full CICIDS2017 dataset and examining generalisation across different attack types. The third application focuses on Creative AI using the QuickDraw birthday cake category. Students must explore the birthday cake sketch dataset and implement a ConvNet-based GAN (DCGAN) to generate realistic birthday cake sketches. Generated sketches should be evaluated visually and quantitatively, including comparison with real examples and an appropriate metric such as FID. An optional extension involves generating samples from additional QuickDraw categories and discussing how model performance changes across different classes and levels of sketch complexity. The submission consists of both code and a written report. The code accounts for 60% of the assessment and must complete the required modelling tasks, present generated samples, compare generated and real data, use appropriate functions and include clear annotations so another user can understand the implementation. The report accounts for 40% and must be 6–8 pages. It should explain the analytical steps undertaken, justify the selected approaches, provide brief descriptions of the models used, interpret the results and include appropriate figures, evaluation metrics and academic references. The report should critically discuss why particular network architectures were selected rather than simply providing textbook definitions.
Read Model Answer →
Research Methods
Assignment 3 – Large Language Models: LLM Coding and Report
This individual assessment for the Research Methods module focuses on the application of Large Language Models (LLMs) to a practical data science problem. The assignment is worth 25% of the module and is designed to develop students’ knowledge and understanding of research methods, investigative planning, data analysis, model evaluation and effective technical communication. Students are required to complete both a coding component and a concise written report demonstrating how an LLM has been selected, trained or fine-tuned, applied to a suitable task and evaluated against an appropriate baseline. The assessment begins with familiarisation with relevant literature. Students are expected to investigate the history and development of their chosen problem and examine the methods that have previously been used to address it. The brief provides key papers on common types of LLMs as a starting point for the literature review. Students then select a task that can be addressed through fine-tuning an LLM, with examples including sentiment analysis, fake news detection and topic classification. A publicly available dataset suitable for the selected text-classification problem must also be identified. Suggested sources include Kaggle and Hugging Face Datasets. The data must be appropriately preprocessed, including tokenisation using BERT's tokenizer and division into training and testing sets. Students then fine-tune a pre-trained BERT or BERT-style model using suitable tools such as the Hugging Face Transformers library and PyTorch. Possible model choices include BERT, RoBERTa and T5. The selected model should be appropriate for the specific problem, recognising that different language models may perform differently across tasks. Students are expected to implement a suitable training process using an appropriate optimiser and loss function. Model performance must be evaluated using relevant classification metrics, including accuracy, precision, recall and F1-score. The performance of the selected LLM should also be compared with a baseline model, such as Logistic Regression, Naive Bayes or a pre-trained BERT model. The analysis should explain the results and consider their relevance to the chosen problem. Two main submission components are required. The first is a code notebook, such as a Jupyter or Google Colab notebook, containing annotations explaining the purpose and operation of the relevant code so that another person can understand and reproduce the work. The second is a report of no more than three pages, including appropriate figures, tables and references. The report should cover the motivation and dataset, methodology, model training and evaluation, results and discussion, limitations, conclusion and possible future improvements. The assessment rubric places particular emphasis on coding quality and implementation, model architecture, analysis and interpretation, and report presentation. Strong work should demonstrate well-structured and reusable code, clear explanation of the model architecture and configuration, appropriate evaluation metrics and visualisations, meaningful comparison with relevant literature or baseline models, and critical evaluation of the model's success and possible improvements.
Read Model Answer →
Data Science / Artificial Intelligence / Generative Modelling
Generative Modelling Case Study: GANs for Medical Imaging, Cybersecurity and Creative AI
This Generative Modelling Case Study requires students to design, implement and evaluate Generative Adversarial Networks (GANs) across a range of synthetic and real-world applications. The coursework develops both theoretical understanding and practical deep-learning skills, with emphasis on building models, evaluating generated data and critically interpreting model performance. The assessment addresses research understanding, originality, future development and scholarly communication in data science. Generative modelling case study… Part 1 – Building and Understanding GANs from Scratch focuses on fundamental GAN concepts using synthetic two-dimensional data. Students first reproduce a sine-wave GAN from the tutorial and then create a second synthetic distribution using either a 2D spiral, a mixture of Gaussians or a noisy parametric curve. They must modify aspects of the GAN architecture, such as activation functions or network depth, and visually compare generated samples with the original data distribution. Generative modelling case study… Part 2 – Real-World GAN Applications extends the work across three application domains. The first application uses the BloodMNIST subset of MedMNIST to train a DCGAN that generates synthetic blood-cell microscope images. Students explore the dataset, analyse class distributions, train the model, monitor generator and discriminator losses and compare real and generated images using both visual inspection and quantitative measures such as the Fréchet Inception Distance (FID). An optional extension involves implementing a class-conditioned GAN capable of generating images from specific categories. Generative modelling case study… The second application addresses cybersecurity using the CICIDS 2017 intrusion-detection dataset. Students construct a GAN that generates synthetic network-traffic feature vectors rather than images. The model is trained using benign and denial-of-service traffic, and generated samples are compared with real traffic using dimensionality-reduction techniques such as PCA or t-SNE. Students must evaluate how closely the synthetic traffic reflects the distribution of genuine network data. An extension allows analysis of the full CICIDS dataset and evaluation across different attack types. Generative modelling case study… The third application explores Creative AI using the Google QuickDraw pizza category. Students implement another DCGAN to generate artificial pizza sketches, track training behaviour across epochs, and compare generated sketches with genuine examples using both visual inspection and quantitative metrics such as FID. Extension work may examine additional QuickDraw categories and investigate how model performance changes with class and sketch complexity. Generative modelling case study… Submission consists of a 6–8 page report together with working code. The report should explain the analysis undertaken, justify modelling decisions, describe the network architectures, interpret the results and incorporate suitable figures, evaluation metrics and references. The accompanying code must reproduce the figures, models and numerical results reported and must execute successfully when tested. Generative modelling case study… The marking scheme places 60% of the marks on code and 40% on the report. Within the coding component, 40 marks relate to completing the GAN modelling tasks and 20 marks assess code quality, modularity and annotation. The report is assessed on discussion and interpretation of the analysis, justification of architectural choices, results presentation, document quality, figures and appropriate academic references. Generative modelling case study… Important for the public Reference Library: the brief explicitly states that students must not use generative AI to write the report, and the rubric states that AI-generated report text can result in zero marks for the whole assignment. Therefore, use this entry only as a high-level public description of the assessment and do not present generated report content as something students can submit directly. Generative modelling case study… Generative modelling case study…
Read Model Answer →
Data Science / Deep Learning
3,000 words
Advanced Research Topics (7PAM2016) — Building GANs from Scratch and Applying Them to Medical Imaging, Network Traffic and Sketch Generation
This Masters-level assessment asks for a complete generative adversarial network study, delivered as an annotated code submission carrying sixty per cent of the marks and a six-to-eight page technical report carrying the remaining forty. The work spans four separate GAN implementations, moving from a controlled synthetic setting into three contrasting real-world application domains. Part one builds a GAN from scratch in PyTorch on synthetic two-dimensional data. The tutorial sine-wave generator is reproduced first as a baseline, then a new distribution is modelled — a noisy parametric curve of the form y = sin(2x) + 0.3cos(5x) with an additive noise term — before the architecture itself is varied. Activation functions and layer depth are altered systematically and the resulting sample distributions plotted against the originals, so the effect of each architectural choice on convergence and sample fidelity can be seen rather than asserted. Part two applies the same principles at scale across three domains. The medical strand trains a DCGAN on the OCTMNIST subset of MedMNIST, generating synthetic optical coherence tomography retinal images, tracking generator and discriminator losses across training, and evaluating output both visually and quantitatively using Fréchet Inception Distance. A conditional GAN extension conditions the generator on class label so that images for a chosen retinal pathology can be produced on demand. The cybersecurity strand shifts from images to feature vectors, using preprocessed CICIDS 2017 network intrusion data. Benign and DoS traffic is combined and explored for class balance, a GAN is built to synthesise tabular feature vectors rather than pixels, and real against generated distributions are compared through PCA and t-SNE projections, with a discussion of how well the model generalises across attack types. The creative strand trains a DCGAN on the QuickDraw 'birthday cake' sketch category, tracking visual outputs epoch by epoch and benchmarking generated sketches against real ones, with an extension covering additional categories of differing sketch complexity. The accompanying report explains the analysis steps and the reasoning behind each architectural decision rather than restating textbook definitions of the method. It gives brief descriptions of the models used, presents generated samples and loss curves as figures, interprets the evaluation metrics, and reflects honestly on failure modes — training instability, mode collapse, and the visible flaws in synthetic output that determine whether such data is fit for downstream use. The code is written as reusable functions, commented for a reader other than its author, and reproduces every figure and numerical value quoted in the report.
Read Model Answer →
Artificial Intelligence
2,000 words
End-to-End Applied AI Development — Comparative Machine Learning and Neural Network Modelling on a Public Dataset
This assessment runs a complete applied AI development cycle end to end: problem definition, dataset selection, preprocessing, model building, optimisation, evaluation and critical reflection. Students identify a real-world problem themselves, formulate a research question from it, and source a suitable dataset from a recognised public repository such as UCI, Kaggle, Data.gov or OpenML. Dataset choice carries more weight than students expect. It must be genuinely suitable for supervised learning, complex enough to make preprocessing and feature engineering meaningful, and — critically — structured so that a traditional machine learning approach and a deep learning approach can be sensibly compared on it. A dataset too small or too clean makes the neural network component pointless; one too large or too noisy makes the whole pipeline unfinishable within the page limit. The source must be referenced and the choice explicitly justified against the research problem. The modelling requirement is fixed: at least two supervised machine learning models, plus one artificial neural network built in a mainstream deep learning framework, all trained and tested. The comparison between them is the analytical core of the work. Reporting that the neural network scored higher is not an answer; explaining why, in terms of the data's structure and each model's inductive assumptions, is. Marks are distributed across problem framing, the traditional models, the deep learning model, evaluation and critical analysis including responsible AI considerations, and academic communication. That responsible AI component is easy to overlook and is not decorative — it asks what the model's limitations mean for anyone who might rely on it. Presentation requirements are specific. The report is page-limited rather than purely word-limited, and every plot must be described in the text while also being legible enough to communicate on its own — a common failure is dense default library output pasted in without axis labels or scale. The implementation is documented in a notebook combining markdown and code cells so the development process is visible, not just the final result, and submissions typically include the cleaned dataset alongside the code. The strongest submissions treat the notebook and the report as one argument. Weaker ones produce a working notebook and then write a report that describes it, rather than a report that uses it as evidence. Our support on assessments of this type is guidance-based. Typical areas of help include: advising on whether a candidate dataset can actually support the required model comparison, explaining how to justify preprocessing decisions, clarifying which evaluation metrics suit which problem type and why accuracy alone is often misleading, showing how to structure a critical limitations and responsible AI discussion, checking Harvard referencing, and reviewing a student's own draft against the published marking criteria.
Read Model Answer →