0% found this document useful (0 votes)
33 views32 pages

IFY Computer Science Syllabus

The document outlines the syllabus for the Computer Science International Foundation Year (IFYCS001) for the 2023/24 academic year, detailing the module's aims, content, assessment structure, and learning outcomes. It emphasizes the integration of theory and practice in computer science, covering topics such as programming principles, computational thinking, and ethics. The assessment is divided into a portfolio (30%), coursework (30%), and a final exam (40%), with a focus on developing independent learning and critical thinking skills.

Uploaded by

joanneballutube
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views32 pages

IFY Computer Science Syllabus

The document outlines the syllabus for the Computer Science International Foundation Year (IFYCS001) for the 2023/24 academic year, detailing the module's aims, content, assessment structure, and learning outcomes. It emphasizes the integration of theory and practice in computer science, covering topics such as programming principles, computational thinking, and ethics. The assessment is divided into a portfolio (30%), coursework (30%), and a final exam (40%), with a focus on developing independent learning and critical thinking skills.

Uploaded by

joanneballutube
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

IFYCS001 2023/24

COMPUTER
SCIENCE
INTERNATIONALFOUNDATION
INTERNATIONAL FOUNDATION YEAR
YEAR (IFY)
(IFY)

© Northern Consortium UK Ltd. 0


TABLE OF CONTENTS

Syllabus Overview ............................................................................................................................... 2

Assessment .......................................................................................................................................... 3

Assessment Objectives ........................................................................................................................ 4

General Learning Outcomes ................................................................................................................ 5

Teaching, Learning and Assessment Guidance ................................................................................... 6

Resources .......................................................................................................................................... 11

Module Content ................................................................................................................................ 12

Appendix A - Exemplar Teaching Plan .............................................................................................. 17

Appendix B – Portfolio Guidance for Students ................................................................................. 26

Appendix C - Assessment Criteria ..................................................................................................... 27

Appendix D - Marking & Feedback Sheet ......................................................................................... 30

© NCUK Ltd 2023 1


SYLLABUS OVERVIEW
Module Code IFYCS001

Module Name Computer Science

Programme Name International Foundation Year

Percentage breakdown of Portfolio 30%

Percentage breakdown of Coursework 30%

Percentage breakdown of Exam 40%

The syllabus will usually be delivered over two 15-week


Delivery period
semesters

Recommended minimum teaching hours 120 (4 hours per week for 30 weeks)

Recommended minimum independent


120 (4 hours per week for 30 weeks)
study hours

AIMS
The aim of this module is to introduce learners to computing and provide them with a foundation for
further study of Computer Science related courses in higher education. The module includes themes that
underpin such areas as computational thinking, programming thinking, ethics, and security. The
curriculum aims to demonstrate an integration between theory and practice while incorporating real
world experience.

The aims of this module are for learners to:

 Understand and apply the fundamental principles and concepts of Computer Science
 Become confident users of various tools and techniques relevant to the course
 Gain practical experience to analyse problems in computational terms
 Engage in critical thinking, creativity, and innovation
 Build skills needed to become independent learners.

TOPICS OF STUDY
 Computer Architecture  Data Types and Structures

 Programming Principles in Python  Networking and Data Communications

 Fundamentals of Computational Thinking  Problem Solving, Algorithms and Program Design

 Modularity and Functions  Security

 Data and Boolean Logic  Software and Development Process and Concepts

 Types of Software and Computer  Ethics and Impact of Computing


Systems

© NCUK Ltd 2023 2


ASSESSMENT
What is Assessed? Topics B, C, D, G, I, K

Duration/Word
N/A
Count

Portfolio Total Marks 100

A set of progressively more difficult and complex


Rubric programming exercises and associated tasks
completed throughout Semester 1.

Contribution to
30%
Overall Grade

What is Assessed? Topics B, C, D, G, H, I, J, K, L

Duration/Word
Solution + 1500 word report
Count
Total Marks 100
Coursework
A set of scenarios from which learners choose one to
provide the solution. Learners are expected to
demonstrate, through their solution, an appropriate
Rubric
range of skills and knowledge identified by the
topics. Evidence provided in the form of a workable
solution and a report.

Contribution to
30%
Overall Grade

What is Assessed? Topics A-L

Duration/Word
2 hours 30 minutes
Count
Final Total Marks 100
Examination
 20 multiple choice questions
Rubric
 Short answer questions

Contribution to
40%
Overall Grade

© NCUK Ltd 2023 3


ASSESSMENT OBJECTIVES
Portfolio Coursework Exam
Description Overall
(30%) (30%) (40%)
Knowledge & Understanding:
Demonstrate factual, procedural and
AO1 theoretical knowledge and understanding 20% 20% 60% 35%
of fundamental principles and concepts of
computer science.

Application:
Apply knowledge and understanding of
AO2 the principles and concepts of computer 60% 30% 10% 30%
science, to design and program computer
systems solve well-defined problems
Analysis and Evaluation:
Analyse problems in computational
terms:
AO3 20% 50% 30% 35%
 to make reasoned judgements
 to design, program, evaluate and
refine solutions

© NCUK Ltd 2023 4


GENERAL LEARNING OUTCOMES
On successful completion of this module, a learner will be able to:

 Demonstrate knowledge and understanding of the fundamental


Knowledge and principles and concepts of computer science and software development.
understanding  Apply their knowledge and critical understanding to problems and issues
arising from real world situations.

 Analyse problems in computational terms using abstraction, logic,


algorithms and data representation.
Intellectual skills
 Evaluate the effectiveness of a computer program to solve a well-
defined problem.

 Develop computer programs written in the Python language.


Practical skills  Use appropriate generic ICT software in the analysis of data and
presentation of findings.

 Undertake independent study.


Transferable skills  Make appropriate use of information and research from a variety of
sources.

