Use examples that have nothing to do with computers to introduce new CS concepts in an accessible way. Share Use examples that have nothing to do with computers to introduce new CS concepts in an accessible way. with FacebookShare Use examples that have nothing to do with computers to introduce new CS concepts in an accessible way. with Twitter
To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes. Share To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes. with FacebookShare To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes. with Twitter
When learning in a playful context, students are less likely to be frustrated by difficulty or failure. Share When learning in a playful context, students are less likely to be frustrated by difficulty or failure. with FacebookShare When learning in a playful context, students are less likely to be frustrated by difficulty or failure. with Twitter
Introduce memory and efficiency a few months into the AP CS course. Do so in a hands-on way by demonstrating how a computer cannot compute a slow problem. Share Introduce memory and efficiency a few months into the AP CS course. Do so in a hands-on way by demonstrating how a computer cannot compute a slow problem. with FacebookShare Introduce memory and efficiency a few months into the AP CS course. Do so in a hands-on way by demonstrating how a computer cannot compute a slow problem. with Twitter
Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. Share Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. with FacebookShare Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. with Twitter
Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. Share Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. with FacebookShare Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. with Twitter
Build a paper airplane instead of the PB&J exercise for a less messy, more extensible algorithms introduction activity. Share Build a paper airplane instead of the PB&J exercise for a less messy, more extensible algorithms introduction activity. with FacebookShare Build a paper airplane instead of the PB&J exercise for a less messy, more extensible algorithms introduction activity. with Twitter
Encourage student groups to proceed through the phases of problem solving in order, rather than completely testing only one problem solution at a time, to make them more productive. Share Encourage student groups to proceed through the phases of problem solving in order, rather than completely testing only one problem solution at a time, to make them more productive. with FacebookShare Encourage student groups to proceed through the phases of problem solving in order, rather than completely testing only one problem solution at a time, to make them more productive. with Twitter
Have students sort large signs their classmates hold to better visualize different sorting algorithms. However, be mindful of unsuitable factors to sort by, such as height and weight. Share Have students sort large signs their classmates hold to better visualize different sorting algorithms. However, be mindful of unsuitable factors to sort by, such as height and weight. with FacebookShare Have students sort large signs their classmates hold to better visualize different sorting algorithms. However, be mindful of unsuitable factors to sort by, such as height and weight. with Twitter
Give students a large data file to sort when teaching sorting algorithms to remind students that computers are great at dealing with a large set of data. Share Give students a large data file to sort when teaching sorting algorithms to remind students that computers are great at dealing with a large set of data. with FacebookShare Give students a large data file to sort when teaching sorting algorithms to remind students that computers are great at dealing with a large set of data. with Twitter
Connect search to students’ experience with Ctrl+F or Find in various applications after they’ve written code for a search algorithm to help them understand the value of this concept in their daily lives. Share Connect search to students’ experience with Ctrl+F or Find in various applications after they’ve written code for a search algorithm to help them understand the value of this concept in their daily lives. with FacebookShare Connect search to students’ experience with Ctrl+F or Find in various applications after they’ve written code for a search algorithm to help them understand the value of this concept in their daily lives. with Twitter
Ensure students develop a mental model for comparison of strings in a physical dictionary because few students use paper dictionaries anymore. Share Ensure students develop a mental model for comparison of strings in a physical dictionary because few students use paper dictionaries anymore. with FacebookShare Ensure students develop a mental model for comparison of strings in a physical dictionary because few students use paper dictionaries anymore. with Twitter
Emphasize the need to account for the empty case, which is often overlooked and causes errors. Share Emphasize the need to account for the empty case, which is often overlooked and causes errors. with FacebookShare Emphasize the need to account for the empty case, which is often overlooked and causes errors. with Twitter
Reiterate key concepts, such as the base case/recursive case pattern, every time you go through a recursion problem to solidify them in students’ memories. Share Reiterate key concepts, such as the base case/recursive case pattern, every time you go through a recursion problem to solidify them in students’ memories. with FacebookShare Reiterate key concepts, such as the base case/recursive case pattern, every time you go through a recursion problem to solidify them in students’ memories. with Twitter
Use the analogy of carrying weights to teach students about how the amount of memory being used affects runtime. Share Use the analogy of carrying weights to teach students about how the amount of memory being used affects runtime. with FacebookShare Use the analogy of carrying weights to teach students about how the amount of memory being used affects runtime. with Twitter
Use Problets.org to help students practice programming basics in C++, Java, C#, or Visual Basic Share Use Problets.org to help students practice programming basics in C++, Java, C#, or Visual Basic with FacebookShare Use Problets.org to help students practice programming basics in C++, Java, C#, or Visual Basic with Twitter
Create a word counter assignment to help students understand the importance of Big-O. Share Create a word counter assignment to help students understand the importance of Big-O. with FacebookShare Create a word counter assignment to help students understand the importance of Big-O. with Twitter
Have students try to find John Smith in n cities when teaching web development to help students understand the importance and hierarchy of file structure through narrowing down search locations. Share Have students try to find John Smith in n cities when teaching web development to help students understand the importance and hierarchy of file structure through narrowing down search locations. with FacebookShare Have students try to find John Smith in n cities when teaching web development to help students understand the importance and hierarchy of file structure through narrowing down search locations. with Twitter
Help students develop a more thorough understanding of CS topics by designing and building games. Share Help students develop a more thorough understanding of CS topics by designing and building games. with FacebookShare Help students develop a more thorough understanding of CS topics by designing and building games. with Twitter
Ask students to interpret a string of binary to introduce the idea of abstraction and motivate why it is so important. Share Ask students to interpret a string of binary to introduce the idea of abstraction and motivate why it is so important. with FacebookShare Ask students to interpret a string of binary to introduce the idea of abstraction and motivate why it is so important. with Twitter