You are on page 1of 16

KF4010 Assignment October 2021 to January 2022

ASSESSMENT BRIEF
Module Title: Computing Fundamentals
Module Code: KF4010
Academic Year / Semester: 2021-22 Semester 1
Module Tutor / Email (all queries): Chris Rook c.rook@northumbria.ac.uk
% Weighting (to overall module): 100%
Assessment Title: Computing fundamentals assignment
Date of Handout to Students: 1st October 2021

Mechanism for Handout: Module Blackboard Site

Deadline for Attempt Submission by


4pm 13th January 2022
Students:
Your work should be submitted using the link on eLP
Mechanism for Submission: (Blackboard), in the assessment folder.

Submit a single document, preferably a Word document


or PDF, with answers to all questions - your essays,
program code and screenshots of the Digital Works
circuit (if you have done this part.)

To help us mark your work efficiently, please also


submit:

Submission Format / Word Count • A text file containing JASPer code for task 2,
formatted correctly for the JASPer assembler.
• A text file containing JASPer code for task 3A (if
you have done this task).
• A .dwm file for your Digital Works circuit for
task 3B (if you have done this task.)

Please do not put your work into a zip file. Submit these
as separate files.
Date by which Work, Feedback and
4th February 2022
Marks will be returned:
Mark and individual written feedback sheet will be
Mechanism for return of Feedback
uploaded to the Module Site on Blackboard. For
and Marks:
further queries please email module tutor.
KF4010 Assignment October 2021 to January 2022

Learning outcomes

This assessment covers all module learning outcomes:

1. Demonstrate knowledge of set theory, logic and computer models and apply them in modelling
software, systems, and data.
2. Demonstrate knowledge of the architecture of a von Neumann computer and how storage,
arithmetic and I/O system interact in such a computer.
3. Describe how data and instructions are represented and stored in a von Neumann computer and
how high-level language abstractions relate to the machine implementation.
4. Apply appropriate tools and methods to program von Neumann machines.
5. Discuss major paradigms of Computation and their application in software systems.

Instructions for Assessment:

There are five tasks below. You must complete BOTH tasks 1 and 2. You should then choose ONE of
the options in task 3. This means you will complete three tasks in all.

Tasks 1 and 2 are each worth 30% of the marks for the module. Task 3 is worth 40% of the marks for
the module.
KF4010 Assignment October 2021 to January 2022

Task 1 – Set theory

The “Happyfields Rescue Centre” looks after dogs that have been abandoned, or can no longer be
looked after by their owners. Most dogs at Happyfields are adopted by new owners within a few
months of being brought to the centre.

The list of dogs currently in the centre is:

Name Breed

Dobbie Labrador

Toby Bulldog

Alexa Collie

Mister Mudchops Labrador

Radcliffe Greyhound

Angus Basset Hound

Wurzel Unknown

Missy Collie

There are six separate kennels. Some dogs happily share a kennel. Others need to be kept alone,
either because they can get aggressive, or because they are waiting for vaccinations.

These are the occupants of the kennels:

1 Dobbie, Radcliffe

2 Missy

3 Mister Mudchops, Wurzel

4 (currently empty)

5 Alexa, Toby

6 Angus
KF4010 Assignment October 2021 to January 2022

The dogs are taken for a walk each day, for exercise. This is done by volunteers. This is today’s list of
volunteers:

10am Susan

11am Clare

2pm Duncan

3pm Melissa

4pm Duncan

And this is the schedule for walking each kennel:

Kennel Walking time:

1 2pm

2 10am

3 2pm

4 5pm

5 4pm

6 11am

Use your understanding of set theory to explore this data. Use the set notation taught on this
module to demonstrate:

• How this information can be stored as sets and binary relations.


• How composition can be used to find out when each dog will get walked.
• How composition can be used to find out who will walk “Wurzel”.
• How set theory can be used to determine other useful information from this data.

You should explain how you have used set theory, using no more than 1000 words. The word count
does not include anything expressed in set notation. For example, if you list the contents of sets or
relations, this will not contribute to the word count.

This task is worth 30% of the marks for the module.


KF4010 Assignment October 2021 to January 2022

Task 2 –Assembly programming

Write an assembly language program for the JASPer processor. The program should allow the user to
convert a four-digit binary number to decimal. The program works as follows:

1. The user will type four digits, using only the digits 1 and 0. The digits will be displayed on the
screen as they are typed. If any other digits or letters are typed, they will be ignored and will
not be displayed.
2. The program will convert the digits to a decimal number and display it on the next line.
3. The program will then end.

Example output:

0010
2

1111
15

1010
10

Hints:

For input and output, the system uses the ASCII values of the characters. The digit “1” will be stored
as the ASCII value 49. The digit “0” will be stored as the ASCII value 48. If you want to display the
symbol “2”, you need to output the ASCII value 50.

Sometimes the program needs to display TWO characters. For example, the number 15 is displayed
as the symbol “1” and the symbol “5”. This is not automatic – you will need to display both symbols.
Fortunately, there are only two possibilities: The program will only display a single symbol, or will
display a “1” followed by another symbol. So you can handled this with a simple branch.

This task is worth 30% of the marks for the module.


KF4010 Assignment October 2021 to January 2022

Task 3 options (40%)

For the third task, you should choose ONE of the tasks below (3A, 3B,3C or 3D). The tasks are pretty
varied, so there should be something for everyone, depending on what you are interested in –
programming, logic, computing history. All of these tasks will require you to do some extra study,
beyond what we have covered on the course. Remember to reference any material that you have
used. See the document about referencing on Blackboard.

Option 3A – Assembly programming

Create a JASPer assembly language program that allows the user to play a game of higher/lower. The
program will choose a random number from 1 to 16. The user will try to guess what it is. If the user
guesses a number that is too low, the program will say, “Higher.” If the user guesses a number that is
too high, the program will say “Lower.” If the user guesses the correct number, the program will say,
“Correct.”, and also display the number of guesses the user made before getting the right answer.

Example output:

8
Higher
12
Lower
10
Higher
11
Correct. You made 4 guesses.

Hints:

You can change the format of the output if you want, as long as it is still clear to the user.

Sometimes the user will enter two digits, and sometimes only one. If you want, you can ask the user
to always use two digits – so to input 7, they should type “07”.

There is no function in JASPer to get a random number. You can use the clock to get a random
number, though. The current time is stored in memory location $00E8. If you do a bitwise AND
calculation with the number 15, this will give you a number from 0 to 15. Add 1 to get a number
from 1 to 16. For example, if you store the time into register A, you can do

AND #$0F, A

To get a number from 0 to 15 in A.

This task is worth 40% of the marks for the module.


KF4010 Assignment October 2021 to January 2022

Option 3B – Logic circuits

For this task, you will need to use the last two digits of your student code. If the last two digits are
identical, you should use the last two non-identical digits. For example, if your student code is
20231999, then you should use the digits “1” and “9”.

During the module, you were taught how to use Digital Works to simulate logic gates and digital
circuits. Digital Works allows you to use a “7-segment LED”. This can be found by clicking this hard-
to-see button:

A 7-segment LED has seven inputs. These are used to light up one of seven lights on the display,
which can be used to display numbers. For example, by setting five inputs to “on”, you can make the
number 3:

If you make this circuit and experiment


with it, you will quickly see how it works:

Your task is to create a circuit with two interactive inputs (buttons) named A and B. These are
connected to a 7-input LED using logic gates.

If BOTH buttons are OFF, the 7-segment LED should be blank.

If BOTH buttons are ON, the 7-segment LED should display all LEDs (the number 8).

If button A is ON and button B is OFF, the LED should display the last digit in your student code.

If button B is ON and button A is OFF, the LED should display the penultimate digit your student
code. (If the last two digits are the same, use the last digit that is not the same as the final digit, as
discussed above.)

To do this, you should first create a truth table, showing the two inputs and the seven outputs to the
LEDs. This truth table should show the correct outputs for all situations and should be neat and tidy.

You should then create the circuit using Digital Works and test that it performs correctly.

Submit the truth table (in the document), a screenshot of your circuit (in the document) and the
Digital Works .dwm file (as a separate file).

This task is worth 40% of the marks for the module.


KF4010 Assignment October 2021 to January 2022

Option 3C – Computing history article

You have been asked by the magazine “Geek Weekly” to write a feature on the work of Ada
Lovelace. You should aim the article to be suitable for computer enthusiasts, and there are some
constraints in fitting the article within the space available. Read the guidance below from the editor.

Hi. Thanks for offering to write a feature. A lot of our readers have been asking about the work of
Ada Lovelace. There is a lot of information about Ada’s life, and several people have called her the
“first programmer”, but there is not much information on what she actually programmed and
how. Most of the information is written by historians, and they tend to be vague about the
technical details. Can you write an article that fills this gap? Don’t spend much time on
biographical details. Our readers mainly want to know: What did she program? What did the
“program” look like? What did it do? What was it used for? Why did she write it?

