Monday 23 August
Website, CS Textbook
Topic 1 - System fundamentals - 1.2 System design basics
1.2.1 - Define the terms: hardware, software, peripheral, network & human resources
1.2.2 - Describe the roles that a computer can take in a networked world
Tuesday 24 August
CS Textbook - collect hard copy from library
1.2.3 - Discuss the social and ethical issues associated with a networked world
Wednesday 25 August
Topic 4 - Computational thinking, problem-solving and programming (45 hours)
Introduction - The concept of a problem, algorithms, flowcharts and pseudocode
Assignment - An algorithm and its expressions (File - Make a copy - share with r.stevenson@bis-school.com)
Thursday 26 August
For your IA which counts 20% HL or 30% SL you need to create a product which solves a problem using code. I would recommend making a product which has a GUI using Python 3 and Tkinter. The IA will be introduced before Easter next year; however, we need to constantly work on improving your coding skills.
I have identified two very good Python courses. I would like you to work through the Codecademy course first - at least up to and including the part where you create a battleships game (later I want you to create a GUI for this using guizero).The Sololearn course has short-cuts if you already know something. Time will be given in class & homework's over the next few weeks.
Codecademy - Learn Python (25 hour course) (Note: Python 2 - but they now charge for the Python 3 version!)
Friday 27 August - HL only
Period 3
Topic 6: Resource Management
6.1.1 - Identify the resources that need to be managed within a computer system
6.1.2 - Evaluate the resources available in a variety of computer systems
Assignment: Computer systems and resources (Download, complete and upload to ManageBac dropbox)
Homework:
6.1.3 - Limitation of resources & 6.1.4 - Consequences
Read through and discuss at start of next HL lesson
Period 4
Continue with SoloLearn - Python core
Tuesday 30 August
Learn Python - Sololearn
Python problems: Practice Python Ex#1 Practice Python Ex#2 Practice Python Ex#3
Wednesday 1 September
Computer architecture
2.1.1- Outline the architecture of the CPU & the functions of the ALU, CU & the registers within the CPU
2.1.2 - Describe prime memory
2.1.3 - Explain the use of cache memory
Monday 6 September
Extended user agreement (enable admin-terminal) - Mr Jonitz
Discuss section 2.1.3 - Use of cache memory (Homework from last lesson)
2.1.4 - Explain the machine instruction cycle
Assignment: Machine instruction cycle worksheet (Homework)
Tuesday 7 September
Re-cap: The Machine Instruction Cycle
Quiz - The machine instruction cycle (Google Quiz)
Task - Write a simple machine instruction (fetch-execute) cycle emulator in python Solution (password required)
Wednesday 8 September
Raspberry Pi - Intro. Setup
Project - Getting started with GUI's #1 How to use guizero - lawsies github
Thursday 9 August
Raspberry Pi - Project - Getting started with GUI's #2
Friday 10 August - HL only
Period 3
6.1.5 - Explain the role of the operating system: managing memory, peripherals & hardware interfaces
6.1.7 - Outline OS resource management techniques
(Note: There is no 6.1.6)
Period 4
Sololearn or Edabit coding challenges
Tuesday 14 September
Secondary memory - 2.1.5 - Identify the need for persistent storage
Quizlet - IB Computer Science - Topic 2.1.2-2.1.4 - Memory & Machine Instruction Cycle
Project extension - Getting started with GUI's extension How to use guizero - lawsies github
Create a simple Maths GUI e.g. To calculate the HCF and LCM of a number
Wednesday 15 September
4.1 - General principles - Thinking abstractly (4.17, 4.18, 4.19 & 4.20)
Monday 20 September
Tuesday 21 September
4.3.1 - State the fundamental operations of a computer
4.3.2 - Distinguish between fundamental and compound operations of a computer
Wednesday 22 September
Thursday 23 September
Test #1 - System Design Basics 1.2.1 - 1.2.3 & Computer organisation 2.1.1 - 2.1.5 (40 mins)
Complete Pseudocode exercise from yesterday
Friday 24 September HL only
Period 3
6.1.8 - Discuss the advantages of producing a dedicated operating system for a device
6.1.9 - Outline how an operating system hides the complexity of the hardware from users and applications
Topic 6: Resource Management HL textbook
IB HL Topic 6: Resource Management past paper questions
Period 4
Complete work from above
Tuesday 28 September
4.3.3 - Explain the essential features of a computer language
4.3.4 - Explain the need for higher level languages
4.3.5 - Outline the need for a translation process from a higher level language to machine executable code
Python basics - Interactive Guessing game in Python
Wednesday 29 September
Topic 4 - Flowcharts, Pseudocode & Python activity - Fibonacci, Fizz-buzz & Lottery picker
Assignment: Nov 2016 P1 Q9 - The need for higher level languages + pseudocode question
Monday 4th October
Starter - N2016 SL P1 Q9 - Python code for (e) Construct, in pseudocode, the algorithm for sumOdd().
4.3.6 - Define the terms: variable, constant, operator, object
4.3.7 - Define the operators =, ≠, <, <=, >, >=, mod, div
Modular arithmetic - Khan Academy (complete up to and including Modulo challenge)
Worksheet - Programming Basics DIV (Python - //) & Mod (Python %)
Assignment: Encryption algorithm p247
Tuesday 5th October
4.3.8 - Analyse the use of variables, constants and operators in algorithms
4.3.9 - Construct algorithms using loops, branching
Assignment - Python Leap year program and Rock, Paper, Scissors
Leap year v2 - Python solution Pseudocode solution (Download, open as a text file copy and paste into the EZ pcode tool)
Developing algorithms using loops and branching-further examples
Wednesday 6th October
Rock, paper, scissors - Python GUI with Tkinter - introduction
lawsie-guizero github guizero - A getting started guide python programming - guizero compared to Tkinter
gui comparison Top 5 Python GUI libraries
Thursday 7th October
Guizero example using replit - Display my Name
Rock, paper scissors - Python GUI with guizero
Friday 8th October - HL only
Period 3
Solutions to Topic 6 - Resource management past questions
Quizlet - IB Computer Science HL Topic 6 - Resource Management
Topic 6 - summary (Teach Computing)
Period 4
Traffic Light controller GUI - Raspberry Pi & guizero
Python Basic (part 1) - Exercises, Practice, Solutions
Try some of these exercises. If part 1 is too easy, try part 2!
Do not work alone, consult with each other. Only look at the specimen solutions if you are absolutely stuck!
Work on your GUI for Rock, Paper, Scissors.
Tuesday 12 October 2021
Pseudocode practice problems - Classwork
Pseudocode practice problems - Homework
Wednesday 13 October 2021
Test #2 - 1.2.1 - 1.2.3, 2.1.1 - 2.1.5, 4.3.1 - 4.3.9, 4.0 Algorithms and pseudocode
Monday 18 October
Move Thinking logically here (before trace tables) possibly 2 periods
Starter: Functions - Pseudocode & Python assignment. Resource: w3schools - Function example
4.2.5 - Analysing an algorithm presented as pseudocode - Trace Tables
Tuesday 19 October
4.2.5 - Analysing an algorithm presented as pseudocode - Trace Tables (cont.)
Wednesday 20 October
Run this program in Python Tutor visualisation mode
Algorithm/Pseudocode practice question #1 Markscheme
Trace tables - IB question Markscheme
Algorithm/pseudocode practice question #2 Markscheme
Thursday 21 October
4.1 General principles - Thinking ahead (4.1.9, 4.1.10, 4.1.11, 4.1.12, 4.1.13)
Friday 22 October HL only
Period 3
Period 4
Raspberry Pi - Traffic Lights controller GUI
Connect an LED to a Raspberry Pi - YouTube video
Turning on an LED with your Raspberry Pi's GPIO pins - The Pi Hut
Simple Guide to the Raspberry Pi GPIO pin header
Tuesday 19 October
Fundamentals of HTML, CSS & Javascript #1 - Basic webpage HTML/CSS
HTML-CSS-JavaScript presentation
Wednesday 20 October
Fundamentals of HTML, CSS & Javascript #2 - Div tags and styling. Adding navigation with rollovers.
HTML-CSS-JavaScript presentation
Download first page with css.zip and extract
Half-term
Monday 8 November
Fundamentals of HTML, CSS & Javascript #3
Add interactivity to your webpage
Tuesday 9 November
Test #3 - Algorithms, flowcharts, pseudocode & trace tables
Wednesday 10 November
Option C.1 - Creating the Web (C.1.1 & C.1.2)
Thursday 11 November
Option C.1 - Creating the Web (C.1.3)
Friday 12 November HL Only
Period 3
7.1.3 - Evaluate different input devices for the collection of data in specified situations
7.1.4 - Explain the relationship between a sensor, the processor and an output transducer
Period 4
Raspberry Pi project - Graphing the Weather
OR
Raspberry Pi Project - Traffic Lights controller GUI
Connect an LED to a Raspberry Pi - YouTube video
Turning on an LED with your Raspberry Pi's GPIO pins - The Pi Hut
Simple Guide to the Raspberry Pi GPIO pin header
Monday 22 November
Option C.1 - Creating the Web (C.1.4, C.1.5 & C.1.6)
Tuesday 23 November
Simple User Registration & Login Script in PHP and MySQLi
Download and install MAMP for Apple M1 - MAMP download
Steps to get MAMP working on Macbook Air
Tutorial - Simple user registration and login script in php and mysqli - allphptricks
Simple user registration - video
Wednesday 24 November
Option C.1 - Creating the Web (C.1.7)
Thursday 25 November
Option C.1 - Creating the Web (C.1.8, C.1.10 & C.1.11)
Friday 26 November - HL only
Period 3
7.1.6 - Discuss the social impacts and ethical considerations associated with the use of embedded systems
Assignment: Feedback in control systems
Period 4
Raspberry Pi project - Graphing the Weather
Raspberry Pi project - Getting started with the Twitter API
Raspberry Pi project - Dress for the weather
Tuesday 30 November
Option C.1 - Creating the Web (C.1.9, C.1.12, C.1.13)
Wednesday 1 December
C.1 - Creating the Web (C.1.14, C.1.15 & C.1.16)
Monday
Review #1 - C.1 Creating the Web
Creating the web review #1 questions
Tuesday
Review #2 - C.1 Creating the Web
Creating the web review #2 questions
Wednesday
Assessment test - C.1 Creating the Web
Thursday
Friday - HL only
Period 3
7.1.6 - Discuss the social impacts and ethical considerations associated with the use of embedded systems
Assignment: Discuss the social impacts and ethical considerations associated with the use of embedded systems (see ppt last slide)
Period 4
Raspberry Pi investigation
Tuesday
4.2 Connecting computational thinking and program design
4.2.1 - Describe the characteristics of standard algorithms on linear arrays - introduction
Wednesday
Christmas pseudocode challenges: