Unit Overview

This unit examines algorithms and procedures in more detail. The Logo apps, started in Unit 4 and continued in Unit 5, introduce the concept of procedural abstraction and you will learn to define and use procedures -- named blocks of code that perform a specific task -- as well as when and how to use procedures with parameters. By encapsulating the algorithms into named procedures and introducing parameters to help generalize the algorithms, you will be able to see the advantages of procedural abstraction. In addition to designing and testing your own algorithms,  you will be introduced to the analysis of algorithms. You will compare various searching and sorting algorithms, including examining the efficiency of each. For the searching and sorting algorithms, you will analyze them both experimentally and through mathematical concepts such as functions and graph. The impact section of this unit provides another opportunity for you to explore a computing innovation and the effects it has on society.

Technical Terms

Below is a table of all of the technical terms that you'll learn in this unit. You will find a vocabulary section similar to this at the end of each lesson. Hover over the terms to review the definitions. You'll be able to practice your knowledge of the vocabulary with a quizlet at the end of the unit.
MIT App Inventor
append
arguments
index
insert
length
parallel lists
parameters
Computer Science Principles
binary search
decidable problems
decision problem
distributed computing
efficiency
heuristic algorithm
instance of a problem
linear or sequential search
optimization problem
parallel computing
reasonable time
sequential computing
sorting algorithm
speedup
undecidable problems
unreasonable time
General Computing
brute force
intractable
intractable problems
more efficient
The Halting Problem
The Traveling Salesman Problem

Self-Check

Q-1: Identify 1-2 vocabulary terms from the table above that you know and define them in your own words. If you don’t know any of these words yet, that’s ok! Instead, write 1-2 sentences on how you plan to practice learning the vocabulary for this unit.

Q-2: Identify 1-2 vocabulary terms from the table above that you have heard before but don’t know the definition for.

Q-3: Identify 1-2 vocabulary terms from the table above that you don’t know but want to learn in this unit.

Reflection: For Your Portfolio

Answer the following portfolio reflection questions as directed by your instructor. Questions are also available in this Google Doc - you will be prompted to make your own editable copy.