CM2005 Object Oriented Programming Midterm Assignment 2026 | University of London, Singapore

CM2005 Midterm Assignment 2026 

Introduction

The goal for this assignment is to develop a technical analysis toolkit for visualising and predicting weather data using a command line interface. The dataset is provided as a zip file with the assessment brief or can be downloaded from here.

Task 1: Compute Candlestick Data

To complete this task, you need to be able to compute candlestick data from the temperature data for a particular location in Europe between 1980-2019. Here is an example of the fields needed for candlestick data:

Candlestick Data Table

Date      Open High     Low      Close
1980-01-01     -1.249      20      -3     -1.200
1981-01-01     -1.200      25      -2     -1.300
1982-01-01     -1.300      27      -1     -1.400
1983-01-01     -1.400     28      -1     -1.350
1984-01-01    -1.350     24       0     -1.450

To compute the candlestick data, the following logic is used:

  • Open: The average mean temperature per time frame (i.e., year) in the previous time frame.
  • Close: The average mean temperature per unit in this time frame (same as Open, but for the current time frame).
  • High: The highest temperature value seen this time frame.
  • Low: The lowest temperature value seen this time frame.

The candlestick data should be computed using a function which returns a vector of std::vector<Candlestick> objects. The Candlestick class should be defined to represent this data.

Task 2: Create a Text-Based Plot of the Candlestick Data

The second task involves creating a text-based plot of the candlestick data (i.e., daily, monthly, or yearly). Here is an example of what the plot might look like:

Example:
  |    |
  |   ---|
--|----|--
--|----|--

We recommend starting by manually creating the plot using text characters in a text editor, using characters like - for the top of a box and | for the stalk of the candlestick. This visual representation should show temperature data in a text format.

Task 3: Filter Data and Plotting Using Text

In this task, you need to provide at least two filter options for data (such as by date range, country, and temperature data range) and plot the filtered data using text-based characters.

Task 4: Predicting Data and Plotting

Task 4 involves predicting temperature changes for a selected date range and country. You will need to develop prediction functions of your choice that calculate these values from the provided historical data.

Provide a brief description of the prediction function used, including a code fragment, calculation method, and a description of the results.

What to Submit

  • A PDF file containing all code (concatenate .cpp and .h files into a single text file and save as a PDF).
  • A PDF file containing your report, describing how each task was carried out with screenshots of results/output.
  • A 3-minute system demonstration video with voice narration showing key features and code logic.

Marking Criteria

Assessment Criteria Marks
Code Style: Indentation and descriptive comments 6
TASK 1: Compute candlestick data – CODE 10
TASK 1: Compute candlestick data – DESCRIPTION 6
TASK 2: Create a text-based plot – CODE 10
TASK 2: Create a text-based plot – DESCRIPTION 6
TASK 3: Filtering option and plot text graph – CODE 10
TASK 3: Filtering option and plot text graph – DESCRIPTION 6
TASK 4: Predict data and plot (chosen model) – CODE 10
TASK 4: Model justification and DESCRIPTION 6
Originality and challenge of implementation 10
Clearly labelled personally written code sections 6
Correct submission of required items 4
Total 90 Marks

Hire a Professional Essay & Assignment Writer for completing your Academic Assessments

Native Singapore Writers Team

  • 100% Plagiarism-Free Essay
  • Highest Satisfaction Rate
  • Free Revision
  • On-Time Delivery

Answer

Looking for Plagiarism free Answers for your college/ university Assignments.

Ask Your Homework Today!

We have over 1000 academic writers ready and waiting to help you achieve academic success