Semester 1 Computer organization Weeks 1 - 9
Topic | Computer organization (6 hours) Computer Architecture | Learning Outcomes / Notes |
---|---|---|
2.1.1 | Outline the architecture of the central processing unit (CPU) and the functions of the arithmetic logic unit (ALU) and the control unit (CU) and the registers within the CPU. | Students should be able to reproduce a block diagram showing the relationship between the elements of the CPU, input and output and storage. The memory address register (MAR) and memory data register (MDR) are the only ones that need to be included. |
2.1.2 | Describe primary memory. | Distinguish between random access memory (RAM) and read-only memory (ROM), and their use in primary memory. |
2.1.3 | Explain the use of cache memory | Students should be able to explain the effect of cache memory in speeding up the system as well as being able to explain how it is used. |
2.1.4 | Explain the machine instruction cycle. | This should include the role of data bus and address bus. |
Weeks | Course Content Links | Reinforce Learning Activities | Resources/Assessment/slides | |
---|---|---|---|---|
Week 1 | Outline the architecture of the central Outline the architecture of the central processing unit processing unit | Slides intro slide Video | ||
Week 1 | Describe primary memory. | |||
Week 2 | Explain the use of cache memory | |||
Week 2 | Explain the machine instruction cycle. | end of unit assessmnet Ongoing formative assessment with class activities and Question/ Answers. |
Topic | Computer organization Secondary memory & Operating Systems | Learning Outcomes / Notes |
---|---|---|
2.1.5 | Identify the need for persistent storage. | Persistent storage is needed to store data in a non-volatile device during and after the running of a program. LINK Consequences of data loss. TOK If there are no consequences of data loss, why is it stored. TOK There is no such thing as persistent storage. AIM 9 An appreciation of the issues related to both the ever increasing amount of data and a need to retain it. |
2.16 | Describe the main functions of an operating system. | This is confined to a single-user operating system. Technical details are not needed. For example, memory management should be described but how this is handled in a multitasking environment is not expected. |
2.1.7 | Outline the use of a range of application software. | Application software should include word processors, spreadsheets, database management systems, email, web browsers, computeraided design (CAD) and graphic processing software. |
2.1.8 | Identify common features of applications. | Including toolbars, menus, dialogue boxes, graphical user interface (GUI) components. Students should understand that some features are provided by the application software and some by the operating system. S/E This improves usability for a wide range of users. AIM 9 An appreciation of the improvements associated with developments in application software. |
Weeks | Course Content Links | Resources/Assessment/slides | ||
---|---|---|---|---|
Week 3 | Identify the need for persistent storage. | Slides | ||
Week 3 | Describe the main functions of an operating system | |||
Week 4 | Outline the use of a range of application software | |||
Week 4 | Identify common features of applications | Ongoing formative assessment with class activities and Question/ Answers. |
Topic | Computer organization Binary Representatin & Simple Logic Gates | Learning Outcomes / Notes |
---|---|---|
2.1.9 | Define the terms: bit, byte, binary, denary/decimal, hexadecimal. | |
2.1.10 | Outline the way in which data is represented in the computer. | To include strings, integers, characters and colours. This should include considering the space taken by data, for instance the relation between the hexadecimal representation of colours and the number of colours available. TOK, INT Does binary represent an example of a lingua franca? S/E, INT Comparing the number of characters needed in the Latin alphabet with those in Arabic and Asian languages to understand the need for Unicode. |
2.1.11 | Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR. | |
2.1.12 | Identify common features of applications. | |
2.1.13 | Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates. | Problems will be limited to an output dependent on no more than three inputs. The gate should be written as a circle with the name of the gate inside it. LINK Thinking logically, connecting computational thinking and program design, introduction to programming. |
Weeks | Course Content Links | Resources/Assessment/slides | ||
---|---|---|---|---|
Week 5 | Define the terms: bit, byte, binary, denary/decimal, hexadecimal | Slides | ||
Week 5 | Outline the way in which data is represented in the computer | |||
Week 6 | Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR | |||
Week 7 | Construct truth tables using the above operators | |||
Week 8 | Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates | Boolean Intro Demo | ||
Week 9 | Review | test/quiz Ongoing formative assessment with class activities and Question/ Answers. |
Semester 1 Systems Design and SW Lifecycle Weeks 11 - 19
Topic | Systems Design | Learning Outcomes / Notes |
---|---|---|
1.1.1 | Identify the context for which a new system is planned. | The extent and limitations of a new system should be appreciated. Organizational issues related to the installation of new systems such as user roles, underlying technologies. |
1.1.2 | Describe the need for change management. | Students should understand there are a number of factors that need to be managed to ensure change is successful. S/E The way that change is managed can have significant effects on employers and employees |
1.1.3 | Outline compatibility issues resulting from situations including legacy systems or business mergers. | INT, S/E When organizations interact, particularly on an international basis, there may be issues of software compatibility and language differences. |
1.1.4 | Compare the implementation of systems using a client’s hardware with hosting systems remotely. | The benefits and drawbacks of SaaS (Software-as-a-Service) should be considered. S/E, INT, AIM 8 The remote host may be in a different time zone and this can have significant effects on end-users |
1.1.5 | Evaluate alternative installation processes. | Students should be aware of the methods of implementation/ conversion. Parallel running, pilot running, direct changeover and phased conversion. S/E Training issues may require organizations to restructure their workforce. |
1.1.6 | Discuss problems that may arise as a part of data migration. | INT These include incompatible file formats, data structures, validation rules, incomplete data transfer and international conventions on dates, currencies and character sets. |
1.1.7 | Suggest various types of testing. 3 The crucial importance of testing at | The crucial importance of testing at all stages of implementation should be emphasized, with the stages clearly defined. Types of testing can include: user acceptance testing, debugging, beta testing. Students should be aware that there are programs that can test other programs, thereby automating parts of the testing process and reducing costs |
Weeks | Course Content Links | Resources/Assessment/slides | ||
---|---|---|---|---|
Week 11 | Identify the context for which a new system is planned. | Slides Additional Resouces ICT in Business | ||
Week 12 | Describe need for change management | |||
Week 13 | Outline compatibility issues resulting from situations including legacy systems or business mergers | |||
Week 14 | mpare the implementation of systems using a client’s hardware with hosting systems remotely. | |||
Week 16 | Discuss problems that may arise as a part of data migration | |||
Week 15 | Evaluate alternative installation processes. | |||
week 16 | Suggest various types of testing. | Ongoing formative assessment with class activities and Question/ Answers. |
Topic | User Focus | Learning Outcomes / Notes |
---|---|---|
1.1.8 | Describe the importance of user documentation. | S/E The quality of user documentation can affect the rate of implementation of the new system. |
1.1.9 | Evaluate different methods of providing user documentation. | Examples should include methods such as: help files, online support and printed manuals. S/E The quality of user documentation can affect the rate of implementation of the new system. |
1.1.10 | Evaluate different methods of delivering user training. | Examples should include selfinstruction, formal classes, remote/ online training. S/E The quality of the delivery of user training can affect the rate of implementation of the new system. |
Weeks | Course Content Links | Resources/Assessment/slides | ||
---|---|---|---|---|
Week 17 | Describe the importance of user documentation | Slides | ||
Week 17 | Evaluate different methods of providing user documentation. | |||
Week 17 | Evaluate different methods of delivering user training. | Ongoing formative assessment with class activities and Question/ Answers. |
Topic | System Backup & S/W Development | Learning Outcomes / Notes |
---|---|---|
1.1.11 | Identify a range of causes of data loss. | Causes include malicious activities and natural disasters. S/E Malicious activity may be a result of activities by employees within the organization or intruders. |
1.1.12 | Outline the consequences of data loss in a specified situation. | S/E Loss of medical records, cancellation of a hotel reservation without the knowledge of the traveller. |
1.1.13 | Describe a range of methods that can be used to prevent data loss. | These should include failover systems, redundancy, removable media, offsite/online storage. |
1.1.14 | Describe strategies for managing releases and updates. | Students should be aware of a variety of ways in which updates and patches are made available and deployed. This includes automatic updates received on a regular basis online. S/E, INT Performance issues related to the inability to install updates may hinder end-users and reduce compatibility between systems in |
Weeks | Course Content | Resources/Assessment/slides | ||
---|---|---|---|---|
Week 18 | Outline the consequences of data loss in a specified situation | Slides | ||
Week 18 | Describe a range of methods that can be used to prevent data loss. | |||
Week 18 | Describe strategies for managing releases and updates | |||
Week 19 | End of unit assesment | Ongoing formative assessment with class activities and Question/ Answers. |
Semester 2 Python text programming weeks 1 - 9
Week | Topic | Learning outcomes | Teacher Notes | Resources/Assessment/slides | |
---|---|---|---|---|---|
1 | Input and Output | All of you will… • Use basic input and print statements Most of you will… • Define a variable and know the rules for naming variables Some of you will… • Combine strings with variables in the print statement | Using the Python shell • Mathematical operators • Input and print statements • Creating and saving new programs • Variable names • Integers | Slides Input output practice | |
2 | If Statements | All of you will… • Create a basic if statement using logical operators Most of you will… • Create an if…else statement and explain what a flow diagram is showing Some of you will… • Create your own flow diagrams using the correct symbols | Logical operators • Basic if statements • If…else statements • Flow diagrams | Ifelse lesson | |
3 | More If Statements | All of you will… • Create if statements which test multiple conditions Most of you will… • Create complex programs that include if…elif statements, nested if statements and use “and” and “or” in the conditions. Some of you will… • Draw accurate flow diagrams to show complex if statements | • If…elif…else statements • Nested if statements • “and” and “or” operators | ||
4 & 5 | Going Loopy | All of you will… • Create a basic for loop and a basic while loop Most of you will… • Explain the difference between a count controlled and a condition controlled loop • Create a flow diagram to plan a program Some of you will… • Use nested code to combine if statements and loops together | For loops using the range statement and • While loops • The difference between count controlled and conditioncontrolled loops | Lesson Slides | |
6 | Text and Numbers | All of you will… • Convert data into different data types Most of you will… • Create programs that manipulate strings including, adding line breaks, changing the case and displaying part of a string Some of you will… • Solve programming errors in somebody else's program | Tax calculation activity | ||
7 | Random Values | All of you will… • Create simple programs that use random number and values Most of you will… • Create a number guessing game and a maths quiz using random values Some of you will… • Adapt and improve the program you are creating | mporting the random module • random.random() • random.randint() • random.randrange() • random.choice() | Random Story Teller | |
8 & 9 | Project | Kids create Adventure Game using skills acquired | Assessment Practice Unit Assessment by project | ||
Misc Assessments | review boolean |
Semester 2 Python turtle programming weeks 10 - 12
Week | Topic | Learning outcomes | Teacher Notes | Assessment | Resource Link |
---|---|---|---|---|---|
1 & 2 | Python Turtle / Graphics | All of you will… • Draw simple shapes using the turtle Most of you will… • Use computational thinking skills to look for repeating patterns and include them in your programming • Create an image using multiple shapes Some of you will… • Draw complex repeating patterns using nested loops • Draw images using colour and random values | Creating simple shapes using a loop • Using computation thinking skills to identify repeating patterns • Nesting loops to create more complex patterns • Altering the background colour • Altering the line colour • Altering the line thickness • Altering the fill colour • Using random to create unique random patterns | Class Activities | Lesson Activites |
3 & 4 | Student project | Mini Project |
Semester 2 Python Data Structures - weeks 15 - 22
Week | Topic | Learning outcomes | Teacher Notes | Resources/Assessment/slides |
---|---|---|---|---|
5 & 6 | Creating Robust Programs | All of you will… • Create a menu system that works • Use sensible variable names and user prompts Most of you will… • Create a robust program that take into account user errors to prevent them from crashing the program Some of you will… • Complete a complex program by breaking it down into manageable chunks | • Using sensible variable names and user prompts • Creating a menu system that works • Creating a robust program that takes into account user errors to prevent them from crashing the program • How to break a complex task into manageable chunks | Sub Programs |
6 & 7 | Lists | All of you will… • Create a list and add new values to that list Most of you will… • Display the list in different formats • Insert items into a specific location in a list and remove values from a list Some of you will… • Work in pairs to create a successful program that will allow a user to manipulate a list of numbers | Creating simple 1D lists • Displaying the list • Displaying the list with each item on a separate line • Displaying single items in a list • Adding data to the end of a list • Adding data to a specific position in the list • Altering data in a list • Removing data from a list • Finding the length of a list | List Lesson Lists 2 |
7 & 8 | 2D Lists | All of you will… • Create a 2D list Most of you will… • Add and delete data in 2D lists Some of you will… • Work in pairs to create programs that allow users to search for data in a 2D list and manipulate data in 2D lists | Creating simple 2D lists • Displaying the list • Displaying the list with each item on a separate line • Displaying single items in a list • Adding data to the end of a list • Inserting data into a specific position in the list • Altering data in a list • Removing data from a list | |
8 & 9 | Sub programs | All of you will… • Create a simple program with at least one sub program Most of you will… • Pass variables to a sub program and return variables from a sub program Some of you will… • Work in pairs to successfully create complex programs using sub programs | • Sub programs • Passing variable to a sub program • Returning variables from a sub program to the main program • Local and global variables | |
10,11& 12 | Final project |
Ongoing Computational thinking
Topic 4 | Intro to Programming Nature of programming Languages | Learning Outcomes / Notes |
---|---|---|
4.3.1 | State the fundamental operations of a computer. | These include: add, compare, retrieve and store data. Complex capabilities are composed of very large numbers of very simple operations. |
4.3.2 | Distinguish between fundamental and compound operations of a computer. | For example, “find the largest” is a compound operation . |
4.3.3 | Explain the essential features of a computer language. | For example, fixed vocabulary, unambiguous meaning, consistent grammar and syntax. TOK Language and meaning. |
4.3.4 | Explain the need for higher level languages. | For example, as the human needs for computer systems have expanded it is necessary to abstract from the basic operations of the computer. It would take far too long to write the type of systems needed today in machine code |
4.3.5 | Outline the need for a translation process from a higher level language to machine executable code. | For example, compiler, interpreter, virtual machine. |
Topic 4 | Intro to Programming Use of programming Languages | Learning Outcomes / Notes |
---|---|---|
4.3.6 | Define the terms: variable, constant, operator, object | |
4.3.7 | Define the operators =, ≠, <, <=, >, >=, mod, div. | . |
4.3.8 | Analyse the use of variables, constants and operators in algorithms. | For example, identify and justify the use of a constant as opposed to a variable in a given situation. MYP Mathematics: forms of numbers, algebra—patterns and sequences, logic, algorithms. |
4.3.9 | Construct algorithms using loops, branching | MYP Mathematics: using flow charts to solve problems in real-life contexts, logic, algorithms MYP Technology: design cycle (inputs, processes, outputs, feedback, iteration). LINK Connecting computational thinking and program design. |
4.3.10 | Describe the characteristics and applications of a collection. | For example, compiler, interpreter, virtual machine. |
4.3.11 | Construct algorithms using the access methods of a collection. | Characteristics: • Contains similar elements |
4.3.12 | Discuss the need for sub-programmes and collections within programmed solutions. | Show an understanding of the usefulness of reusable code and program organization for the individual programmer, team members and future maintenance. |
4.3.13 | Construct algorithms using predefined sub-programmes, one dimensional arrays and/or collections. | Students will only be required to analyse flow charts in the externally assessed components. Students will be expected to write and analyse pseudocode in the externally assessed components. |
resource link https://ibcomputerscience.xyz/algorithmic-thinking-practice/
Wk 1 06 Aug 3.5 Hours 2.1 Inclusive ( 2.1.1 - 2.1.13 ) | Lesson Links | Resources | Home Work / Assessment | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Day 1 Monday 2.1.11 - 2.1.13 | Logic Gates Content Please click Here | ||||||||||||||||||||||
Day 2 | Compter Architecture Content Please click Here | ||||||||||||||||||||||
Day 3 ( 2.1.9 -2.1.13) | Computer Organisation Content Please click Here | ||||||||||||||||||||||
|