CS4ProgrammingWeek3

From GIS CS4
Jump to: navigation, search

Continue Khan Academy programming using Java Script https://www.khanacademy.org/cs

Monday

Comments in Code https://www.khanacademy.org/cs/spin-off-of-kwans-project-whats-for-dinner-with-comments/5406126199799808

  • Variables

Tuesday

An Introduction to Data Types

Data values:

  • A literal is an actual fixed value (as you would normally write it) e.g. 75, -30.333, 'z', "This is a text string".
  • A constant uses a symbolic name to represent a fixed value, e.g. #define PI 3.14159265. The symbolic name is used to refer to the value throughout a program. The value remains fixed and may not be altered by the program.
  • A variable uses a storage location in computer memory with an associated symbolic name (identifier) which contains a value that can be read and modified, e.g. var ClassAverage = 95;

Common data types:

  • integer (whole numbers, + or -ve)
  • floating-point (fraction, real or decimal numbers)
  • bool (binary value - 1=true 0=false)
  • char (a single ASCII character)
  • string (a sequence of characters)

ASCII - American Standard Code for Information Interchange A character-encoding scheme originally based on the English alphabet. Encodes 128 specified characters - the numbers 0-9, the letters a-z and A-Z, some basic punctuation symbols, some control codes that originated with Teletype machines, and a blank space - into 7-bit binary integers.

Purpose of Data Types:

In computer programming, a data type or type is a classification data which determines:

  • the possible values for that type
  • the operations that can be done on values of that type
  • the meaning of the data
  • the way values of that type can be stored

Strong and Weak Typed Languages

Javascript is a weakly-typed, or loosely-typed, or dynamically-typed language. A variable doesn't have to have a type when you declare it or assign to it.

C and C++ are examples of strongly typed languages.

Onward With KA

  • Closer look at Variables project Spin-Offs
  • Intro to Animation

Thursday (Lab)

Outline of Coursera's Python Course 'Programming for Everybody'

Introduce weekly log book/journal activity.

Feedback from variables spin-offs review.

  • Intro to Animation

If time:

  • Terrific Text
  • Functions

Technology Friday

CryptoLocker

CryptoLocker is a form of RansomWare that has been targeting MS Windows computers since September 2013.

CrytoLocker Screenshot

Once a computer has been infected, it proceeds to encrypt certain types of files stored on local and mounted network drives. The *ONLY* way of retrieving the contents of an encrypted file is either retrieving the original from backups (if available!), or paying a ransom.

The ransom is normally paid using the Bitcoin anonymous currency.

It is believed that up to mid December, CryptoLocker has infected between 200,000 and 250,000 computers, generating some 41,928 bitcoins.

Based upon the current bitcoin exchange value of $960, this is $40,250,880 USD.


BEWARE THAT CRYPTOLOCKER IS CONSTANTLY BEING UPDATED - NEW VARIANTS RELEASED REGULARLY!

See here for more news about CryptoLocker.

Protecting Yourself from CryptoLocker

  • Make sure you are running Anti-Virus software that is up-to-date
  • Never click on links in email messages sent to you that you were not expecting to receive - especially spam. If in doubt, email the sender to confirm the the message content.
  • BACKUP BACKUP BACKUP - always ensure you have a backup system that works.


Crazy Engineering

Mars Helicopter


Sony, North Korea and the NSA

Summary/details of hack

There is evidence that the NSA knew that North Korea was behind the attack - or at least last. There is also evidence that it might have been an "inside job".


Cryptography - Part 2

Khan's Crypto by Brit Cruise


More information about the Enigma machine can be found here

Night Out - Cinema - The Imitation Game

The Imitation Game