This book aims to be an accessible introduction into the design and …
This book aims to be an accessible introduction into the design and analysis of efficient algorithms. Throughout the book we will introduce only the most basic techniques and describe the rigorous mathematical methods needed to analyze them.
The topics covered include:
The divide and conquer technique. The use of randomization in algorithms. The general, but typically inefficient, backtracking technique. Dynamic programming as an efficient optimization for some backtracking algorithms. Greedy algorithms as an optimization of other kinds of backtracking algorithms. Hill-climbing techniques, including network flow.
The goal of the book is to show you how you can methodically apply different techniques to your own algorithms to make them more efficient. While this book mostly highlights general techniques, some well-known algorithms are also looked at in depth. This book is written so it can be read from "cover to cover" in the length of a semester, where sections marked with a * may be skipped.
The students will practice making algorithms emphasizing beginning, middle, and end while …
The students will practice making algorithms emphasizing beginning, middle, and end while investigating the life cycle of a bean plant. They will begin by watching a video of a bean plant growing and listening to a read aloud about a plant growing. After this, they will discuss the beginning, middle, and end of the bean plant’s life cycle. At the end of the lesson, the students will each create an algorithm of how the bean plant grows by drawing the beginning, middle, and end of the bean plant’s life cycle.
BeeBots are an engaging, hands-on way to introduce sequencing, algorithms, programming and …
BeeBots are an engaging, hands-on way to introduce sequencing, algorithms, programming and debugging to primary and elementary students. In this introductory activity, information will be presented in a clear and concise way so that students can collaborate to plan, create, and run a program. Students will correct through debugging as necessary. The attached resource includes vocabulary and tips for using BeeBot with students.
Students will be given ordinal number cards and will have to put …
Students will be given ordinal number cards and will have to put the numbers in the correct order. Next the students will discuss algorithms and tasks that have steps to complete in their daily lives. Students will have to work with a partner to plan an algorithm for how to get through a maze, then the students will have to use that algorithm to get through the maze.
This is a lesson plan to teach bruteforce and divide and conquer …
This is a lesson plan to teach bruteforce and divide and conquer to elementary students. This lesson plans comes with activities and a quizlet study deck.
This activity will allow students to compare Brute Force and Divide and …
This activity will allow students to compare Brute Force and Divide and Conquer sorting algorithms.This activity will show the sorting process of a Brute Force algorithm and a Divide and Conquer algorithm that is used by a computer when sorting data.
This activity will show the sorting process using the Bubble Sort Brute …
This activity will show the sorting process using the Bubble Sort Brute Force algorithm that is used by a computer when sorting data without using a computer.
This is the third of three lessons that make the connection between …
This is the third of three lessons that make the connection between programming and algorithms. In this lesson students continue to work with the "Human Machine Language" to get creative designing more algorithms for playing cards. One command is added to the language from the previous lesson (SWAP) that allows positions of cards to change. With the addition of swap the challenge is to design an algorithm that will move the minimum card to the front of the list while keeping the relative order of all the other cards the same. If that is achieved some other Human Machine Language challenges are available.
Students will be given simple sequence directions to find uppercase or lowercase …
Students will be given simple sequence directions to find uppercase or lowercase letters on a grid. They will begin to develop an understanding of algorithms and code.
This resource will show how to teach your students to make their own …
This resource will show how to teach your students to make their own "formula calculator" using Java programming, and it has handouts for your students or your own use. It is ideal for Grade 7 and Grade 8 Math.The video in this resource walks you through the steps to teach your students to program their "formula calculator" using Java programming after they have been taught about geometric formulas. They can then use their calculator to help them solve their math problems. It will reinforce critical thinking skills and create a deeper understanding of how the formulas work.Students can use any Java IDE or even an online IDE. The lesson can be customized based on your familiarity with Java and your students' computer skills.The handouts show how to use arithmetic operators in Java as well as some Math class methods that will be helpful. The attached program can be used as a starting point for their programs.
Good Night Gorilla by Peggy Rathman is an engaging book for students …
Good Night Gorilla by Peggy Rathman is an engaging book for students who will find it funny to see that after the zookeeper has put all the animals to bed for the night, the gorilla goes behind him and unlocks all the cages to free the animals who then follow the zookeeper home. An algorithm is a set of step by step directions and the zookeeper definitely needs an algorithm to follow. It is up to the students to help the zookeeper keep all the animals where they belong each night.
Algorithms Unplugged. The teacher can facilitate a paper weaving project where students create …
Algorithms Unplugged. The teacher can facilitate a paper weaving project where students create and follow a pattern while exploring and understanding the connections between coding, computing, and fiber-arts.
In this activity, students will explore computational sequencing (the process of putting …
In this activity, students will explore computational sequencing (the process of putting specific instructions to be executed by a computer in order) by engaging with recipes. Students will think through how a computer might interpret instructions, create instruction sets based on these insights, and share favorite recipes as they try to arrange instructions in a format that a computer might understand.
Students will use minimum spanning trees to analyze a problem and provide …
Students will use minimum spanning trees to analyze a problem and provide insights into addressing the problem. The lesson provides detailed support around analyzing transportation infrastructure in their community and assessing its impact on the lives of different people who use it. Students create minimum spanning trees based on data, solve the trees to generate insights about the data, and communicate those insights along with policy recommendations based on their analysis.
This is a link to the printable resources to accompany the lesson …
This is a link to the printable resources to accompany the lesson Algorithms and Programming (link below).
The materials include printable coding cards and math equations for an unplugged math game. The students will work together to create algorithms in order to solve mathematical equations.
Link to Lesson Plan: https://docs.google.com/document/d/1-eArOYRBrJnFK1Q4tt5fBvwt1wmYoCOMVd8yOWhhM-4/edit?usp=sharing
Lesson plan for early elementary grades to support understanding of an algorithm. …
Lesson plan for early elementary grades to support understanding of an algorithm. At the root of all computer science is something called an algorithm. The word “algorithm” may sound like something complicated, but really it’s just a list of instructions that someone can follow to achieve a result. To provide a solid base for the rest of your students’ computer science education, we’re going to focus on building a secure relationship with algorithms.
Students will: List steps to move character around a map Arrange directions to reach predetermined goal Predict where character will land, given a list of steps
In this lesson, students will learn what a pattern loop is and …
In this lesson, students will learn what a pattern loop is and will learn the importance of repeating patterns. They will focus on the vocabulary words pattern, loop, and program. They will then get the opportunity to practice making pattern loops with shape cards, blocks, and creating their own loops with writing utensils and paper. They will also have the opportunity to see the importance of pattern loops in programming either using
Dear student! You are starting to learn about computation and its purpose. …
Dear student! You are starting to learn about computation and its purpose. This course covers the same materials as an introductory class for undergraduate computer science majors. Its curriculum, which includes software, hardware and algorithms, resembles that of a one- or two-semester first-year college course or the high school Advanced Placement (AP) Computer Science. It does not require a formal computer science background.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.