The first graders at Northside Elementary School went on a shape scavenger hunt around their school. They found many different shapes including squares, rectangles, circles, triangles, rhombuses, trapezoids, hexagons, pentagons, octagons, cubes, spheres, rectangular prisms, cylinders, pyramids, and cones. The students documented the key attributes of each shape and thanked their teacher Mrs. Keats and art teacher Mrs. Dalgleish for the learning activity.
The document discusses classifying two-dimensional geometric shapes based on their properties, with a focus on quadrilaterals. It explains that shapes can belong to multiple categories and get more specific as they are classified. Examples are provided of different types of quadrilaterals like squares, rectangles, rhombuses, and trapezoids along with their defining properties.
This document defines and identifies different types of polygons based on descriptions of their properties. It asks questions to identify a trapezoid, pentagon, parallelogram, triangle, square, rectangle, and rhombus based on their number of sides, whether sides or angles are parallel or equal, and if angles are right angles.
This document introduces pseudocode, which is a non-programming language used to design the logic and flow of a program before writing the actual code. It discusses common pseudocode structures like input/output, conditional statements, loops, and cases. Examples are given for how operations would be written in pseudocode versus actual programming languages like C# and Pascal. The document provides an assignment to write pseudocode that gets a number from the user and prints a message depending on if the number is less than or greater than 7.
This document contains an IF statement formula that tests if the value in cell A2 is equal to 4, and will return the text "Value is four" if true, or "Value is not four" if false. The formula checks if the condition A2=4 is true or false, and returns one of two results based on that evaluation.
The document discusses binary numbers and how to convert between binary and decimal representations. It explains that binary uses only two digits, 0 and 1, and the place value of each digit determines its weight. To convert binary to decimal, you multiply each binary digit by its place value and sum the results. It provides examples of converting individual numbers between binary and decimal formats and describes how to perform the conversions using Excel functions like SUM(), INT(), and MOD().
This document provides an introduction to computer programs and coding. It explains that a computer program is a set of coded instructions that tells a computer what to do. It encourages the reader to get started with TouchDevelop coding and provides instructions for doing so, such as using Google Chrome and registering with a Google or Microsoft account to save work. The document then demonstrates some simple coding examples using a turtle and asks the reader to try modifying the code to change the turtle's appearance and movements, drawing different shapes. It concludes by recapping the key lessons learned about coding sequences, loops, and using counters in for loops.
The first graders at Northside Elementary School went on a shape scavenger hunt around their school. They found many different shapes including squares, rectangles, circles, triangles, rhombuses, trapezoids, hexagons, pentagons, octagons, cubes, spheres, rectangular prisms, cylinders, pyramids, and cones. The students documented the key attributes of each shape and thanked their teacher Mrs. Keats and art teacher Mrs. Dalgleish for the learning activity.
The document discusses classifying two-dimensional geometric shapes based on their properties, with a focus on quadrilaterals. It explains that shapes can belong to multiple categories and get more specific as they are classified. Examples are provided of different types of quadrilaterals like squares, rectangles, rhombuses, and trapezoids along with their defining properties.
This document defines and identifies different types of polygons based on descriptions of their properties. It asks questions to identify a trapezoid, pentagon, parallelogram, triangle, square, rectangle, and rhombus based on their number of sides, whether sides or angles are parallel or equal, and if angles are right angles.
This document introduces pseudocode, which is a non-programming language used to design the logic and flow of a program before writing the actual code. It discusses common pseudocode structures like input/output, conditional statements, loops, and cases. Examples are given for how operations would be written in pseudocode versus actual programming languages like C# and Pascal. The document provides an assignment to write pseudocode that gets a number from the user and prints a message depending on if the number is less than or greater than 7.
This document contains an IF statement formula that tests if the value in cell A2 is equal to 4, and will return the text "Value is four" if true, or "Value is not four" if false. The formula checks if the condition A2=4 is true or false, and returns one of two results based on that evaluation.
The document discusses binary numbers and how to convert between binary and decimal representations. It explains that binary uses only two digits, 0 and 1, and the place value of each digit determines its weight. To convert binary to decimal, you multiply each binary digit by its place value and sum the results. It provides examples of converting individual numbers between binary and decimal formats and describes how to perform the conversions using Excel functions like SUM(), INT(), and MOD().
This document provides an introduction to computer programs and coding. It explains that a computer program is a set of coded instructions that tells a computer what to do. It encourages the reader to get started with TouchDevelop coding and provides instructions for doing so, such as using Google Chrome and registering with a Google or Microsoft account to save work. The document then demonstrates some simple coding examples using a turtle and asks the reader to try modifying the code to change the turtle's appearance and movements, drawing different shapes. It concludes by recapping the key lessons learned about coding sequences, loops, and using counters in for loops.
This document provides an introduction to computer programs and coding using TouchDevelop. It explains that programs allow you to create code sequences to draw shapes and control a turtle. The document encourages experimenting with changing turtle properties like speed and color or drawing more complex shapes. It also introduces the concept of using loops with counters to repeat code sequences.
This document outlines the key components of software development from the initial "Hello World" program through compilation and interpretation into machine code, followed by the operating system which includes the basic input/output system and interrupt register to run programs.
A turtle can be commanded to crawl over a sheet of paper with a pen tied to its tail. The turtle module in Python allows you to control a turtle shape to draw on a graphic window. Basic turtle commands include moving the turtle forward or turning it right by a set number of degrees. Challenges for using the turtle include drawing shapes like squares and hexagons of varying sides, as well as getting the turtle to draw a person's initials.
This document discusses database field types and provides examples of validation and verification checks. It contains information about text, number, integer, real, date/time, and boolean fields that can be used in a database. Examples of validation include checking for a minimum height of 11.7 metres and verifying a date is in the correct format of 31st April 2012.
This document discusses databases and their purpose. It defines a database as a collection of records with fields of different data types like text, numbers, dates and booleans. It explains that databases are used to store and organize information in an structured way. Database design involves defining records, fields and field types. Validation and verification help ensure data accuracy. Relational databases differ from flat files in how data is structured and connected. Examples of database fields for student records are given to illustrate concepts.
The document provides instructions for creating a countdown timer, spawning enemies, and a Kodu challenge to make a game with those elements. It explains how to create a 'referee' object to track time remaining, program it to subtract one second each turn from the start time. It also describes how to create an enemy, make it 'creatable', and program a spawning object to create enemies using a timer. The challenge is to make a game with a score, timer, spawning enemies, objectives, and clear win/lose conditions in an interesting world.
This document discusses variables, assignment, and types in the Pascal programming language. It provides an example program that asks the user to input a number between 1 and 99, analyzes their "personality" based on that number, and ends the program. It also discusses values, variable names, assignment, statements, and operators in Pascal. Finally, it provides challenges to write programs to convert Fahrenheit to Celsius and perform basic math operations on two user-input numbers.
This document discusses Python variables, data types, and basic operations. It includes:
1) An introduction to variables and data types in Python, including integers, strings, and floats.
2) Details on assigning values to variables through assignment statements and how variables store copies of values.
3) An example program that takes a user-input number and performs a personality analysis based on that number.
4) A challenge to write a Fahrenheit to Celsius temperature converter program in Python.
This document discusses two processes for abstracting information called cats and dogs. Cats involves ignoring unnecessary details while dogs involves identifying common patterns across multiple examples. It instructs groups to make an image puzzle requiring abstraction to solve, similar to the example but more difficult to determine the subject. The puzzle should follow the dogs process of identifying patterns across multiple internet images with unnecessary details removed.
This document provides advice for choosing a project for COMP 4. It notes that managing a complete IT project from start to finish is a unique opportunity, but that such projects are often not fun due to a lack of real-world expectations, underestimating paperwork, feature creep over time, and poor time management rather than technical problems. It recommends choosing a complex project that interests the student and includes advanced algorithms, data structures, classes, mathematics, or technologies like simulations, portable devices, communication protocols, or image processing. The project should address a real problem and have a real end user.
The document discusses the rail fence cipher technique for encryption and decryption of text. It explains that the rail fence cipher arranges the characters of a plaintext message in a diagonal pattern, alternating between moving down and up in rows. It also uses two counters, one starting at the beginning and looping once, and the other starting after the first and looping to the end, to encrypt the message by reading down the columns.
The document discusses programming concepts like variables, branching, and looping. It then introduces Scratch, a programming environment where users can create animations using sprites. It provides step-by-step instructions on how to program a cat sprite in Scratch to point towards and move towards the mouse pointer.
Public key cryptography uses a pair of keys - a public key for encryption and a private key for decryption. The keys are generated as follows:
1) Choose two prime numbers and multiply them to get n
2) Calculate φ(n) as (p-1)(q-1)
3) Choose a public key k that is relatively prime to φ(n)
4) Calculate the private key j using k*j=1 (mod φ(n))
To encrypt a message P, compute E=P^k (mod n). To decrypt, compute P=E^j (mod n).
Server-side scripts allow for dynamic web page generation and user interaction by running programs on the server. Client-side form inputs are sent to the server as name-value pairs via GET or POST requests. Server-side programming/scripting languages like PHP then generate HTML dynamically based on the form values submitted. For example, a form using the GET method sends user inputs in the URL, and a PHP script can echo those values on the resulting page.
Sensors measure physical properties and translate them into analog electrical signals. Common sensors detect light, sound, temperature, pressure, acceleration, motion, and heat. Analog signals have a continuous range of values, while digital signals are discrete on/off values. To use sensor readings in computers, analog signals must be converted to digital. Monitoring involves simply measuring something, like the weather, while control uses feedback - sensors provide measurements to a computer program that sets control values to influence a motor or actuator.
The document discusses getting an antidote from Mr. Macleod's computer in order to save someone now. It also mentions Mr. Macleod's computer security systems and encryption. The document suggests explaining how the computer's security was overcome to access the needed antidote.
Hashing involves using an algorithm to generate a numeric key from input data. It maps keys to integers in order to store and retrieve data more efficiently. A simple hashing algorithm uses the modulus operator (%) to distribute keys uniformly. Hashing is used for file management, comparing complex values, and cryptography. Collisions occur when different keys hash to the same value, requiring strategies like open hashing, closed hashing, or deleting data. Closed hashing supplements the hash table with linked lists to store colliding entries outside the standard table.
Hashing involves using an algorithm to generate a numeric key from input data. It maps keys to integers in order to store and retrieve data more efficiently. A simple hashing algorithm uses the modulus operator (%) to distribute keys uniformly. Hashing is commonly used for file management, comparing complex values, and cryptography. Collisions occur when different keys hash to the same value, requiring strategies like open hashing, closed hashing, or deleting data. Closed hashing supplements the hash table with linked lists to store colliding entries outside the standard table.
This document discusses key concepts related to URLs and the internet infrastructure. It defines terms like internet, intranet, URL, URI and protocol. It explains the components of a URL like the scheme, host and path. Traceroute is introduced as a tool to trace the path a request takes. The roles of organizations like ICANN, IETF and registrars in managing domain names and internet resources are overviewed at a high level. Steps for registering a domain name with a registrar are outlined. The difference between a URI and URL is that a URI identifies a resource while a URL provides location information to access that resource.
Reverse Polish notation (RPN) is a way of writing mathematical expressions without using parentheses. It uses a stack and two rules: 1) if a value appears, push it onto the stack, and 2) if an operator appears, pop two items from the stack and push the result. Examples show RPN expressions for addition, subtraction, multiplication, and division. The shunting yard algorithm can be used to convert infix notation to RPN by reading characters and pushing operands or popping operators based on their precedence.
This document provides an introduction to computer programs and coding using TouchDevelop. It explains that programs allow you to create code sequences to draw shapes and control a turtle. The document encourages experimenting with changing turtle properties like speed and color or drawing more complex shapes. It also introduces the concept of using loops with counters to repeat code sequences.
This document outlines the key components of software development from the initial "Hello World" program through compilation and interpretation into machine code, followed by the operating system which includes the basic input/output system and interrupt register to run programs.
A turtle can be commanded to crawl over a sheet of paper with a pen tied to its tail. The turtle module in Python allows you to control a turtle shape to draw on a graphic window. Basic turtle commands include moving the turtle forward or turning it right by a set number of degrees. Challenges for using the turtle include drawing shapes like squares and hexagons of varying sides, as well as getting the turtle to draw a person's initials.
This document discusses database field types and provides examples of validation and verification checks. It contains information about text, number, integer, real, date/time, and boolean fields that can be used in a database. Examples of validation include checking for a minimum height of 11.7 metres and verifying a date is in the correct format of 31st April 2012.
This document discusses databases and their purpose. It defines a database as a collection of records with fields of different data types like text, numbers, dates and booleans. It explains that databases are used to store and organize information in an structured way. Database design involves defining records, fields and field types. Validation and verification help ensure data accuracy. Relational databases differ from flat files in how data is structured and connected. Examples of database fields for student records are given to illustrate concepts.
The document provides instructions for creating a countdown timer, spawning enemies, and a Kodu challenge to make a game with those elements. It explains how to create a 'referee' object to track time remaining, program it to subtract one second each turn from the start time. It also describes how to create an enemy, make it 'creatable', and program a spawning object to create enemies using a timer. The challenge is to make a game with a score, timer, spawning enemies, objectives, and clear win/lose conditions in an interesting world.
This document discusses variables, assignment, and types in the Pascal programming language. It provides an example program that asks the user to input a number between 1 and 99, analyzes their "personality" based on that number, and ends the program. It also discusses values, variable names, assignment, statements, and operators in Pascal. Finally, it provides challenges to write programs to convert Fahrenheit to Celsius and perform basic math operations on two user-input numbers.
This document discusses Python variables, data types, and basic operations. It includes:
1) An introduction to variables and data types in Python, including integers, strings, and floats.
2) Details on assigning values to variables through assignment statements and how variables store copies of values.
3) An example program that takes a user-input number and performs a personality analysis based on that number.
4) A challenge to write a Fahrenheit to Celsius temperature converter program in Python.
This document discusses two processes for abstracting information called cats and dogs. Cats involves ignoring unnecessary details while dogs involves identifying common patterns across multiple examples. It instructs groups to make an image puzzle requiring abstraction to solve, similar to the example but more difficult to determine the subject. The puzzle should follow the dogs process of identifying patterns across multiple internet images with unnecessary details removed.
This document provides advice for choosing a project for COMP 4. It notes that managing a complete IT project from start to finish is a unique opportunity, but that such projects are often not fun due to a lack of real-world expectations, underestimating paperwork, feature creep over time, and poor time management rather than technical problems. It recommends choosing a complex project that interests the student and includes advanced algorithms, data structures, classes, mathematics, or technologies like simulations, portable devices, communication protocols, or image processing. The project should address a real problem and have a real end user.
The document discusses the rail fence cipher technique for encryption and decryption of text. It explains that the rail fence cipher arranges the characters of a plaintext message in a diagonal pattern, alternating between moving down and up in rows. It also uses two counters, one starting at the beginning and looping once, and the other starting after the first and looping to the end, to encrypt the message by reading down the columns.
The document discusses programming concepts like variables, branching, and looping. It then introduces Scratch, a programming environment where users can create animations using sprites. It provides step-by-step instructions on how to program a cat sprite in Scratch to point towards and move towards the mouse pointer.
Public key cryptography uses a pair of keys - a public key for encryption and a private key for decryption. The keys are generated as follows:
1) Choose two prime numbers and multiply them to get n
2) Calculate φ(n) as (p-1)(q-1)
3) Choose a public key k that is relatively prime to φ(n)
4) Calculate the private key j using k*j=1 (mod φ(n))
To encrypt a message P, compute E=P^k (mod n). To decrypt, compute P=E^j (mod n).
Server-side scripts allow for dynamic web page generation and user interaction by running programs on the server. Client-side form inputs are sent to the server as name-value pairs via GET or POST requests. Server-side programming/scripting languages like PHP then generate HTML dynamically based on the form values submitted. For example, a form using the GET method sends user inputs in the URL, and a PHP script can echo those values on the resulting page.
Sensors measure physical properties and translate them into analog electrical signals. Common sensors detect light, sound, temperature, pressure, acceleration, motion, and heat. Analog signals have a continuous range of values, while digital signals are discrete on/off values. To use sensor readings in computers, analog signals must be converted to digital. Monitoring involves simply measuring something, like the weather, while control uses feedback - sensors provide measurements to a computer program that sets control values to influence a motor or actuator.
The document discusses getting an antidote from Mr. Macleod's computer in order to save someone now. It also mentions Mr. Macleod's computer security systems and encryption. The document suggests explaining how the computer's security was overcome to access the needed antidote.
Hashing involves using an algorithm to generate a numeric key from input data. It maps keys to integers in order to store and retrieve data more efficiently. A simple hashing algorithm uses the modulus operator (%) to distribute keys uniformly. Hashing is used for file management, comparing complex values, and cryptography. Collisions occur when different keys hash to the same value, requiring strategies like open hashing, closed hashing, or deleting data. Closed hashing supplements the hash table with linked lists to store colliding entries outside the standard table.
Hashing involves using an algorithm to generate a numeric key from input data. It maps keys to integers in order to store and retrieve data more efficiently. A simple hashing algorithm uses the modulus operator (%) to distribute keys uniformly. Hashing is commonly used for file management, comparing complex values, and cryptography. Collisions occur when different keys hash to the same value, requiring strategies like open hashing, closed hashing, or deleting data. Closed hashing supplements the hash table with linked lists to store colliding entries outside the standard table.
This document discusses key concepts related to URLs and the internet infrastructure. It defines terms like internet, intranet, URL, URI and protocol. It explains the components of a URL like the scheme, host and path. Traceroute is introduced as a tool to trace the path a request takes. The roles of organizations like ICANN, IETF and registrars in managing domain names and internet resources are overviewed at a high level. Steps for registering a domain name with a registrar are outlined. The difference between a URI and URL is that a URI identifies a resource while a URL provides location information to access that resource.
Reverse Polish notation (RPN) is a way of writing mathematical expressions without using parentheses. It uses a stack and two rules: 1) if a value appears, push it onto the stack, and 2) if an operator appears, pop two items from the stack and push the result. Examples show RPN expressions for addition, subtraction, multiplication, and division. The shunting yard algorithm can be used to convert infix notation to RPN by reading characters and pushing operands or popping operators based on their precedence.
1. Boris, Ben, Bob, Bess, Beth and Bill are waiting in a
doctor’s surgery. Looking around the room, each of them
sees that they know some of the other people in the room.
Ben knows five of the other people sitting in the room,
Bob knows four of the others,
Beth and Bill both know three of the others,
Bess knows two of the others and
Boris only knows one of the other people.
Who knows who in the waiting room?
3. Adjacency Matrix or List
• Matrix is fast and direct
• Quick for adding and deleting edges
• Not so good for adding and deleting
vertices
• Can be very ‘sparse’ and therefore
inefficient
4. Paths and Path problems
• From one vertex to another along edges
• Explorer’s problem
• Path that travels each edge once and returns
to starting point
• Traveller’s problem
• Path that visits each vertex only once before
returning to starting point.
5. Closed paths and cycles
• Closed Path or circuit:
Path that ends at the starting vertex
• Cycle
circuit for which each intermediate
vertex is different
• Tree
Undirected connected graph with no
cycles
6. Closed paths and cycles
• Closed Path or circuit:
Path that ends at the starting vertex
• Cycle
circuit for which each intermediate
vertex is different
• Tree
Undirected connected graph with no
cycles