COMP 02: Computational Thinking, Algorithms and Programming

This is assessed by a written paper, which has a mixture of short and long answer questions. 14% AO1,14% AO2 and 12% AO3. No calculators allowed.
Written paper, 1 hour 30 mins, 80 marks, 50% of qualification.

You need to revise below listed topics for your up coming exam. Use available resources in your Google Classroom, Dynamic learning, the internet and the given links on this website to revise each topics.

2.1 Algorithms

  • Computational thinking:
    • abstraction
    • decomposition
    • algorithmic thinking
  • Standard searching algorithms:
    • binary search
    • linear search
  • Standard sorting algorithms:
    • bubble sort
    • merge sort
    • insertion sort
  • How to produce algorithms using:
    • pseudocode
    • using flow diagrams
  • Interpret, correct or complete algorithms

2.2 Programming Techniques

Use this link to revise below topics The Big Python Guide

  • Variables, Constants, Input & Output
  • Data Types
    • integer
    • real
    • Boolean
    • character and string
    • casting
  • Arithmatic / Boolean Operators
  • The use of the three basic programming constructs used to control the flow of a program:
    • Sequencing
    • Selection (IF.. ELIF…ELSE)
    • Fixed and conditional iteration (count and condition (AND, OR, NOT) controlled loops)
  • String Manipulation
  • Lists (Arrays / one-two dimensional arrays)
  • Lists & Dictionary Files
  • Functions and Procedures (sub programs)
  • File Handling
    • open
    • read
    • write
    • close
  • The use of records to store data
  • The use of SQL to search for data

2.3 Producing robust programs

  • Defensive design considerations:
    • input sanitisation/validation
    • planning for contingencies
    • anticipating misuse
    • authentication
  • Maintainability:
    • comments
    • indentation
  • the purpose of testing
  • Types of testing:
    • iterative
    • final/terminal
  • How to identify Syntax and Logic errors
  • Selecting and using suitable test data

2.4 Computational Logic

  • why data is represented in computer systems in binary form
  • simple logic diagrams using the operations AND, OR and NOT
  • truth tables
  • combining Boolean operators using AND, OR and NOT to two levels.
  • applying logical operators in appropriate truth tables to solve problems
  • applying computing-related mathematics:
    • +
    • /
    • *
    • Exponentiation (^)
    • MOD (%)
    • DIV

2.5 Translators & Facilities

  • Characteristics and purpose of different levels of programming language, including low-level languages
  • The purpose of translators
  • The characteristics of an assembler, a compiler and an interpreter
  • Common tools and facilities available in an integrated development environment (IDE):
    • editors
    • error diagnostics
    • run-time environment
    • translators

The Big Python Guide is provided by Belper Computing here is the original resource page www.belpercomputing.com