Date
22-23 Aug
Week 1
26-30 Aug
Week 2
02-06 Sept
Week 1
9-13 Sept
Week 2
16-20 Sept
Week 1
23-27 Sept
Week 2
30 Sept-04 Oct
Week 1
7-11 Oct
Week 2
14-18 Oct
Week 1
21-25 Oct
Week 2
26 Oct -
03 Nov
04-08 Nov
Week 1
11-15 Nov
Week 2
18-22 Nov
Week 1
25-29 Nov
Week 2
02-06 Dec
Week 1
9-13 Dec
Week 2
16-20 Dec
Week 1
Lesson Plans - Term 1 - 2019
Fri 23 Aug: Computer Science guide, Website, CS Textbook (collect hard copy from library)
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
Mon 26 Aug: HL - 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)
Thurs 29 Aug: Period 1: 1.2.3 - Discuss the social and ethical issues associated with a networked world
Period 2: 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)
Fri 30 Aug : 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 and has a section on functional programming, which I would like you all to work through. Some people say the functional programming paradigm could well replace the OOP programming paradigm (currently taught in schools), in the near future. Time will be given in class & homework's over the next few weeks.
Codecademy - Learn Python (10 hour course) (Note: Python 2 - but they now charge for the Python 3 version!)
Tues 3 Sept: HL - Topic 6: Resource Management
6.1.3 - Limitation of resources & 6.1.4 - Consequences
Wed 4 Sept: Learn Python - Codecademy or Sololearn
Thurs 5 Sept: Topic 2.1 - Computer organisation
Computer architecture-2.1.1- Outline the architecture of the CPU & the functions of the ALU, CU & the registers within the CPU
Computer architecture - 2.1.2 - Describe prime memory
Fri 6 Sept: Raspberry Pi - Intro. Setup
Project - Getting started with GUI's #1 How to use guizero - lawsies github
Mon 9 Sept: HL - Topic 6: Resource Management
6.1.5 - Explain the role of the operating system: managing memory, peripherals & hardware interfaces
Thurs 12 Sept: Period 1: Computer architecture - 2.1.3 - Explain the use of cache memory
2.1.4 - Explain the machine instruction cycle
Assignment: Machine instruction cycle - worksheet (Homework)
Extra Challenge - Write a simple machine instruction (fetch-execute) cycle emulator in python
Period 2: Raspberry Pi - Project - Getting started with GUI's #2 or Learn Python - Codecademy / Sololearn
Fri 13 Sept: Re-cap: The Machine Instruction Cycle
Quiz - The machine instruction cycle (Flubaroo Quiz)
Task - Write a simple machine instruction (fetch-execute) cycle emulator in python Solution machine1
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
Extended user agreement - Mr Jonitz & Ms Melwani
Tues 17 Sept: HL - Topic 6: Resource Management
6.1.7 - Outline OS resource management techniques
(Note: There is no 6.1.6)
6.1.8 - Discuss the advantages of producing a dedicated operating system for a device
Wed 18 Sept: 4.1 - General principles - Thinking abstractly (4.17, 4.18, 4.19 & 4.20)
Thurs 19 Sept: Learn Python - Codecademy or Sololearn .
Fri 20 Sept: Dice rolls with arrays
Mon 23 Sept: HL - Topic 6: Resource Management
6.1.9 - Outline how an operating system hides the complexity of the hardware from users and applications
Thurs 26 Sept: Period 1: Test #1 - System Design Basics 1.2.1 - 1.2.3 & Computer organisation 2.1.1 - 2.1.5
Period 2: Introduction to Programming
4.3.1 - State the fundamental operations of a computer
4.3.2 - Distinguish between fundamental and compound operations of a computer
Learn Python - Codecademy or Sololearn
Fri 27 Sept: Lesson - Agorithms & Pseudocode
Classwork - Pseudocode exercise
Tues 1 Oct: HL - Python programming challenges - Book 1 (pdf version)
Wed 2 Oct: Learn Python - Codecademy or Sololearn (last lesson)
Thurs 3rd & Friday 4th: Local Holiday
Mon 7 Oct: HL - Python programming challenges - Book 2 (pdf version)
Thurs 10 Oct: Period 1: 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
Period 2: Topic 4 - Flowcharts, Pseudocode & Python activity - Fibonacci, Fizz-buzz & Lottery picker
Fri 11 Oct: 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 %)
Task: Encryption algorithm p247
Tues 15 Oct: HL - Python Basic (part 1) - Exercises, Practice, Solutions
Work your way through 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 at the end -
they are very nicely explained though.
Wed 16 Oct: 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 Rocks, Paper, Scissors
Thurs 17 Oct: 4.3.9 - Developing algorithms using loops and branching-further examples
Leap year v2 - Python solution
Leap year v2 - Pseudocode solution (Download open as a text file copy and paste into the EZ pseudocode program)
4.3.7 - Quotient and remainder programs
Fri 18 Oct: - Test #2 - 1.2 System design basics 1.2.1–1.2.3 2.1 Computer organisation 2.1.1–2.1.5
4.3 Introduction to programming 4.3.1–4.3.9 4.0 Algorithms written in pseudocode
Mon 21 Oct: HL - Practice Python - practicepython.org
Work through as many of these problems as you can. The number of chillies indicates the difficulty.
Thurs 22 Oct: Period 1: Pseudocode starter activity - Random number game
Assignment: Add a GUI to the Rock, Paper, Scissors program using guizero
Period 2: Pseudocode practice problems - Classwork
Pseudocode practice problems - Homework
Fri 25 Oct - w3schools - Function example
Functions - Pseudocode & Python assignment
HOLIDAY Half-Term
Tues 5 Nov: HL - Continue with Practice Python - practicepython.org
Edabit - Learn to code with interactive challenges - Select Python and then a level
Wed 6 Nov: 4.2.5 - Analysing an algorithm presented as pseudocode - Trace Tables
Thurs 7 Nov: 4.2.5 - Analysing an algorithm presented as pseudocode - Trace Tables (cont.)
Assignment: Convert Which trig ratio into a Python program with a GUI using guizero
Fri 8 Nov: Run this program in Python Tutor visualisation mode
Algorithm/Pseudocode practice question Markscheme
Mon 11 Nov: HL - Edabit - Learn to code with interactive challenges - Select Python and then a level
Thurs 14 Oct: Periods 1 & 2: 4.1 General principles - Thinking ahead (4.1.9, 4.1.10, 4.1.11, 4.1.12, 4.1.13)
Homework - Pseudocode practice problems (not used in 2021)
Fri 15 Nov: Test #3 - Algorithms, flowcharts, pseudocode & trace tables
Tues 19/Wed 20: Parent-Teacher conference
Thurs 21 Nov: Fundamentals of HTML, CSS & Javascript #1 - Basic webpage HTML/CSS
HTML-CSS-JavaScript presentation
Fri 22 Nov: 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
Mon 11 Oct: HL - 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
Thurs 28 Nov: Period 1: Option C.1 - Creating the Web (C.1.1 & C.1.2)
Period 2: IT admin session - Mr Jonitz - Backup - bring in backup drives (15 mins)
Fundamentals of HTML, CSS & Javascript #3
JavaScript arithmetic operators - worksheet
Fri 29 Nov: Option C.1 - Creating the Web (C.1.3)
Tues 3 Dec: HL -
Wed 4 Dec: Option C.1 - Creating the Web (C.1.4 & C.1.5)
Thurs 5 Dec: MAMP set-up (download from self-service)
Tutorial - Simple user registration and login script in php and mysqli - allphptricks
Fri 6 Dec: Option C.1 - Creating the Web (C1.6, C1.7)
Mon 9 Dec: HL -
Thurs 12 Dec: Period 1: Option C.1 - Creating the Web (C.1.8 & C.1.10)
Period 2: Option C.1 - Creating the Web (C.1.9, C.1.11, C.1.12)
Fri 13 Dec: C.1 - Creating the Web (C.1.13 & C.1.14)
Tues 17 Dec: HL -
Wed 18 Dec: C.1 - Creating the Web (C.1.15 & C.1.16)
Homework question on Creating the Web
Thurs 19 Dec: Test #4 - C.1 Web Science - Creating the Web (20 mins)
Fri 20 Dec:
Saturday 21 December 2019 *** Christmas Holidays *** Monday 6 January 2020