To fit the article into the available space, it needs to be only 1000 words long. You can maybe go
over by 10%. We only have space for two pictures. One can be a photograph – perhaps of her or
the machine. The other should be something technical – perhaps a diagram of the structure of the
program, or something with a bit of mathematics in. If you use an image from somewhere else,
that’s fine, but make sure you provide a reference so we can get permission from them to
reproduce it.

This task is worth 40% of the marks for the module.


KF4010 Assignment October 2021 to January 2022

Option 3D – Computing history video

You have been asked to create a YouTube video about Ada Lovelace for the “True Geek” channel.
(Don’t look for it – I made it up.) You should aim the video for an audience of computer enthusiasts.

Hi. Thanks for offering to make a video for the channel. A lot of our subscribers have been asking
about the work of Ada Lovelace. There is a lot of information about Ada’s life, and several people
have called her the “first programmer”, but there is not much information on what she actually
programmed and how. Most of the information is written by historians, and they tend to be vague
about the technical details. Can your video fill this gap? Don’t spend much time on biographical
details. Our subscribers mainly want to know: What did she program? What did the “program”
look like? What did it do? What was it used for? Why did she write it?

The video should be no more than 20 minutes long, or our subscribers will get bored and switch
off. You can maybe go over by 10% if you are really interesting. You can use lecture slides if you
want but try to make use of lots of visuals – preferably technical content. Our subscribers like
infographics and technical details. Don’t be afraid to include mathematics, as long as you explain
it. If you use images from somewhere else, that’s fine, but make sure you provide references so we
can get permission from the copyright owners.

Submission notes for option 3D. Put the video on YouTube (or another streaming service, if you
prefer). It does not need to be publicly visible, as long as you can still share it with us. On your
submission document, include the link to the video and any references. References should also be
included at the end of the video.

This task is worth 40% of the marks for the module.


KF4010 Assignment October 2021 to January 2022

Marking criteria

As discussed above, the first two questions are worth 30% of the marks for the module. The
remaining questions are worth 40% and you should only do one of them.

At University level, to get marks in the first-class region, you should aim to go beyond the task set,
with further reading, exceptional insight or creativity. Some suggestions for how to do this are
provided with each rubric.

Marking rubrics

Question 1 – Essay on set theory

Mark range Criteria

25-30 An exceptional answer that demonstrates further


reading, exceptional insight or creativity. (For example,
the student has used a wide range of set theory concepts
such as subsets, power sets, etc. in exploring the data.)

19-24 An excellent answer that fully explores the data using


correct set theory notation with only very minor errors.

13-18 A good answer that uses set theory correctly to explore


the data but does not fully address the question.

7-12 A partial answer which addresses the question but omits


key elements and may have serious errors.

1-6 A very limited attempt to answer the question. Some


useful content, but the answer is largely incomplete or
contains serious errors.

0 The task has not been attempted or the answer does not
relate to the question.
KF4010 Assignment October 2021 to January 2022

Question 2 – Assembly language program

Mark range Criteria

25-30 An exceptional answer that demonstrates further


reading, exceptional insight or creativity. (For example,
the student has used advanced assembly language
concepts such as subroutines and interrupts.)

19-24 A fully working program that completely performs the


task as specified and is also reliable and well-structured.

13-18 A program that performs part of the task as specified. It


may not work correctly in all situations and may be badly
structured.

7-12 A partial program which only performs a part of the


functionality in some circumstances.

1-6 A very limited program. It may not assemble correctly or


may only complete a small part of the intended task, but
which contains some useful code.

0 The task has not been attempted or the answer does not
relate to the question.
KF4010 Assignment October 2021 to January 2022

Question 3A – Complex assembly programming

Mark range Criteria

33-40 An exceptional answer that demonstrates further


reading, exceptional insight or creativity. (For example,
the student has provided well-structured code using
functions that will work in more general situations.)

25-32 A fully working program that completely performs the


task as specified and is also reliable and well-structured.

17-24 A program that performs part of the task as specified. It


may not work correctly in all situations and may be badly
structured.

9-16 A partial program which only performs a part of the


functionality in some circumstances.

1-8 A very limited program. It may not assemble correctly or


may only complete a small part of the intended task, but
which contains some useful code.

0 The task has not been attempted or the answer does not
relate to the question.
KF4010 Assignment October 2021 to January 2022

Question 3B – Logic circuit

