Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings

Homework answers / question archive / ENGG1811 Assignment 1: Automatic diagnosis Version: v1

ENGG1811 Assignment 1: Automatic diagnosis Version: v1

Computer Science

ENGG1811 Assignment 1: Automatic diagnosis
Version: v1.00, at 10am 16 June 2022
e Due date: 6pm, Thursday of Week-07 .
e Late Penalty: Late submissions will be penalised at the rate of 10% per day (including weekends). The penalty applies to the maximum
available mark. For example, if you submit 2 days late, maximum available marks is 80% of the assignment marks.
e Submissions will not be accepted after 09am Monday of Week-08.
Change Log
e [04:22pm Tue 21 Jun] Added under the section "Assessment Criteria” -
Tutor Assessment: You need to properly explain your submission to a tutor. Your ability to properly explain your answers/solutions will
determine your final grade for this assignment.
Automatic diagnosis
This assignment is inspired by the diagnosis of a medical condition called hypopnea. The word hypopnea is derived from the Greek roots
hypo meaning under normal and pnea meaning breathing. Informally, hypopnea is sometimes referred to as overly shallow breathing.
Hypopnea can be diagnosed by measuring the air flow rate into and out of the lungs together with other measurements. Here, we will only
look at the air flow rate. The figure below, which is taken from [1], shows the air flow rate into and out of the lungs of a subject over a
duration of about 120 seconds.
Three episodes of hypopnea, as well as their duration, have been highlighted in the figure above. An observation that can be made from the
figure is that during an episode of hypopnea, the air flow rate hovered around zero or was much smaller than normal, which means that the
subject was breathing a lot less than normal.
In this assignment, you will write Python programs to perform automatic diagnosis inspired by the above example on hypopnea. The aim of
your programs is to process a data sequence (given as a Python list of numbers) to determine the starting time and duration of the episodes
within the data. The reason why we chose the word inspired is because you will not be using the actual medical criteria for diagnosing
hypopnea. We have adapted the diagnostic problem so that, in this assignment, you will have to use the various Python constructs that you
have learnt but at the same time giving you a taste on how programming can be used to perform diagnosis automatically.
Although the above example comes from biomedical engineering, there are plenty of examples of automatic diagnosis in all other branches
of engineering and science, e.g. diagnosing engine performance, quality control in chemical reactors etc.
Learning objectives
By completing this assignment, you will learn:
1. To apply basic programming concepts of variable declaration, assignment, conditional, functions, loops and import.
2. To use the Python data types: list, list of lists and Boolean
3. To translate an algorithm described in a natural language to a computer language.
4. To organize programs into modules by using functions
5. To use good program style including comments and documentation
6. To get a practice on software development, which includes incremental development, testing and debugging.
You are not allowed to use numpy for this assignment. This is an individual assignment, so no group work.
Requirements for automatic diagnosis
This section describes the requirements on the automatic diagnostic algorithm that you will be programming in this assignment. You should
be able to implement these requirements by using only the Python skills that you have learnt in the first four weeks' of the lectures in this
course. This also means that the algorithm is a very simple minded one compared to those that people really use nowadays.
We begin with describing the data that the algorithm will operate on. We will use the following Python code as an example. In the following,
we will refer to the following code as the sample code. Note that the data and parameter values in the sample code are for illustration only;
your code should work with any allowed input data and parameter values.
# Flow rate
flow rate = [-4.5, 0.5, 4.5, -0.1, -4.3,
-4.1, 0.1, 4.1, 0.4, -4.9,
-1.3, 0.2, 14.1, 0.4, 1.1,
-1.7, 0.3, 3.1, 0.8, -2.6,
-1.5, -0.2, 1.2, 0.6, -4.1,
-4.1, 0.1, 4.1, 0.4, -4.9,
-1.2, -0.1, 1.2, 0.7, -1.9,
-3.9, 0.1, 2.9, 0.5, -2.2,
-2.0, 0.5, 1.7, 4.6, 4.7,
-3.4, 0.2]

Option 1

Low Cost Option
Download this past answer in few clicks

50 USD


Already member?

Option 2

Custom new solution created by our subject matter experts