Showing posts with label revision. Show all posts
Showing posts with label revision. Show all posts

Monday, 22 April 2019

IB Final Papers Revision

Just a last reminder to help you prepare for your IB final papers.

Best luck in your revision and finals!

Tuesday, 25 April 2017

FDE Cycle

Fetch-Decode-Execute Cycle

Links with information about the FDE cycle, from simple & concise to deeper and more detailed:
An excellent flow chart depicting the FDE cycle (original source https://en.wikipedia.org/wiki/Instruction_cycle):


Plus a nice animation demonstrating how the fetch-decode-execute cycle works, made using Scratch:

I have also made my own, simplified version for study and revision purposes:

Sunday, 23 April 2017

Algorithms and Abstract Data Types HL

Resources about various algorithms - Higher Level:

  1. http://www.algolist.net/Algorithms/ - various algorithms (sort, binary search) and programming concepts (recursion) explained
  2. From this link, be sure to revise the sequential and binary searches, plus the chapters on sorting algorithms and recursion (code examples are on Python, which means it's close to pseudocode, but you can run it if you have the Python 3 interpreter)
  3. http://introcs.cs.princeton.edu/java/40algorithms/ - an excellent chapter on Algorithms and Data Structures; there was a performance question in a recent past paper, so it may be a good idea to read 4.1 (performance) as well. Don't obsess over Tilde notation and skip memory usage as well. Our focus is to be aware of how some algorithms are more efficient than others (as you can see by their classification into their order of growth: constant, logarithmic, linear, quadratic, cubic, exponential, etc.)
  4. Stacks and Queues
    Binary Search Trees

Resources about Abstract Data Types:


2D Arrays and IB Pseudocode

This brief post shows how to create a bi-dimentional array and describe it using IB pseudocode. It isn't stated in the IB Pseudocode in Examinations or Approved notation for developing pseudocode documents, so it's my answer to it, not an official one. Don't sue me if your examiner disagrees with me! O_o
declare A as integer array of size [ROWS][COLUMNS] or
declare A as integer array of size (ROWS, COLUMNS)
declare A as integer array of size [5][6]
declare A as integer array of size (5, 6)
Obviously, integer should be replaced by the appropriate data type.
IB papers may have defined it for you, or they may not ask you at all to define the size. You could define it (unknown size) as
declare A as integer array of size [ ][ ]
...then you'd use it like
loop ROW from 0 to 5
    loop COL from 0 to 6
        output A[ROW][COL]     or    output A(ROW, COL) 
    end loop
end loop
I'd recommend going for the [ ][ ] style as it'd be more consistent with the single dimensional arrays described in the IB pseudocode documents mentioned above.

Wednesday, 22 March 2017

Network and security

A very comprehensive glossary of network terms, obviously not all required for our examinations and syllabus, but they are extremely valuable.
Also, links to how stuff work's networking and security.

Although you don't need to memorise the OSI reference model, awareness of the layered nature of networks is very important.
And finally, a slideshow on error detection and correction:


Monday, 30 November 2015

What is usability?

I have been looking for useful definitions of usability within the context of Computer Science.

I'll update this post as I find more and better resources.

Sunday, 10 May 2015

OS process management

Found a really good summary about the different techniques used by processors to manage tasks/processes. For our syllabus, we are concerned about multi-tasking and time sharing, but if you're curious, other important and related concepts are also explained (i.e. multi-processing and multi-threading).

Monday, 27 April 2015

IB Computer Science Exam Revision

Hi there!

I will be using this blog to save and manage my resources for the computer subjects I teach. I may transfer them later to a wiki, which in my opinion is the ideal format for this, but I want to try the blog format first, as I will do my best to post every time we are meant to have a lesson (both standard and higher levels). If you subscribe, you should get notifications as soon as I post an entry, and perhaps this way you can also study "on the go"/wherever you are.

A full list of topics for IB Computer Science can be found here.
A couple of glossaries of Computer Science terms can be downloaded from our school's online class resources.

Hope you will find this useful. Mainly for my awesome IB Computer Science students, but this may also be useful if you're taking (I)GCSE ICT/Computer Science and similar courses.

I will be working on a "Table of contents" blog entry as well, which I will post separately and link to this entry as well, so if you're interested, keep an eye on this blog!

Thanks for reading and best luck!


tM.

VPNs

On the concept, advantages and disadvantages of VPNs:
IB Computer Science Topic 3: Networks - Types of networks

Optimise Windows 10/11

How to optimise your Windows setup Just in case you need it. If you want a safe and conservative approach, just disable the background apps ...