© NCUK Ltd 2023 5


TEACHING, LEARNING
AND ASSESSMENT GUIDANCE
Teachers should use a range of different learning and delivery styles in order to give students experience
of the types of approach they will encounter in an NCUK University e.g. lectures, tutorials, seminars,
laboratory practicals etc. Appendix A (Exemplar Teaching Plan) suggests a delivery format designed to
facilitate teaching and learning in each topic. This is provided as a guide and teachers are at liberty to
diverge from this plan. The Study Centre may also choose to timetable more than the minimum number
of teaching hours (4 hours per week) to meet the needs and abilities of students.

Teachers should take every opportunity to use case study and data response or practice material to
develop the ability of students to apply their knowledge and develop their skills of handling and evaluating
information. Tutorials should involve both group and individual activities, with a strong emphasis on
applying knowledge from lectures and independent study to problem-solving. It is important for all
students to have opportunities to speak in English during each tutorial. Suggested activities include
students being encouraged to explain in English their answers in pairs or small groups, students providing
answers to the whole class whilst standing at the front of the group, student-led presentations, and group
activities that require discussion and debate.

Students will have different backgrounds in the subject and it will be necessary to provide opportunities
for directed independent study, so as to allow each student to develop at their own pace to reach the
required level for the assessments. Activities (homework) for independent study should be set weekly. It
is advisable to also consult with EAP teachers when planning homework as there may be subject tasks
which can support the development of academic English (and vice-versa).

DEVELOPING INDEPENDENT LEARNING


It is important that the learners are given the guidance and support to develop from pupils within a teacher -
led learning environment, to students who feel confident taking ownership of their learning through
independent study. As learners may have an educational background where concepts of teaching and
learning are different to those prevalent in NCUK Universities, aspects of independent learning should b e
introduced gradually throughout the programme.

Below are suggested examples of ideas which could be used to encourage independent learning:

Acknowledging Failure and Success

A fear of failure or making mistakes can be a significant obstacle which preven ts learners from being
independent. It is therefore important to acknowledge the benefits of failure with regard to learning early
in the module delivery. This could be explored in more depth through practical examples and calculations
in which failure leads to success. Teachers should ensure that students are also praised, particularly
through formative feedback, and encourage learners to demonstrate development from their past
mistakes.

Classroom Reversal

Where possible, teachers might entrust the teaching, practice and revision of sub-topics or items from the
syllabus to students themselves. Sharing the responsibility of teaching with students can be a more
motivating way to encourage them to take their first steps into independent study than being asked to
study independently for purely personal reasons. It also provides a strong reason why independent learning
© NCUK Ltd 2023 6
should be carried out (in this case, to support their peers) and a visible outcome of their independent work
(the performance of their peers).

A demonstration of possible student-led tasks and activities can be a useful way to introduce this concept
within the classroom. A clear schedule for student-led sessions can also help to make it routine. Sessions
could be led by groups initially before asking students to lead them individually when they have grown in
confidence.

PAST ASSESSMENTS
As this is a new module, no past assessments will be available during the first year of delivery. Exemplar
assessments are available and can be used to support preparation for formative and summative
assessments. It is important that students are guided to sections and questions which will support the
meeting of current learning outcomes.

SUPPORTING ENGLISH LANGUAGE DEVELOPMENT


Studying technical subjects can be challenging as learners have to adopt the whole new vocabulary of
terms that they might not be familiar with. Teachers should take this into account when delivering lectures
on new topics and ensure learners get opportunities to learn and use these terms in practice.

It is important for the development of academic literacies that the delivery of the subject material is
integrated with the English for Academic Purposes (EAP) module (or EAP for Proficient Users or Research
and Communication Skills modules where appropriate). Regular communication between the subject
module teacher(s) and the EAP, EAPPU or RCS teacher(s) will provide a basis on which to support and
guide students. Students will benefit from collaborative activities, where the subject module and
EAP/EAPPU/RCS teachers jointly deliver classes in relation to activities such as essay or report writing
style and using academic sources.

Highlighting Stressed Syllables

One way to support the development of students spoken fluency and overall rhythm is to draw attention
the stressed syllable within key, subject-specific vocabulary. This can be done very simply on the board in
a number of ways and you may wish to discuss this with the EAP/RCS teacher(s) at your Study Centre in
order to align your preferred method(s). As you may be students’ main model for how to pronounce
subject-specific vocabulary, it is essential they have a clear record which they can refer to during
independent study.

Encouraging Functional & Discursive Language

When completing written and spoken tasks, such as group discussions or the presentation of ideas within
class, you may wish to encourage students to use functional or discursive language that wi ll help them to
structure and explain their ideas with greater coherence and clarity. For instance, this may include language
for agreeing /disagreeing, clarifying what they have said when they are unclear, or how to highlight a
particular point. This could be achieved by:

 Asking students to take out, look at and use language explored for this purpose within their EAP
classes. Collaboration with the EAP teacher(s) to decide when in the module particular language
will be covered and for what purpose will greatly support students’ language development.
 Make functional and discursive language relevant to your subject available in the classroom for
students to use. Adding useful language to walls or ‘vocabulary mats’ on desks can remind students
of language available to them while also encouraging independence.

© NCUK Ltd 2023 7


Allowing Learners Time to Speak

Although some students may be reluctant to speak in class, it is also important to remember that less
proficient speakers require time to construct utterances and may need some time to prepare themselves.
While silence in a classroom can sometimes feel awkward, try to avoid filling this silence with teacher talk
time, particularly when you are expecting answers from students. You may want to prepare students to
speak by giving them advance warning, for example, by giving the class time to make notes before being
asked to speak. Alternatively, you may wish to select students to answer particular questions in advance.

Referencing

