CS3003 Software Engineering
Department of Computer Science
Assessment/Coursework for 2024/25
TABLE OF CONTENTS
Main Objective of the assessment…………………………………………………………………………………………………………………1
Description of the Assessment………………………………………………………………………………………………………………………1
Learning Outcomes and Marking Criteria………………………………………………………………………………………………………2
Format of the Assessment…………………………………………………………………………………………………………………………….2
Submission Instructions………………………………………………………………………………………………………………………………..3
Avoiding Plagiarism………………………………………………………………………………………………………………………………………3
Late Coursework…………………………………………………………………………………………………………………………………………..3
Assessing Systems and Code from a Metric
Assessment Title
Perspective
Module Leader Steve Counsell
Distribution Date Tuesday 29th October 2024
Submission Deadline Tuesday 10th December 2024 @11am
Feedback by Tuesday 24th December 2024
Contribution to overall module assessment Pass/Fail (Threshold assessment)
Indicative student time working on assessment 60 hours
Word or Page Limit (if applicable) NA
Assessment Type (individual or group) Individual
MAIN OBJECTIVE OF THE ASSESSMENT
In this assessment, you will be exploring two sets of data. Firstly, some Chidamber and Kemerer (C&K) data
and secondly, some data related to code and its complexity. The assessment requires you to write a report on
the results of your analysis which includes some diagrams. The aim of your report will be to answer EIGHT
questions with those accompanying diagrams to show any interesting patterns in the data from the two
datasets. There is no lower or upper limit on the word count, but you must explain properly what your
diagrams show. Note: You may use any equivalent statistical tool of your choice to analyse the data.
DESCRIPTION OF THE ASSESSMENT
The assessment is in TWO parts. Please complete both parts and produce a report with two parts, as follows.
There are EIGHT questions you need to answer overall (five in Part 1 and 3 in Part 2).
REPORT PART 1:
Select 1000 rows of data from the dataset called “C&Kdata.csv” provided in the CS3003 Brightspace
“Assessment” folder. Each row in the dataset represents the data for one class in a system called “Camel”.
The columns in this spreadsheet should be familiar to you – the five Chidamber and Kemerer metrics ( WMC,
DIT, NOC, CBO and LCOM). The link to the code is also provided as is the Number of bugs that the class has
(see the end column). There are 3048 rows of data in this dataset.
Important information on how you select your data: You should use the last 3 digits of your Brunel student
ID as the start point for selecting the 1000 rows. For example, if your student id is 1245921, then you select
rows starting at row 921 and all rows up to and including row 1920 to give you your 1000 rows of data. As
another example, if the last three digits is 346, then start at row 346 etc. Next, answer the following FIVE
questions about your 1000 rows of C&K data:
a) How are WMC and CBO related? Draw a diagram to show the relationship between these two
metrics and comment on what you see in the diagram.
Updated October 2024
1 of 3
Department of Computer Science
b) How are WMC and LCOM related? Draw a diagram to show the relationship between these two
metrics and comment on what you see in the diagram.
c) How are LCOM and bugs related? Draw a diagram to show the relationship between these two
metrics and comment on what you see in the diagram.
d) How are CBO and bugs related? Draw a diagram to show the relationship between these two
metrics and comment on what you see in the diagram.
e) Finally, in your analysis and answers to parts a)-d), did you notice any outliers? In other words,
data points on the diagrams which looked excessively large or small (points that were far from
the average in the diagram). Write two or three paragraphs explaining what you saw.
Just as a rule of thumb, three to five sentences would be fine to explain the key features of a diagram.
REPORT PART 2:
Select 1000 rows of data from the dataset called “code.xlsx” provided in the CS3003 Brightspace
“Assessment” folder. This data is from one of NASA’s systems. There are 2055 rows of data in this dataset.
Each row in the dataset represents the data for one Java class and we hope the columns in this file are fairly
self-explanatory. But if not, here are the column names and a description:
Column 1: LOC: number of lines of code in the class.
Column 2: CC: the cyclomatic complexity of the class. See the lecture slides if you are not sure what this is.
Column 3: Number of comment lines: the number of comment lines in the class.
Column 4: Buggy?: Has the class had any bugs in it? TRUE means it has and FALSE means it hasn’t.
Important information on how you select your data: Again, you should use the last 3 digits of your Brunel
student ID as the start point for selecting the 1000 rows. For example, if your student id is 1245921, then you
select rows starting at row 921 and all rows up to and including row 1920 to give you your 1000 rows of data.
Please note that if your 1000 rows do not contain many of the “bug is true” entries (i.e., the word “TRUE”
appears in the final column), then this really is not a problem. Simply grab a load more rows (as many as
you want) from another part of the dataset which DO have “TRUE” in the final column and use those. This
is part and parcel of using real live data!
Then answer the following THREE questions about your 1000 rows of code data:
a) Draw a diagram to show the relationship between the values for Cyclomatic Complexity
(CC) and LOC. Is there anything interesting you can you say about your diagram?
b) Is the tendency of the class to be “buggy” (i.e., the bug column is TRUE) related to CC? To
answer this question for example, you could calculate the mean or median CC for buggy
classes and the mean or median CC for non-buggy classes and compare the two.
c) What is the relationship between the number of comments and whether a class is buggy or
not? Draw a diagram to illustrate whether or not having more comments is usually
associated with non-buggy classes.
END OF REPORT
Updated October 2024
2 of 3
Department of Computer Science
LEARNING OUTCOMES AND MARKING CRITERIA
Learning outcomes for the assessment Assessment and marking criteria
LO1: Describe the attributes of quality software and Provide evidence of a systematic understanding of
the implications of poorly designed software. software quality and the use of metrics to assess
this (throughout the sections of the report).
LO2: Describe and evaluate the processes and Provide evidence of a systematic understanding of
techniques which may be used to produce quality the processes and techniques used to produce
software and be able to create software artifacts quality software (throughout the sections of the
which display these attributes. report).
LO3: Critically evaluate, select and appraise Demonstrate the ability to select and assess
software metrics in order to assess software suitable metrics (throughout the sections of the
process and product attributes. report).
An overall pass or fail will be awarded for the report you submit. A pass or fail will be awarded for each
section of your report. Both sections must be passed to pass the assessment overall. This coursework
document contains various indications on what differentiates a basic attempt from a good attempt. Although
you can pass this coursework with a basic attempt, a more comfortable pass can be achieved by going further
and being more ambitious. Although a ‘good’ attempt will not attract any more marks for this coursework, it is
worth remembering that there may well be questions based on this assessment in an end of year exam
question. Those going beyond a basic attempt at this coursework are likely to be able to gain higher marks in
response to that exam question.
FORMAT OF THE ASSESSMENT
You may put a cover page on your submission if you want to.
You must produce a report containing the following two sections.
PART 1:
Your PART 1 should answer all 5 questions.
PART 2:
Your PART 2 should answer all 3 questions.
SUBMISSION INSTRUCTIONS
You must submit your coursework as a PDF file on Wiseflow by Tuesday 10 th December 2024 at 11am. You
can follow the link to Wiseflow through Brightspace or login in directly at https://uk.wiseflow.net/brunel. The
name of your file should follow the normal convention set out in the student handbook, and must therefore
include your student ID number (e.g., 1234567.pdf). It can also include the module code (e.g.,
CS3003_1234567.pdf).
AVOIDING PLAGIARISM
Please ensure that you understand the meaning of plagiarism and the seriousness of the offence. Information
on plagiarism can be found on the College’s Student Handbook. Also please see the notes on avoiding
academic misconduct: www.brunel.ac.uk/about/documents/pdf/Senate-Regulation-6-2024-20-01.pdf
LATE COURSEWORK
The clear expectation is that you will submit your coursework by the submission deadline stated in the study
guide. In line with the University’s policy on the late submission of coursework (revised in July 2016). Work
submitted over 48 hours after the stated deadline will automatically be given a fail grade (F). Please refer to
the Computer Science Student Handbook for information on submitting late work, penalties applied and
procedures in the case of mitigating circumstances.
Updated October 2024
3 of 3