Computer Science Intro

August 18, 2014

So along with reading the online book “Learn Python The Hard Way” by Zed A.Shaw i have also been taking a keen interest in the computer science course offered by MIT opencourse ware and also Cyber Forensics, of which i hope to be studying at uni during the first semester of 2015.

So for anyone interested here are some of the notes i have taken. I will also use them for my own reference later on.

Common Terms and types of Computers

Use of this knowledge to provide computational problem solving:

Declarative and Imperative Knowledge

  • Declarative – Statement of Fact
  • Imperative – How to solve problem

Algorithm – Describes how to perform something

So far there is instructions, with a “Flow of Control” and a Termination Condition, at which point the application is said to have converged.

The first computers where known as fixed programme computers. These computers where good at performing a single function. eg. Enigma machine used in WWII is an example of a fixed programme computer.

Then there where Stored Programme Computers, now these are way more useful to more people. They are flexible by design and have the ability to change the programme on demand and also are capable of creating programmes from other programmes.

Programming Language:

  • Is a set of “primitive” instructions/control structures and That’s IT

Common Terms:

  • Syntax – defines the sequences of characters and symbols that make up a “well formed string”
  • Static Semantics – Those ‘well  formed strings’ that have a meaning
  • Semantics –

What Programmes Do When They Fail:

  • Crash – They stop running and also indicate that it has stopped. Properly designed applications do not affect the overall system when they crash.
  • Never Stop – Typically an “infinite loop” aka iteration
  • Finish with the wrong/undesired results

This stuff will come together at the end, because at the end of the day we will want to make the computer do what we want it to.