As part of study for the EAP, EAPPU or RCS module, students will learn the Harvard referencing system.
Subject teachers should ensure that students carry this learning into the coursework assessments for this
module; see the ‘Resources’ section of this document for details of the referencing guide reco mmended
by NCUK. For further information about referencing and citation, please consult the EAP or RCS syllabus
(as relevant) for the texts and online resources recommended by NCUK.

© NCUK Ltd 2023 8


FORMATIVE ASSESSMENT

It is important that students are given the opportunity to engage in and submit formative assessments
and receive feedback on this work. Formative assessment should be designed to inform students of their
progress and enable them to develop and practice their skills.

In order to assist teachers in setting formative assessment, NCUK provides the following for this module:

 Exemplar assessments – a full set of exemplar assessments with mark schemes or marking criteria
are downloadable from the Teachers’ Hub. These can be used as mock assessments for students
throughout the academic year.

 Past exam questions – as this is a new module, no past assessments will be available during the
first year of delivery. These will be added in the following academic year.

In addition to the above, teachers should set regular homework tasks that allow students to understand
their strengths and weaknesses and should provide advice to students on how to improve .

Beyond developing students’ skills, the crucial element of formative assessment is the feedback provided
by the teacher.

© NCUK Ltd 2023 9


SUMMATIVE ASSESSMENT

The breakdown of summative assessment for this module and the rubrics for each component are given
on page 3 of this document. All summative assessments are provided by NCUK.

Portfolio

The purpose of a programming portfolio is to ensure that learners progressively develop their
programming competencies. It allows learners to demonstrate the mastery of each concept in a
systematic way. Exercises should be completed and checked in a regular manner throughout the
semester.

Learners will produce a portfolio based on the activities provided in the brief and based on the relevant
topics to be submitted by the end of Semester 1. Teachers at the Study Centre will be responsible for
marking the portfolio in accordance with the NCUK issued mark scheme and the assessment criteria.
See Appendix B for more information on portfolio guidance.

Coursework

The coursework assessment should be completed during Semester 2 at a point that is late enough to
have covered the topics related to the coursework assessment. Teachers are free to set their own
submission deadline. Learners will submit their coursework online via NCUK’s assessment platform. All
assessments will be subject to a plagiarism check using Turnitin.

Teachers at the Study Centre will be responsible for marking the coursework in accordance with the
NCUK issued mark scheme and the assessment criteria given in Appendix C of this document. Students
should be given sight of the assessment criteria when they are given the coursework question paper as
it helps to inform them of what is expected at each grade level.

Examination

The examination will cover topics from both semesters. Teachers at the Study Centre will be
responsible for marking the examination in accordance with the NCUK issued mark scheme.

Supporting Documents

It is essential that coursework and examinations are administered in accordance with NCUK regulations.
Please refer to the following sections of the NCUK Academic Handbook for details:

 Coursework Administration and Regulations


 Centre Marking and Recording Results
 Academic Misconduct Policy
 Examination Administration

© NCUK Ltd 2023 10


RESOURCES
Wentworth, P., Elkner, J., Downey, A.J. and Meyers, J. (2012) How to Think
Like a Computer Scientist Learning with Python3.

Available online: [Link]

Kalb, I. (2018) Learn to Program with Python 3: A Step-by-Step Guide to


Programming, Apress.

Available online: [Link]


Core Textbooks and [Link]
Resources
[Link] Resources for GCSE/ A-level standard
developed by University of Cambridge and Raspberry Pi foundation. Useful for
teachers and students.

[Link]/python/
[Link]

Python:
The Python Wiki – Essential resources: [Link]
W3Schools Tutorial on Python: [Link]
Tutorialspoint on Python: [Link]
Useful Websites

NCUK Teachers’ Hub – accessible via the NCUK learning and assessment
platform – please contact your Academic Manager for access.

Teacher Resources
 Intel i3 or above process with 8 GB RAM
 Internet connection
 Windows 10 or above or Linux with a graphics interface
 Python + IDE

Requirements for computer specification and internet access are


included in the general centre accreditation requirements, so should not
require additional investments.

Python is an open-source programming language and completely free to


Hardware and use. It is one of the most common programming languages included in
Software many degree programmes. A wide selection of free IDEs available are on
offer online.
Requirements

© NCUK Ltd 2023 11


MODULE CONTENT
All topics must be covered. Appendix A provides an Exemplar Teaching Plan which indicates the proportion
of time to be spent on each topic and activities to support student learning.

The table below details the topics and sub-topics to be covered. A set of specific learning outcomes (SLOs)
are given for each topic.

TOPIC A – COMPUTER ARCHITECTURE

CONTENT SLOs

 The structure and function of a processor, A1 Explain the basic Von Neumann model for a
including: computer system and the stored program
o Von Neumann model concept including Fetch Execute cycle.
o ALU, CU, Registers, buses, data, A2 Explain the purpose and characteristics of
addresses,
hardware components.
o RAM
A3 Differentiate general purpose and special
 Fetch Execute cycle.
purpose registers.
 I/O and Secondary storage: ROM, Optical,
flash, magnetic. SSD. A4 Describe how data are transferred between
 Factors affecting performance, including: various components of the computer system
o CPU using the address bus, data bus and control bus.
o RAM A5 Analyse the factors affecting performance of a
o Cache computer system.
o Secondary storage
o Communications
o Buses

TOPIC B – PROGRAMMING PRINCIPLES IN PYTHON


CONTENT SLOs

 Python uses and benefits. B1 Describe common application areas of Python


 Introduction to Python, including: and its relative benefits.
o IDE features and use B2 Explain, write and amend programs which use
o Data types (integer, float, bool, a variety of basic data types, variables,
string), constants and variables constants and expressions.
o Expressions/ operators /
B3 Convert a program design from pseudocode
precedence
into Python with suitable comments and
o Assignment and basic I/O
structure.
o Sequence selection & iteration: If.
Else, While, For loops B4 Explain, write, and amend programs using
o Comments sequential text file input and output.
o Simple File I/O using open, close, B5 Construct and explain a suitable test plan for a
read, write, tell, and seek methods. program.

