Fundamentals of Computing Assignment Question
Fundamentals of Computing Assignment Question
Coursework Weight: This coursework accounts for 100% of your total module
grades.
1
Plagiarism Notice
Section 2.3: “The following broad types of offence can be identified and are
provided as indicative examples
(i) Cheating: including copying coursework.
(ii) Falsifying data in experimental results.
(iii) Personation, where a substitute takes an examination or test on behalf of
the candidate. Both candidate and substitute may be guilty of an offence
under these Regulations.
(iv) Bribery or attempted bribery of a person thought to have some influence
on the candidate’s assessment.
(v) Collusion to present joint work as the work solely of one individual.
(vi) Plagiarism, where the work or ideas of another are presented as the
candidate’s own.
(vii) Other conduct calculated to secure an advantage on assessment.
(viii) Assisting in any of the above.
2
Summary
This is an individual coursework worth 100% of the total module mark. It requires
developing a software application which simulates the behavior of a digital circuit
performing integer addition and writing a report to describe the model, algorithm,
data structures needed as well as the program developed.
Tasks
a) Construct a model of a byte adder assembled using electronic gates based
on the model of the bit adder (represented by figure 1 below).
3
The details of each task are as follows.
Requirements
1. Model
● The model must be based on the bit adder
The model may include number of bit adders linked to form a byte adder.
2. Algorithm
● The algorithm for adding two integers must be based on the use of
standard logical operations which have direct hardware implementation
(AND, OR, XOR, NOT, NAND, NOR)
4. Program
● The program must check the input data for the data type permitted
(representation of an integer) and the data value limitations (the value
of the integer must not exceed the actual size of byte-coded integers,
i.e. min 00000000 and max 11111111 in Base 2 or min 0 and max 255 in
Base 10).
5. Testing
● The test data used for testing the programs must include normal data,
special values (if any), max/min values, wrong data types, wrong values.
5
6. Report
● The report must present all components of the work – model, algorithm,
data structures, program and testing.
● The report must have a title page, table of contents, page numbers, list
of figures and tables, footer.
● The report must also include a Conclusion section where they need to
reflect on the work done.
6
Marking Scheme
7
handling has been done). Code is properly structured
and follows good programming practices.
6. The program has been well tested with at least 5
proper test cases, and presented with proper testing
format.
7. The report is well structured, written well, and free
from spelling and grammatical errors and is written at
a very good quality standard. Good conclusion has
been given at the end.
8
6. The program has been well tested with at least 5
proper test cases and presented well.
7. The report is a structured one, written reasonably well
but may contain only minor typos and grammatical
errors but on the whole is good report. Good
conclusion has been given at the end.
9
2. The adder model is reasonably explained. A
satisfactory level of understanding of the topic is seen.
3. The program’s algorithm has been described in a
stepwise manner as well as in terms of a flowchart;
pseudocode has been presented in a satisfactory
manner.
4. Python data types/data structures have been properly
explained and a satisfactory level of understanding has
been displayed.
5. In the program minimum requirements have been met
and the program contains minor errors.
6. The program has been well tested with at least 5
proper test cases.
7. The report is written at a satisfactory level but contains
spelling and grammatical errors.
10
C10 – Work Showing Evidence:
1. Introduction section has been poorly written. Proper F1 37
explanations are lacking.
2. The adder model is poorly explained.
3. The program’s algorithm has been described in a
stepwise manner as well as in terms of a flowchart;
pseudocode has been presented in a poor manner.
Explanations are not clear.
4. Python data types/data structures have been poorly
explained and a poor level of understanding has been
displayed.
5. The program does not work well. The program
contains errors.
6. The program has not been properly tested.
7. The report lacks structure presented poorly and
contains spelling and grammatical errors, which on the
whole is not at an unacceptable standard.
11