## Student Facing Materials

The main objective of the PD4CS material is to help teachers gain a better understanding of common scenarios that students tend to find confusing in an introductory programming or CS Principles course. Hence, many posts are teacher-facing and focus on providing insight on how to respond to student concerns and misconceptions. A number of posts are, however students-facing or can easily be adapted to be student-facing. The student-facing index gives a listing of student facing PD4CS material and how teachers can most effectively use it.

[Click Tabs To Expand Tables]

UNIT 1: BASIC PROGRAMMING CONCEPTS AND CONSTRUCTS | |
---|---|

Conditionals | |

A Class Project: Monty Hall | The project is based on an intriguing game and surprising statistical puzzle.It gives students an opportunity to plan and implement a program using conditionals. |

Data Structures | |

Strings in Python | Use the string manipulation examples in class to show step-by-step how strings and their methods work. |

Lists and Tuples in Python | Use these coding examples in class to show students step-by-step execution of list and tuple structure and methods. |

Loops in Python | |

Better Deal | The problem gives students a chance to practice the use of loops while also demonstrating the power of exponential growth. Comparing a lump sum of money to the total amount received by doubling pennies over the course of a month is a valuable lesson. Offer the video as extra instruction and utilize two versions of the code. |

Sum up the Digits I | Compute the sum of the digits of an integer using a while loop. Use as an exercise to help your students think through the process of a while loop. |

Sum up the Digits II | Can you solve the problem using a for loop? The post explains how to do it. |

Are these loops doing the same thing | Ask your students to figure out if these loops produce the same output. It is a great exercise in understanding how loops work. |

Nested Loops in Python | |

Sum up the digits III | Another program solving this problem: this time with nested loops. |

Printing stars | A simple example helping students think through the flow of executing in a nested look. Suited for in-class. |

Finding prime numbers | Talk about prime numbers and have students write a program finding all prime numbers between 1 and n. |

Functions | |

What to avoid and what to do when writing functions | Ask students to use the guidelines for writing good functions to improve their code and coding skills. |

Comparing the performance of two functions | Ask students to compare two functions solving the same problem and to determine what each version does, how they are different, and explain why one version might be better. |

Functions – A Class Project | Use the project on Appliance Store Commissions to give students the opportunity to use specifications for functions that have applications. |

UNIT 2: MORE ADVANCED PROGRAMMING TOPICS | |
---|---|

Debugging | |

Common Mistakes not Producing an Error Message | These examples show common mistakes made in Python and how to fix them. Give students the opportunity to run the code and fix the errors. |

Algorithms – Solving Problems | |

An intriguing problem | This non-programming problem challenges students to use creative problem-solving skills to identify the lighter suitcase. |

Make a profit | This project asks students to develop and implement an algorithm to solve bank-related problems, such as how to organize account transactions to maximize a bank’s profit. |

Flipping pancakes | Let students figure out an algorithm to arrange pancakes in order of size with the minimum number of flips. It gives them a chance to come up with an algorithm to solve a fun problem. |

Recursion – Algorithms | |

Searching in a sorted list | Teach your students recursion using binary search. The code provided includes a recursive and a non-recursive version of the problem. |

Reversing a string | Implement the reversing string problem using recursion. The problem is simple to understand but challenging to implement with recursion. |

Pretty things | Show your students recursion visually using fractals. The post includes code and pictures of several types of fractals. |

Classes & Objects | |

Syntax | Use the fun Horse class to introduce classes and objects to students--includes key words, variables, and methods. |

Python Built-in Class Examples | After introducing the concepts of classes and objects, use these four examples of built-in classes to further explore the ideas. Bringing in the old ideas can make the new ideas more accessible to the students. |

Appliance Store returns | Revisit the Appliance Store project in the context of classes and objects. Students will define and use a new class according to specifications. |

UNIT 3: SELECTED OTHER TOPICS | |
---|---|

Internet | |

HTML | Introduce HTML to students with the provided video and code examples. The explanations show students the overall structure and results of HTML code. |

CSS | Introduce CSS to students with videos and examples of CSS code. Students can see the CSS code and the corresponding result to understand how CSS works. |

Javascript | Show the video and examples of Javascript code in class, allowing students to see how basic structure, interaction, and results of Javascript. |

Information Security | |

Public-key cryptography | Discover public-key cryptography with this non-programming activity. Students use creative problem-solving to come up with a solution based on public-key concepts. |

Discussion Topics | These discussions and linked articles provide a good way to introduce some controversial subjects related to privacy, social media, and the government. Ask students to read the articles, and have a class discussion about ethical uses of social media or the rights of the government vs. the rights of citizens. |

Rotation cipher | Implement an alphabetic rotation cipher using a class definition and loops, then write another program to break the cipher using a brute-force attack. |

The following video describes the Student Facing Materials. Video Length: 7:39