© NCUK Ltd 2023 12


o Testing and debugging. B6 Locate, describe and debug simple logical errors
in a program segment of a given program and
test results.

TOPIC C – FUNDAMENTALS OF COMPUTATIONAL THINKING


CONTENT SLOs

 Problem solving. C1 Explain computational thinking and its uses.


 Abstraction and modelling. C2 Analyse different types of abstraction in
 Process and data models. computational thinking.
 Decomposition. C3 Explain top-down and divide and conquer
 Algorithmic thinking. techniques.
C4 Use algorithmic thinking to solve well-defined
problems.

TOPIC D – MODULARITY AND FUNCTIONS


CONTENT SLOs

 Decomposition & refinement. D1 Explain, with examples, the rationale for


 Modularity. constructing modular software.
 Functions in Python, including: D2 Explain the operation of a simple function
o Parameters/ Arguments (including arguments) in Python.
o Return values D3 Write and use a simple function with arguments
o Calling functions consisting of simple types (int, float, str, bool).
o Defining functions.
 Built in functions and libraries.

TOPIC E – DATA AND BOOLEAN LOGIC


CONTENT SLOs

 Primitive data types: integer, real, E1 Explain how numeric, text, image and sound data
Boolean, character. are represented in a computer.
 Data representation, including: E2 Convert positive integers between binary
o Binary, Hexadecimal hexadecimal and denary.
o 2’s complement, Sign & magnitude,
E3 Perform addition of binary integers in two’s
o Integer and floating point
complement representation.
o Characters, ASCII, Unicode
E4 Construct truth tables for logical expressions.
o Images, sound
 Boolean algebra: Operators, expressions, E5 Explain sequential and random-access file
truth tables. structures.
 Files: sequential and random access.

© NCUK Ltd 2023 13


TOPIC F – TYPES OF SOFTWARE AND COMPUTER SYSTEMS
CONTENT SLOs

 Firmware and Device drivers. F1 Analyse the need for, and attributes of, different
 System software and Operating systems. types of software.
 Memory management, Utility software, F2 Explain the key management tasks carried out by
Application software. the Operating System.
 Real time systems and embedded systems.
F3 Explain the functions of application software.
 AI (Artificial Intelligence) systems
 Web, Mobile and Internet of Things. F4 Describe the characteristics of a range of
computer systems.

TOPIC G – DATA TYPES AND STRUCTURES


CONTENT SLOs

 Types and type casting. G1 Use casting to change the type of variables in
 Strings: Expressions.
o string operations and formatting G2 Explain and write a program making use of
 Lists: strings and string formatting in python.
o Using lists in a program
G3 Explain and write a program making use of a list
 Important data structures/ Abstract Data in python.
Types (ADT), operations and
implementation, including: G4 Describe, with diagrams, the structure of an
o Tuple array, tuple, list, binary tree, stack and queue,
o Array their operations and in what circumstances they
o Stack are likely to be used.
o Queue
o Binary Tree.

TOPIC H – NETWORKING AND DATA COMMUNICATIONS


CONTENT SLOs

 LANs and WANs. H1 Explain the purpose of a network and


 Wireless and wired technology. differentiate a LAN from a WAN.
 Bandwidth. H2 Describe the terms networking standard and
 Need for standards and protocols. networking protocol and why they are needed.
 The Internet: H3 Explain the need for addressing in networks,
o TCP/IP, IP addresses, DNS including network number and node number.
 Switch, router, Firewall.
H4 Outline the key features of the Internet and the
 Client /server and Peer to Peer role of DNS.
architecture.
H5 Distinguish between a switch, router and
firewall and describe their principle functions.

© NCUK Ltd 2023 14


H6 Compare and contrast a client server and peer
to peer network.

TOPIC I – PROBLEM SOLVING, ALGORITHMS AND PROGRAM DESIGN


CONTENT SLOs

 Representing design (model), including: I1 Use pseudocode and flowcharts to represent


o Pseudocode algorithms to solve a well-defined problem.
o Flowcharts. I2 Explain and write algorithms for simple well-
 Designing simple algorithms. defined problems.
 Standard algorithms, including: I3 Explain algorithms for sorting (bubble sort,
o Bubble sort, insertion sort, time insertion sort).
complexity.
I4 Explain algorithms for searching (binary search,
o Binary search and linear search.
linear search).
o Stacks (push/pop/isEmpty).
o Queue (enqueue, dequeue) I5 Describe algorithms for manipulating data on a
stack.

TOPIC J – SECURITY
CONTENT SLOs

 Defining Security: J1 Define the terms confidentiality, integrity,


o confidentiality, availability in the context of security.
o integrity, J2 Explain, with examples a variety of threats to,
o availability. and vulnerabilities of computer systems.
 Threats, vulnerabilities and risk. J3 Describe security controls including passwords,
 Controls, including: biometrics, 2FA and good practice.
o Authentication: Passwords/
J4 Describe the concepts of encryption including
passphrases, biometrics, (Two-
Factor Authentication) 2FA the role of key(s).
o Encryption: Symmetric & J5 Distinguish asymmetric and symmetric
Asymmetric. Keys. encryption and describe their relative benefits.

TOPIC K – SOFTWARE DEVELOPMENT PROCESS AND CONCEPTS


CONTENT SLOs

 Overview of paradigms: K1 Outline the defining characteristics of procedural,


o Main features of procedural, functional and object-oriented programming
object oriented and functional paradigms.
programming.
K2 Explain the differences between high- and low-
 Programming languages, including:
