Hero image

David O'Connor's Shop

With more than 30 years experience in teaching math, physics and computer science, I am to provide teachers and students with notes, advice, tips and quality material.

With more than 30 years experience in teaching math, physics and computer science, I am to provide teachers and students with notes, advice, tips and quality material.
IB Computer Science :Pseudocode: - methods
david_oconnor2210david_oconnor2210

IB Computer Science :Pseudocode: - methods

(0)
Methods in pseudocode discussed with examples and tasks. This presentation is designed to be shown to the class by the teacher as it’s been explained. Methods are given for the mean of a numerical array and also the standard deviation.
Records: PsuedoCode task and solution
david_oconnor2210david_oconnor2210

Records: PsuedoCode task and solution

(0)
In the Cambridge AS level Computer Science, the past paper questions are rather tedious. This is a slightly easier but much more fun problem which brings in the use of constants, a composite data type (a record) and the CASE selection. It’s based on a computer game scenario which really motivates the students. My year 12’s really enjoyed it.
Code Extension: Cracking the RSA algorithm
david_oconnor2210david_oconnor2210

Code Extension: Cracking the RSA algorithm

(0)
This folder contains instructions and Python code for an extension programming task. The task is to decrypt (crack) a poorly encrypted text file. The Security topic in the Cambridge 9618 Computer Science syllabus is rather dry and this could liven it up. The idea could work for any Computer Science syllabus that involves programming however.
The Zen of Python - principles for Code Readability
david_oconnor2210david_oconnor2210

The Zen of Python - principles for Code Readability

(0)
Code clarity and readability is essential but is all too often an afterthought. This lesson is a guided tour to the “Zen of Python”. The “Zen of Python” is a set of principles for clarity of coding in Python (although useful in any coding language) written by Tim Peters, a famous Python coder and contributer.
Code Extension  idea : Cracking the RSA encryption  algorithm
david_oconnor2210david_oconnor2210

Code Extension idea : Cracking the RSA encryption algorithm

(0)
After studying Asymmetric Encryption and in particular the RSA algorithm, as an extension, the teacher can use RSA with a relatively small public key to encrypt a plain text file. Students then compete alone or in groups to attack the weak public key to find the private key. This will allow them to decrypt the encrypted file, follow the instructions set out there (e.g send an email with the code used to the teacher’s school email) and win the prize. This project generated great enthusiasm in my upper sixth students and is well worth a try. I will upload a pack that will include code to generate the encrypted file, teacher’s notes, solution code and more as a separate download.
System software and operating system levels
david_oconnor2210david_oconnor2210

System software and operating system levels

(0)
These notes on System software aim to organize the functions of an operating system by levels, discussing the functions and assigning them to level(s). It’s aimed at introductory level , eg. AS Computer Science or IB Computer Science.
2D arrays in Java
david_oconnor2210david_oconnor2210

2D arrays in Java

(0)
A brief introduction to 2D arrays in Java with example code. A 2D array is visualized an an array of arrays being similar in conceptual structure as an Excel spreadsheet.
Basic text files in Java
david_oconnor2210david_oconnor2210

Basic text files in Java

(0)
The basics of reading and writing text files is introduced using a simple class, BufferedReader. The sooner that students can use text files in their programming the better as more complex problems can be programmed.