Mark range Criteria

33-40 An exceptional answer that demonstrates further


reading, exceptional insight or creativity. (For example,
the student uses advanced elements, such as the use of
memory and/or timing elements or using logic theory to
reduce the number of gates needed.)

25-32 A fully working circuit that completely performs the task


as specified. The truth table is correct, neat and well-
organised.

17-24 A circuit that performs most of the task as specified. It


may not work correctly in all situations. The truth table
may have small errors or is badly organised.

9-16 A circuit that performs some of the task but does not
work correctly. The truth table may have errors but is
recognisable as a truth table that is relevant to the
problem.

1-8 The circuit does not work correctly, but parts of the
circuit can be used to create a working system. A truth
table is provided but may not clearly match the task set.

0 The task has not been attempted or the answer does not
relate to the question.
KF4010 Assignment October 2021 to January 2022

Question 3C – History essay

Mark range Criteria

33-40 An exceptional answer that demonstrates further


reading, exceptional insight or creativity. (For example,
the student may use clear explanations to discuss highly
complex aspects of Ada Lovelace’s work.)

25-32 An excellent essay that clearly explains the technical


aspects of Ada Lovelace’s work. The essay is structured
and presented well, and clearly references all sources.

17-24 A good essay that explains some technical aspects of Ada


Lovelace’s work but does not explore some key areas or
has poor explanations. Sources are referenced.

9-16 An essay that discusses Ada Lovelace’s work but which


does not address the technical aspects in any detail. The
essay may be badly structured and may be hard to
understand. Sources are not referenced correctly but are
acknowledged.

1-8 An essay that does not answer the question but contains
some relevant information or discussion.

0 The task has not been attempted or the answer does not
relate to the question.
KF4010 Assignment October 2021 to January 2022

Question 3D – History video

Mark range Criteria

33-40 An exceptional answer that demonstrates further


reading, exceptional insight or creativity. (For example,
the student may use clear explanations to discuss highly
complex aspects of Ada Lovelace’s work.)

25-32 An excellent video that clearly explains the technical


aspects of Ada Lovelace’s work. The video is presented
well in a clear and logical order, and clearly references all
sources.

17-24 A good video that explains some technical aspects of Ada


Lovelace’s work but does not explore some key areas or
has poor explanations. Sources are referenced.

9-16 A video that discusses Ada Lovelace’s work but which


does not address the technical aspects in any detail. The
content may be badly structured and may be hard to
understand. Sources are not referenced correctly but are
acknowledged.

1-8 A video that does not answer the question but contains
some relevant information or discussion.

0 The task has not been attempted or the answer does not
relate to the question.
KF4010 Assignment October 2021 to January 2022

ASSESSMENT REGULATIONS

You are advised to read the guidance for students regarding assessment policies. They are available
online here.

Students must retain an electronic copy of this assignment (including ALL appendices) and it must
be made available if requested by the University.

Late submission of work

Where coursework is submitted without approval, after the published hand-in deadline, the
following penalties will apply.

For coursework submitted up to 1 working day (24 hours) after the published hand-in deadline
without approval, 10% of the total marks available for the assessment (i.e.100%) shall be deducted
from the assessment mark.

Coursework submitted more than 1 working day (24 hours) after the published hand-in deadline
without approval will be regarded as not having been completed. A mark of zero will be awarded
for the assessment and the module will be failed, irrespective of the overall module mark.

These provisions apply to all assessments.

Word limits and penalties

The essay parts of this assignment (tasks 1 and 3C) have word limits. If the essay is within +10% of the
stated word limit no penalty will apply.

The word count does not include: appendices, glossary, footnotes, tables, reference lists, diagrams,
mathematical notation, sections of code.

Please note, in-text citations [e.g. (Smith, 2011)] and quotations [e.g. “If you think good architecture
is expensive, try bad architecture.” (Foote, B. Yoder, J)] are INCLUDED in the word count.

The full Word Limit Policy is available here.

Academic Misconduct

This is an individual assignment. You may not collude with any other individual or plagiarise their
work.

The Assessment Regulations for Taught Awards (ARTA) contain the regulations and procedures
applying to cheating, plagiarism and other forms of academic misconduct.

The full policy is available at here.

You are reminded that plagiarism, collusion and other forms of academic misconduct as referred to
in the Academic Misconduct procedure of the assessment regulations are taken very seriously.
Assignments in which evidence of plagiarism or other forms of academic misconduct is found may
receive a mark of zero.

You might also like