level languages.
o High level and low-level
languages and assembly code. K3 Identify four common programming languages and
outline their application areas.

© NCUK Ltd 2023 15


o Common languages and their K4 Compare a compiled language and an interpreted
uses language.
 Translation: K5 Explain the purpose of the SDLC and outline the
o Compiler vs interpreter meaning of the requirements analysis, design,
 Software Development Life Cycle implementation, testing and maintenance phases.
(SDLC):
o Requirements analysis, Design,
Implementation, Testing and
Maintenance

TOPIC L – ETHICS AND IMPACT OF COMPUTING


CONTENT SLOs

 Social, legal, ethical and cultural issues. L1 Identify and analyse examples of social, legal,
 Examples of issues, including: ethical and cultural issues associate with the use
o GDPR, Copyright & Intellectual of computer technology.
Property L2 Explain how social, legal, ethical and cultural issues
o Social Media & gaming impact society and individuals.
o AI
o Censorship
o Environment
o Workforce impact
o Computer misuse.

© NCUK Ltd 2023 16


APPENDIX A -
EXEMPLAR TEACHING PLAN
The Exemplar Teaching Plan gives a high-level outline of how a teacher may wish to break down the
teaching of this module. This plan is only a guide and course tutors can decide on a different order as long
as it covers all the topics and prepares students for their assessments.

This module is supported by a detailed Teacher Guide, provided as a separate document, which brea ks
each week of teaching down into a number of activities and exercises. The Teacher Guide can be
downloaded from the NCUK Teachers’ Hub.

Week Hours Topic Teacher Guidance/Suggested Activities

1 1 Lecture: Module What is Computer Science? Emphasise creative problem solving


Introduction and software development.
Why study the “exciting creative and lucrative” subject of
computer science?
What can it lead to? Types of Computing degrees
Overview of the application areas and roles of Computer
Scientist
Introduction to the aims and structure of the module.
1 Tutorial: Module Research online computing careers, computing undergraduate
Introduction (UG) courses.
Prepare a summary and areas of interest. Discuss in groups.
2 Topic B: Combined Lecture/demo/lab practical: Programming languages
Programming in Why Python? - Python application areas and benefits
Python Getting started: Python website, downloading and using the
Lecture/Lab selected IDE, “Hello World” program explained,
Terminology: Script, shell, Interpreter, file extension. Exercises
modifying and running simple sequential programs.

Portfolio Exercises 1-3


2 1 Topic A: Development of Computers: 1940’s Stored Program Digital
Computer Computers: Manchester Mk 1 & EDSAC. Instructions and data.
Architecture Von Neumann architecture. Address /Data / control buses.
Lecture Processor, Memory, secondary storage.

1 Tutorial Tutorial exercises on computer architecture and internal


components of computer system
2 Topic B: Code and data, Data types Integer, Float, String, Boolean.
Programming in Variables, Constants, statements, Assignments, expressions,
Python arithmetic operators, precedence, brackets
Lecture/Lab Printing variables, expressions etc

© NCUK Ltd 2023 17


Portfolio Exercise 4
3 1 Topic A: Processor: ALU/ CU/ Clock/ Registers/ Fetch Execute Cycle.
Computer Machine code instructions. Assembly code.
Architecture
Lecture
1 Tutorial Tutorial exercises: Boolean expressions and truth tables. Logic
diagrams.

Introduction to Coursework
2 Topic B: Consolidation and extension
Programming in The idea of an algorithm for calculation. Simple examples, idea
Python of pseudocode.
Lecture/Lab Unpicking assignment x = x+1
Variable naming conventions/rules, camelcase. Case sensitivity,
Keywords, comments, Input()
Discuss errors: syntax, logical, exceptions with demonstrations.
What is debugging?

Portfolio Exercises 5, 6
4 1 Topic A: Input, Output, RAM, units (Kb, Kib etc) RAM and ROM.
Computer Secondary storage, Magnetic, flash and optical storage devices.
Architecture Cache
Lecture The factors affecting the performance of the CPU: clock speed,
number of cores, cache.
1 Tutorial Tutorial exercises
2 Topic D: Built In Functions: Arguments, Results.
Modularity and Examples: type(), abs(), bin(), hex(),
Functions Importing math module. A few maths functions such as
Lecture/Lab [Link](). Maths constants such as [Link].
Type conversion (casting).
Practice and portfolio exercises

Portfolio Exercise 7
5 1 Topic E: Data and Boolean logic, logic statements and expressions, AND OR NOT
Boolean logic NAND NOR, Precedence Truth tables
1 Tutorial Tutorial Exercises: preparing for Coursework Assignment, define
and plan requirement of problem solving, decomposition and
Boolean logic

© NCUK Ltd 2023 18


2 Topic D: Introduction to problem solving: Decomposition and refinement,
User defined modules, examples from real world problems. Benefits of
functions: 1 modularity: Reuse, reduced cognitive load.
Lecture/Lab Introduction to user-defined functions in Python Simple
examples without arguments.
Simple problem-solving exercise involving decomposition.
Exercises defining functions and calling without arguments.
Discuss problem solving for the chosen scenario of Coursework
Assignment
6 1 Topic E: Data and Denary, Binary and Hexadecimal representation and conversion
Boolean logic Representing unsigned Integers in Binary and Hexadecimal
Signed integers in binary. Sign and Magnitude representation.
Two's complement representation and addition.
1 Tutorial Tutorial exercises

2 Topic D: Consolidation and extension: Examples and exercises on Turtle


Modularity and graphics, such as those out of Chapter 3 Hello, little turtles!
Functions From

Lecture/Lab How to Think Like a Computer Scientist: Learning with Python 3


Extension by introducing functions (but maybe leave loops till
later) This is a good way of preparing for functions with
arguments.
Introduce global and local variables and scope.

