Start a new search?

SCC.120: Fundamentals of Computer Science

Department: Computing and Communications (School of) NCF Level: FHEQ/QCF/NQF4//RQF4
Study Level: Part I Credit Points: 20.0
Start Date: 09-10-2017 End Date: 25-05-2018
Available for Online Enrolment?: N Enrolment Restriction: Only available to students majoring in delivering department
Module Convenor: Dr Z Wang

Syllabus Rules and Pre-requisites

Curriculum Design: Outline Syllabus

  • Discrete Maths cover:

    • Sets
    • Relations
    • Functions
    • Recursions
    • Propositional Logic
    • Predicate Logic
    • Logic in Action

    Data structures cover:

    • Simple variables
    • Linear and multi-dimensional arrays
    • Strings
    • Records and Objects
    • Linked List  (Chain)
    • Pointers
    • Regions of memory in computing systems

    Introduction to Algorithms cover:

    • Operations counting
    • Worst, Average, Best cases
    • Insertion sort
    • Introduction to Big O function
    • Sentinel Search and Efficiencies
    • Searching Sorted Arrays

    Abstract Data Types cover:

    • ADTs and Set ADT
    • Stack
    • Queue
    • Graphs
    • Trees

     Hard Problems and NP-Completeness cover:

    • Hard Problems in Computing
    • Problems Types, Reductions, Problems Classes

    Searching and Sorting cover:

    • Linear and Binary Searching Single File
    • Indexed Retrieval and Hashing Single File
    • Sorting Techniques
    • Tree based Sorting

Curriculum Design: Single, Combined or Consortial Schemes to which the Module Contributes

  • BSc Computer Science
    BSc Computer Science Innovation
    BSc Software Engineering
    BEng Computer Systems Engineering

    MSci Computer ScienceMSci
    MSci Computer Science Innovation
    MSci Software Engineering
  • 40% Exam
  • 60% Coursework

Assessment: Details of Assessment

  • Formative assessment will include

    • Weekly problem-solving workshops. These will help students to consolidate what have been taught in the lectures, demonstrating to them the usefulness of the knowledge learned in the lectures
    • In-class quizzes. These help the teacher to assess the students’ progress.

     Summative assessment will include

    • Term 1 in-class test. This will include a number of multiple-choice questions, which will be used to assess the students’ progress in term 1.
    • Term 2 coursework. This will be a number of problem based written exercises and small programming challenges, using to assess the students’ progress in term 2.
    • Formal final exam. 

Educational Aims: Subject Specific: Knowledge, Understanding and Skills

  • This module aims to instil the knowledge and understanding required to enable students to analyse and characterise the efficiency of computer programs, and to make the correct design choice when implementing computer programs to optimise efficiency for given design parameters. More specifically this module aims to:

    • Provide an insight into the importance and relevance of the fundamental principles of Computer Science.
    • Develop specific skills analysing the efficiency of algorithms and computer programs.
    • Instil fundamental knowledge and understanding of the role and characteristics of data structures.
    • Convey the continuing importance of search and sort algorithms, along with the detailed operation and characteristics of commonly used algorithms.

Educational Aims: General: Knowledge, Understanding and Skills

  • This module fosters the development of a range of transferrable skills including:

    • Applied problem solving
    • Independent learning
    • Principled analysis
    • Small group working and presentations

Learning Outcomes: Subject Specific: Knowledge, Understanding and Skills

  • On successful completion of this module students will be able to

    • Explain  the notations of key discrete mathematic concepts such as sets, relations, functions and recursion
    • Perform discrete mathematic for problem solving
    • Describe how data structures and abstract data types are implemented
    • Identify suitable data structures for program implementation
    • Analysis the efficiency of  algorithms and computer programs
    • Convey the importance of search and sorting techniques and their efficiency and complexity

Learning Outcomes: General: Knowledge, Understanding and Skills

  • On successful completion of this module students will be able to
    • Analyse a given problem and produce multiple potential solutions.
    • Undertake reasoned analysis of system.
    • Follow and understand a systematic process.
    • Work independently and in small groups in seminars

Contact Information

If you encounter any difficulties accessing Online Courses Handbook information please contact the Student Registry:

If you require further details in relation to academic content please contact the appropriate academic department directly.

Related Pages