Preparing for Coursework Assignment: define global and local


variables for the solution.

Portfolio Exercise 8
7 1 Topic E: Data and Representation and normalisation of floating point numbers in
Boolean logic binary.
1 Tutorial Tutorial exercises

2 Topic D: User defined functions with arguments/ parameters


User defined Examples from Turtle graphics
functions: 2 Exercises reading functions and tracing the values of variables.
Lecture/Lab
Introduce trace tables
Practice reading, modifying and writing functions
Suggestion of a mixture of numerical and Turtle graphics

Portfolio Exercises 9, 10, 11


8 1 Topic E: Data and Representation of text: character sets (ASCII and UNICODE)
Boolean logic Representation of images: bitmapped graphics; overview of
vector graphics. Overview of sound representation.
1 Tutorial Tutorial exercises

© NCUK Ltd 2023 19


2 Topic B: Selection/ conditional statements
Programming in Boolean / logical operators: AND/OR/NOT Truth tables
Python Flowchart for IF THEN ELSE
Lecture/Lab ELIF, Nested conditionals
Exercises using conditionals
Trace tables, Flowcharts
Simple programming with selection statements

Preparing for Coursework Assignment: define where


conditional/selection statements may be used for the solution
9 1 Topic E: Data and Files and file types: Text/binary with examples. Records,
Boolean logic Sequential/ Random access. Sequential files.
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Draw


flowcharts/pseudocode for the solution to be developed
2 Topic B/D: Extension/ consolidation
Programming in Quiz/ exercises using flowcharts/pseudocode/ trace tables and
Python & further programming with functions and conditionals.
functions
Portfolio Exercises 12, 13
Lecture/Lab
10 1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Draw


flowcharts/pseudocode for the solution to be developed
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Draw


flowcharts/pseudocode for the solution to be developed,
consider while loop, counters requirement for the solution
2 Topic B: Iteration: While Loop, Counters.
Programming in Reinforce with Pseudocode and flowcharts.
Python Eg: Use a case study to build and integrate knowledge such as
Lecture/Lab guess the numbers game from Chapter 6 of Kalb, I. (2018)
11 1 Topic F: Types of Types of Software: Overview, relationship to hardware and
Software and firmware. System Software: The need for, function and purpose
Computer of operating systems. Types of OS (Real time, distributed, multi-
Systems user, virtual machine).
Lecture
1 Tutorial Tutorial exercises

2 Topic B: Iteration continued (For) and introduction to lists.


Programming in Use example of iterating through a list,
Python Break statement
Lecture/Lab Tracing loops

© NCUK Ltd 2023 20


Introduction to breakpoints and debugging.

Portfolio Exercises 14, 15

12 1 Topic F: Software Overview of OS function & structure Operating Systems:


Lecture Processes/ scheduling;, Interrupts.

1 Tutorial Tutorial exercises


Use the topics discussed for the justification of investigation of
the solution to be developed. How does the OS functions and
Structure of Operating Systems are to be considered?
2 Topic G: Data Distinguishing a string (compound type) from simple type such
Types and as integer, float.
Structures: Programming with strings and string functions : length,
Strings
Accessing characters, iterating through a string, substrings
Lecture/Lab (slice), split method. String format method. String comparison,
Overview of built-in string operations.
Exercises to explain code, tracing, modifying programs,
debugging.

Portfolio Exercise 16
13 1 Topic F: Software Operating Systems: Memory management with outline of
Lecture Virtual Memory

1 Tutorial Tutorial exercises


Use the topics discussed for the justification of investigation of
the solution to be developed
2 Topic G: Data Introduce concept of Abstract Data Type (ADT): structure and
Types and operations: link to computational thinking.
Structures: Tuples Tuples: definition, structure, operations and programming in
and Lists Python.
Lecture/Lab Lists: terminology: Collections, elements, sequences.
Characteristics of lists – can be different type elements,
mutability. Nested lists.
Programming with lists: creation, access, index, length,
membership.
Exercises
14 1 Topic F: Software Application Software and licensing models.
Lecture Software development overview: IDE, Translators, Compiler,
Interpreter.
1 Tutorial Tutorial exercises
Use the topics discussed for the justification of investigation of
the solution to be developed
2 Topic G: Data Further programming with lists: concatenation, slices, deleting
Types and an element.
Structures: Lists Passing lists to functions. Call by reference.
and Arrays

© NCUK Ltd 2023 21


Lecture/Lab Arrays: Concepts of arrays. Similarity and difference from a
python list. Multi-dimensional arrays. Relative advantage of
arrays and lists. Python array module.
Exercises and portfolio.

Portfolio. Exercise 17 – 19

15 Feedback on Students are expected to produce an outline of the coursework


Coursework assignment. They must have chosen the solutions and be able
to provide their approach to the solution. Teachers may give
feedback on improvement of the solution, what design aspects
they may be looking to acknowledge in the next weeks.

16 1 Topic F: Real time systems


Computer Embedded systems
Systems Lecture Data processing
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Approach to analysis,


Discuss computer systems, characteristics, and data processing
requirements
2 Topic G: Data Define Stack ADT and its operations/ methods (push; pop;
Types and peek; is_empty) Diagram. Implementing a stack in pseudocode
Structures: Stack and Python using a list. Trace table for example. Discuss
and Queue examples of use.
Lecture/Lab Define Queue ADT and its operations (enqueue; dequeue;
is_empty). Diagram. Implementing a queue in pseudocode and
Python using a list. Trace table for example. Discuss examples
of use.
Exercises and portfolio.
17 1 Topic F: AI systems e.g. ChatGPT, Bard, etc.
Computer
Systems Lecture
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Approach to analysis,


Discuss AI systems

2 Topic G: Data Define Binary Tree and use diagrams to discuss terminology
Types and (parent/child etc.), insertion/ deletion/ search. Concepts will be
Structures: Binary examined but not coding a tree. Pseudocode is useful to explain
Tree algorithms. However, it is a good opportunity to introduce
Lecture/Lab optional advanced topics such as recursion and reading/ tracing
a coded example of search in python.
Exercises
18 1 Topic F: Distributed systems and the Internet, Web, Mobile
Computer Internet of Things
Systems Lecture Cloud architecture

© NCUK Ltd 2023 22


1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Consider the


characteristics of variety of computer system, how does this
imply on the solutions?
2 Topic G: Data Define Binary Tree and use diagrams to discuss terminology
Types and (parent/child etc.), insertion/ deletion/ search. Concepts will be
Structures: Binary examined but not coding a tree. Pseudocode is useful to explain
Tree algorithms. However, it is a good opportunity to introduce
Lecture/Lab optional advanced topics such as recursion and reading/ tracing
a coded example of search in python.
Exercises

Preparing for Coursework Assignment: Extended teaching and


learning for exceptional achievement. Advance topics to be
introduced on to the solution
19 Topic H: Characteristics of networks
Networking and Client-server and Peer to Peer networks
Data
The importance of protocols and standards.
Communications
Lecture LANs and WANS
Addressing: Network and Node. Routing
1 Tutorial Tutorial exercises

2 Topic B: Recap of Files and file types: Text/binary with examples.


Programming in Records, Sequential/ Random access. Sequential files.
Python: Files Files in Python: Open/close/read/write. Examples and exercises
Lecture/Lab of reading/writing sequential text files.

20 1 Topic H: The Internet,


Networking and TCP/IP stack overview: Protocol layering, DNS, WWW.
Data
Hardware: Switch, Router, Firewall.
Communications
Lecture Wireless and Wired Networks.
Bandwidth
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Write algorithm for a


well-defined solution
2 Topic I: Follow on from Topic B; Recap on algorithmic thinking and
Problem-solving, modelling program design using pseudocode or flowcharts.
Algorithms: Sort Exercise: searching an unordered list – pseudocode and python
Efficiency metrics for linear search: No of comparisons
Searching an ordered list of numbers: Binary search on an
ordered array of numbers. Search on a binary tree. Pseudocode.
Efficiency of binary search. (Wentworth et Al, ch 14)
21 1 Topic J: Security: Security concepts: Confidentiality, Integrity and Availability,
lecture Threat, vulnerability, impact, likelihood. Risk based approach.

© NCUK Ltd 2023 23


Examples of threats, vulnerabilities and topical security
breaches.
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Approach to


analysis/design, discuss security systems, confidentiality,
integrity and availability, vulnerability, What are the potential
security threat to the solution and what are the approaches to
security?
2 Topic I: Problem- Sorting – the need for efficient algorithms.
solving, Exercise: intuitive sort of 10 numbers – discussion in groups.
Algorithms: Sort
Bubble sort: explain by example; making more efficient – stop
when no swaps; pseudocode: students translate to python.
Example solutions
Efficiency, best- & worst-case scenarios.
22 1 Topic J: Security: Threats and controls – 1
Lecture Social Engineering. Malicious software such as virus,
ransomware, Trojans.
Controlling risks: Multi-factor and biometric authentication,
Passphrases, updates good practice,
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Approach design,


discuss security systems, confidentiality, integrity and
availability, vulnerability, What are the authentication
procedures to be implemented? What good practices can be
introduced, implemented?
2 Topic I: Insertion Sort: explain by example. Pseudocode: students
Problem-solving, translate to python. Comparison with Bubble sort. Efficiency.
Algorithms: sort Optional extension: discussion of other sort algorithms such as
merge sort / quicksort.
23 1 Topic J: Security: Encryption. Secret key encryption and public key encryption.
Lecture Key length importance. Advantages/disadvantages (speed, key
transmission) and consequent uses. Outline website security
with TLS and other uses of encryption.
1 Tutorial Tutorial exercises

Preparing for Coursework Assignment: Implement an


encryption or security protocol for the solution.
2 Topic I: Consolidation Exercises: problems that require search or sort.
Problem-solving, Require pseudocode and translation to python.
Algorithms: sort/ Exercises
search
Preparing for Coursework Assignment: Implement a search or
sort function for the solution.

© NCUK Ltd 2023 24


24 4 Coursework Coursework assignment

25 1 Topic K: Software Main features of procedural, object oriented and functional


Development programming.
Process High and Low level languages
Lecture Range of Programming languages and their application
Compiler vs interpreter – compare and contrast
1 Tutorial Tutorial exercises

2 Topic K: Software SDLC – explain process and stages, with rationale. Need for
Development Project management
Process Exercises to identify where requirement specifications are
vague, incomplete etc. Examples of models: Link with
Abstraction and top-down techniques(Topic B)
26 1 Topic C: Tie together the ideas of computational thinking: Abstraction &
Fundamentals of modelling, Algorithmic thinking, process and data models
Computational Decomposition and refinement.
Thinking
Lecture
1 Tutorial Tutorial exercises: modelling and developing algorithms for
small systems, representing with pseudocode or flowcharts.
2 Tutorial Tutorial exercises: modelling and developing algorithms for
small systems, representing with pseudocode or flowcharts.

27 1 Topic L: Ethics Introduce issues: Legal Social, Professional, Ethical, Cultural


and Impact of impacts of computing, to prompt students to explore them
Computing further.
Lecture
3 Tutorial Tutorial exercises on selected issue(s): identify, research and
discuss in groups: How address these?

Coursework Assignment: Approach to analysis, examples of


social, legal ethical and cultural issues associated with the use
of computer technology. How is the solutions address social,
legal, ethical and cultural issues? Consider the use of personal
data and it’s processing.
28 6 Exam Preparation Sample exam questions
Portfolio feedback
Coursework Assignment feedback

29 4 Revision Sessions Revision

WEEK 30 Final Examination

© NCUK Ltd 2023 25


APPENDIX B – PORTFOLIO GUIDANCE FOR
STUDENTS
The purpose of a programming portfolio is to ensure that you progressively develop your programming
competencies. It ensures you demonstrate the mastery of each concept in a systematic way. Exercises
should be completed and assessed by your tutor in a regular manner throughout the semester.

The assessment of the Portfolio will contribute 30% to the overall module mark.

Portfolio submission for this module:

 Your Portfolio should be submitted electronically for this module


 You should paste your answers to the portfolio questions in a portfolio answer document and
upload it the VLE.
o For a program, you should include the code and a screen shot of the output.
o The first three lines of a program should be comments consisting of
▪ # Your Name
▪ # Portfolio exercise x, where x is the portfolio question number.
▪ # Brief description of program purpose
o You should save the program in a file called [Link].
 The Portfolio should have a contents page, allowing the examiner/moderator to navigate it easily

© NCUK Ltd 2023 26


APPENDIX C - ASSESSMENT CRITERIA

Portfolio Grading Criteria

Each portfolio exercise is worth FIVE (5) marks. Exercises become progressively more difficult and complex
throughout the course.

Mark 1 2 3 4 5
General Some relevant Relevant Complete solution with Complete solution Comprehensive
Criteria understanding of key understanding and minor errors/ meets all solution showing
concepts. application of key omissions, on time. requirements, on time. additional knowledge /
concepts and on time. skill.
Program An attempt with Mostly working Working Program with Fully working program, Exceeds spec, e.g. with
Criteria some relevant code. program with errors/ minor errors. Suitable well structured, additional
Major errors/ omissions. names & comments. suitable names & functionality/
omissions. comments efficiency/ testing/
structure

© NCUK Ltd 2023 27


Coursework Grading

Banding AO1 -Knowledge and Understanding AO2 -Application AO3-Analysis


(20%) (30%) (50%)

70-100% Excellent knowledge base that Makes excellent use of established Excellent exploration of wider academic
supports analysis and/or techniques of interpretation, application sources with evidence of independent
interpretation and problem-solving in and/or analysis, where relevant to the learning which may exceed the
theory and/or practice within the module learning outcomes. Shows a assignment brief. Sources have been
discipline, with considerable systematic and accurate understanding of accurately interpreted, integrated and
originality. Described and justified the key theories, which are consistently and analysed, with an attempt made at
features that make the problem appropriately applied within the context of synthesis leading to interesting ideas.
solvable by computational methods, the assignment task and all learning Broken the problem down systematically
explaining why it is amenable to a outcomes, where relevant. Provided into a series of smaller problems suitable
computational approach. evidence of each stage of the iterative for computational solutions, explaining
development process for a coded solution and justifying the process
relating this to the break down of the
problem from the analysis stage and
explaining what they did and justifying why

50-69% Good knowledge base that supports Makes good use of established techniques of Good evidence of academic reading, with
some analysis and/or interpretation interpretation, application and/or analysis, some attempt at moving beyond the
and problem-solving in theory and/or where relevant to the module learning recommended texts. Interpretation of
practice within the discipline. outcomes. Sound descriptive knowledge of sources has been largely accurate, but
Described the features that make the key theories, where relevant, with some there may be some instances of
problem solvable by computational appropriate application. Provided evidence misunderstanding. Limited evidence of
methods and why it is amenable to a of each stage of the iterative development integration and analysis. Broken the
computational approach. process for a coded solution relating this to problem down systematically into a series
the break down of the problem from the of smaller problems suitable for
analysis stage and explaining what they did computational solutions explaining the
at each stage. process.

35-49% Satisfactory knowledge base Makes satisfactory but limited use of Satisfactory evidence of academic
demonstrating comprehension and established techniques of interpretation, reading, with no obvious attempt to move
formulation of basic knowledge with application and/or analysis, where relevant beyond the recommended texts.
some omissions at the level of to the module learning outcomes. Interpretation of sources may be
theoretical understanding. inaccurate and poorly integrated.
Selection of theory, where relevant, is
Analysis is unlikely to have been
satisfactory but application and/or
attempted. Broken the problem down
© NCUK Ltd 2023 28
Banding AO1 -Knowledge and Understanding AO2 -Application AO3-Analysis
(20%) (30%) (50%)
Limited ability to discuss theory and understanding is limited. Provided evidence systematically into a series of smaller
solve problems within the discipline. for most stages of the iterative development problems suitable for computational
Described the features that make the process for a coded solution describing what solutions describing the process.
problem solvable by computational they did at each stage.
methods

0 – 34% Little or no evidence of knowledge Absence of relevant theoretical content Inadequate evidence of reading at an
base. Little evidence of understanding and/or use of theory, where relevant. Lacks academic level with poor application of
of discipline. Significant difficulty with any analysis and interpretation. sources and ideas. Answer is likely to
theory and problem solving within the include inappropriate references which
discipline. are misunderstood and not integrated.
Possibility of plagiarism OR no evidence
of academic research. Answer may not be
research based.

© NCUK Ltd 2023 29


APPENDIX D -
MARKING & FEEDBACK SHEET

NCUK Student ID: Student Name:

Tutor’s Name: Submission Date:

Criteria Weighting Marker 1 Marker 2 Comment

AO1 -
Knowledge & 35%
Understanding

AO2 -
30%
Application

AO3 –
35%
Analysis

Total 100%

Additional Feedback

© NCUK Ltd 2023 30


Release Version No. Summary of Main Changes Author
Date
June 2023 1.0 • New module syllabus 23/24 Product Team

This syllabus is valid for the 2023-24 academic year only

© NCUK Ltd 2023 0

You might also like