Dee Smith » Coding 1 Fall 2023

Coding 1 Fall 2023

WEEKLY LESSON PLANS
WEEK 13
November 6th - November 10th
 
MONDAY-
 
Lesson 5: Conditionals Explore

Students learn the basics of conditionals through an unplugged activity using the sticky notes and plastic baggies from the Variables Explore lesson. The activity provides students a physical mental model they will be able to use when they start programming with conditionals in the subsequent lessons. Flowcharts are introduced as a way to understand how computers make decisions using Boolean expressions.

 

TUESDAY-
 
Lesson 6: Conditionals Investigate

In this lesson students work with partners to investigate three versions of the "Lemon Squeeze" app to understand how boolean expressions and conditional statements allow programs to make decisions. In each guided investigation students first watch a short video on a concept, then use a working app to predict how new features work, then investigate the code to see how those features are implemented, and finally modify the code to add expanded features. To conclude the lesson, students review and discuss common programming patterns with conditionals.

 

WEDNESDAY-
 
Lesson 7: Conditionals Practice

In this lesson students spend most of their time practicing using the skills and processes they have learned about conditionals. At the conclusion of the lesson students discuss the main things they realized and still have questions about at the conclusion of this lesson.

 
THURSDAY-
 

Using Programming Patterns and a step-by-step approach students make their own version of a Museum Ticket Generator app. At the beginning of the lesson students are able to explore a working version of the app. They are then given the design elements of the app but begin with a blank screen. A progression of levels guides students on the high level steps they should use to develop their app but leaves it to them to decide how to write the code. At the end students submit their apps which can be assessed using a provided rubric.

 
FRIDAY-
 

No School: Thank A Veteren

 
WEEK 12
October 30-November 3
 
MONDAY-

Unit 4 Introduction- What is a variable and how does it compare to the variables you have used in the past?

 

TUESDAY-
Lesson 1: Variables Explore

To begin the lesson students explore sample apps similar to the ones they'll be able to build by the end of the unit. Then students complete an unplugged activity with plastic baggies and sticky notes to build a mental model of how variables are used to move and store information. The lesson ends with a synthesizing discussion and students adding key vocabulary to their journal.

 

WEDNESDAY-
Lesson 2: Variables Investigate

In this lesson students work with partners to investigate several versions of the "Thermostat App" to understand how variables store and update information. To begin, students examine a version of the app where the temperature displayed changes each time a button is clicked. The next two versions of the app demonstrate how variables can store strings. Students learn about the patterns they are observing, specifically "Counter Pattern with Event" and "Variables with String Concatenation Pattern". To conclude the lesson, students review and discuss the programming patterns that they will make use of in the programs they write.

 
THURSDAY-
Lesson 3: Variables Practice

In this lesson students spend most of their time practicing using the skills and processes they have learned about variables. At the conclusion of the lesson students discuss the main things they realized and still have questions about at the conclusion of this lesson.

 
FRIDAY-
Lesson 4: Variables Make

Using Programming Patterns and a step-by-step approach students make their own version of a Photo Liker app. At the beginning of the lesson students are able to explore a working version of the app. They are then given the design elements of the app but begin with a blank screen. A progression of levels guides students on the high level steps they should use to develop their app but leaves it to them to decide how to write the code. At the end students submit their apps which can be assessed using a provided rubric.

 
WEEK 11
October 23-27
 
MONDAY-
 

App  Presentations- Pros and Cons and how might you improve the design?

 

TUESDAY-
Unit 3 Test Review

 

WEDNESDAY-
Unit 3 Test- When finished, log into AP classroom and work on Big Idea 1 videos.
 
THURSDAY-
AP classroom- finish Big Idea 1 videos
 
FRIDAY-
AP Classroom- take the 4 quizzes assigned on Big Idea 1
 
 
WEEK 1
AUGUST 7-11
 

 

MONDAY- Introduction to Coding 1.........Syllabus and class expectations. 
TUESDAY- Bitmoji locker get to know you activity.
WEDNESDAY-Sign up and get familiar with code.org and AP classroom.
THURSDAY-Lesson 1: Welcome to CSP

Welcome to Computer Science Principles! The first lesson is about getting students excited about the course and connecting their own personal interests to computer science. Students are asked to share something they know a lot about and teach it to a small group. Groups make a “rapid” prototype of an innovative idea and share it. Students watch a brief video about computing innovations. The lesson ends with students logging into the Code.org CSP course web site, and answering a brief prompt about what “computer science” means to them. This activity plants the initial seed for students to think about the ways in which they might be able to solve some problems relevant to their lives with technological innovations.

FRIDAY-Lesson 2: Representing Information

Using everyday materials, students create devices for sending information to a partner, which introduces the concept of sending bits of information from one place to another. Each group then uses its device to send an answer to a question. Following this, students modify their devices to answer more complex answers, responding with one of four possible messages, then one of eight possible messages, then one of sixteen possible messages. This lays the foundation for understanding how complex information is represented in computers using a combination of bits.

 
WEEK 2
AUGUST 14-18
 
MONDAY-Lesson 3: Circle Square Patterns

Students will create rules for ordering patterns of circles and squares. Students generate all possible messages with three place values, then create rules that explain how they ordered each message. Emphasis is placed on creating clear rules so that, if another group were to follow the rules, they would generate the same list in the same order. Using these rules, students then try to list all possible messages with four place values. As the lesson concludes, students share their rules with classmates. This lesson acts as a bridge to the next lesson where binary is formally introduced and practiced.

TUESDAY-Lesson 4: Binary Numbers

In this lesson, students will practice representing numbers in binary (base 2), transitioning from the circle-square representations they made in the last lesson. Students will create and use a "Flippy Do", a manipulative which helps students convert between binary (base 2) and decimal (base 10) numbers. They will practice converting numbers and explore the concept of place value in the context of binary numbers.

WEDNESDAY-Lesson 5: Overflow and Rounding

Students extend their understanding of the binary number system by exploring errors that result from overflow and rounding. They use the binary odometer widget and develop their own systems for representing fractional amounts using the Flippy Do. Students discover the limitations of creating numbers that are “too big” or “too small” to count. They learn that, while a number system is infinite, the physical representation of numbers requires place values -- which are finite, and limit the ability to represent numbers.

THURSDAY-Lesson 6: Representing Text

In this lesson, students create a system for representing text using only numbers while communicating with each other. They are only allowed to send numbers back-and-forth, so they must create a system to translate between number and character. Most importantly they should understand the challenges or principles that led to the creation of these systems and that these systems are somewhat arbitrarily created to solve a shared problem. They work not because there was "one right answer" but because many people agreed to use them. At the end of the main activity they briefly review the ASCII system for representing text. The wrap up discussion emphasizes how all of the concepts thus far have ‘built’ on each other and introduces the concept of abstraction to describe this progression.

FRIDAY-Lesson 6: Representing Text

In this lesson, students create a system for representing text using only numbers while communicating with each other. They are only allowed to send numbers back-and-forth, so they must create a system to translate between number and character. Most importantly they should understand the challenges or principles that led to the creation of these systems and that these systems are somewhat arbitrarily created to solve a shared problem. They work not because there was "one right answer" but because many people agreed to use them. At the end of the main activity they briefly review the ASCII system for representing text. The wrap up discussion emphasizes how all of the concepts thus far have ‘built’ on each other and introduces the concept of abstraction to describe this progression.

 
 
WEEK 3
AUGUST 21-25
 
MONDAY-Lesson 7: Black and White Images

Students explore how black and white images are represented. Students use the black and white pixelation widget to represent each pixel of an image with black or white light. They learn how to sample an analog image using small squares of uniform size (each represented with a black or white value) and reflect on the pros and cons of choosing a smaller or larger square size when sampling.

TUESDAY-Lesson 7: Black and White Images

Students explore how black and white images are represented. Students use the black and white pixelation widget to represent each pixel of an image with black or white light. They learn how to sample an analog image using small squares of uniform size (each represented with a black or white value) and reflect on the pros and cons of choosing a smaller or larger square size when sampling.

WEDNESDAY-Lesson 8: Color Images

This is a second opportunity for students to interact with the Pixelation Widget, but this time they will work with color pixels. Students start off learning that each pixel uses red, green, and blue lights that can be turned on or off using bits. They will create more color variants using an increasing amount of bits per pixel, and apply their learning by approximating an analog color image using the widget. These images are produced using layers of abstraction, with each layer relying on the other to perform its process.

THURSDAY-Lesson 9: Lossless Compression

Students use the Text Compression Widget to experiment with compressing songs and poems and try to find their ‘personal best’ compression. A video introduces important vocabulary for the lesson and demonstrates the full features of the widget. Students pick a text they think will be ‘easy’ to compress and one they think will be ‘difficult’, paying attention to why some texts might be more compressible than others. As a wrap-up, students discuss what factors make some texts more compressible than others. The widget is just one example of lossless compression and students aren’t expected to master specific compression strategies - instead, they should understand that lossless compression uses less data and still lets them re-create the original information.

FRIDAY-Lesson 10: Lossy Compression

Students are introduced to lossy compression via the Lossy Text Compression widget. They apply this concept and their prior knowledge of sampling to create their own lossy compressions of image files using the Lossy Image Widget. A theme throughout the lesson is that lossy compression can greatly reduce the file size, but it can also greatly reduce the quality and it’s important to find that balance between quality and file size. The real challenge here is finding where that line is - how much can we compress but still keep it recognizable? Students then discuss several practical scenarios where they need to decide whether to use a lossy or lossless compression algorithm. The lesson ends with a discussion of the situations where lossless compression is important and the situations where lossy compression is important.

 
WEEK 4
AUGUST 28- SEPTEMBER 1
 
MONDAY-Students are introduced to lossy compression via the Lossy Text Compression widget. They apply this concept and their prior knowledge of sampling to create their own lossy compressions of image files using the Lossy Image Widget. A theme throughout the lesson is that lossy compression can greatly reduce the file size, but it can also greatly reduce the quality and it’s important to find that balance between quality and file size. The real challenge here is finding where that line is - how much can we compress but still keep it recognizable? Students then discuss several practical scenarios where they need to decide whether to use a lossy or lossless compression algorithm. The lesson ends with a discussion of the situations where lossless compression is important and the situations where lossy compression is important.
TUESDAY- Lesson 11: Intellectual Property

Students are asked to reflect on who owns their creative works from this class, such as their pixel images, before reading an article describing how ownership can become complicated as analog works become digital artifacts. After reading the article, students watch several videos explaining copyright and introducing them to the Creative Commons. Students then re-read the article answering three questions about the benefits, harms, and impacts of current copyright policy. Students use their new understanding of copyright to form an opinion about current copyright policies and create a small poster justifying their opinion with a quote from the article. This lesson is also a scaffold to the larger project that begins after this lesson which includes several tasks that are also a part of this lesson such as, annotating an article, answering questions, and forming an opinion using the article as evidence.

WEDNESDAY-Lesson 12: Project Digital Information Dilemmas

In Day 1 of this lesson, students begin tackling the question of whether digitizing information has made the world a better or worse place. To begin the lesson, students place stickies on a spectrum of "worse" to "better" to state their opinion prior to doing the activity. Students then choose an article they are interested in reading using a process the class completed collectively in the previous lesson. Students will discuss their preliminary reading and opinions after today's lesson and will have a chance to start making an artifact to present their findings.

In Day 2 of this lesson, students finish designing an artifact that represents their analysis of an article on the impacts of digitizing information. Students will complete the final two quadrants of their poster in which they identify the benefits and harms highlighted in the article and then make an overall claim about whether the world has been made better or worse through the digitization of information. At the conclusion of the class students update the position of their stickies on the "better" to "worse" spectrum they designed yesterday and then discuss whether and why they changed their opinion.

THURSDAY--Lesson 12: Project Digital Information Dilemmas Continued
FRIDAY- Unit 1 EXAM
 
 
WEEK 5
Sept.4-8
 
MONDAY- Labor Day.....NO School!
TUESDAY- UNIT 2
Lesson 1: Welcome to the Internet

After a short transition from representing information in Unit 1 to communicating information in Unit 2, students take time to think about their knowledge of the Internet and how it works. Following this, students are introduced to a new widget: The Internet Simulator which they will use throughout this unit to explore the inner workings of the Internet. Students should leave this lesson primed to know more about the Internet.

WEDNESDAY-
 Lesson 2: Building a Network

In this lesson, students are formed into groups of 5-7 and given string so they can connect themselves together to form a computer network. Students are given several specific networks to form, along with several guidelines for how to best form computer networks. Students are also forced to wrestle with conflicting guidelines in determining the ‘best’ way to connect together to form a network, and will need to justify why they chose the networks that they did.

THURSDAY-
Lesson 3: The Need for Addressing

Students complete a scheduling challenge three times, once unplugged, and twice on the Internet Simulator, to explore the need for addressing messages online. Students first complete a challenge where they are allowed to talk to one another to fill out a weekly schedule. They then move on to a version of the Internet Simulator where all of their messages are "broadcast" or sent to everyone in the same simulator room. This challenge forces students to develop shared rules for communicating to complete the scheduling activity a second and then third time. The wrap up helps students connect their experiences to real-life rules, or protocols, used on the Internet for addressing messages.

FRIDAY-
Lesson 4: Routers and Redundancy

Students spend most of today’s lesson in an updated Internet Simulator that lets students send messages with a dedicated To and From IP Address. Students start by connecting to a dedicated router and sending messages only to each other. They look at the router logs to find other students on different routers, then send messages to those students. They look at the router logs again to notice that messages are being passed between routers in order to reach their destination. Students continue to send messages and view the logs one last time to notice that the messages are also taking different paths to reach the same destination. The lesson wraps-up by introducing new vocabulary and using these words to summarize today’s activity.

 
WEEK 6---HOMECOMING WEEK
Sept. 11-15
 
MONDAY- Class Tournaments and finish Lesson 4
TUESDAY-
Lesson 5: Packets

Students learn that large messages sent over the Internet are actually divided into individual packets and explore the challenges this creates. First students explore a version of the Internet Simulator that breaks messages into packets to get a sense for how it works. Students then use an activity guide that walks them through the challenges that dropped or out-of-order packets create. They then design their own protocol that addresses these challenges. At the end of the lesson students watch a video and learn and the User Datagram Protocol (UDP) and The Transmission Control Protocol (TCP), two different protocols for sending messages broken into packets.

WEDNESDAY- Faculty Volleyball game
THURSDAY- Powder Puff
FRIDAY- Pep Rally
 
WEEK 7
Sept. 18-22
 
MONDAY- Student review of the internet. Lesson 1-5 and work on the vocab PowerPoint.
TUESDAY-
Lesson 6: HTTP and DNS

Students conclude their study of the layers of the Internet by learning about two top-level protocols, HTTP and DNS. The lesson begins with a review of the layers students have already learned, namely the physical Internet, IP, and TCP / UDP. The lesson then dives into the core of the unit which is "What happens when I type an address into my browser?" Students will complete two brief activities, one unplugged, and one plugged, that explore how the DNS works. Students then watch videos explaining how both DNS and HTTP work, taking notes in a provided activity guide. The lesson concludes with a review of how the different layers of the Internet work.

WEDNESDAY-
Lesson 7: Project - Internet Dilemmas

Students work on a two-day project exploring a dilemma at the intersection of the Internet and society. In this project, students explore a relevant Internet dilemma: Net Neutrality, Internet Censorship, or the Digital Divide. Students apply their knowledge of how the Internet works to address the core question related to their chosen dilemma. This project addresses the "so what" question - why is it important to learn about how the Internet works?

THURSDAY-
Lesson 7: Project - Internet Dilemmas

Students work on a two-day project exploring a dilemma at the intersection of the Internet and society. In this project, students explore a relevant Internet dilemma: Net Neutrality, Internet Censorship, or the Digital Divide. Students apply their knowledge of how the Internet works to address the core question related to their chosen dilemma. This project addresses the "so what" question - why is it important to learn about how the Internet works?

FRIDAY- Unit 2 Review and Vocab Bingo 
 
WEEK 8
Sept. 25-29
 
MONDAY- Unit 2 Review for test on Tuesday
TUESDAY- Unit 2 Test
WEDNESDAY-
Lesson 1: Introduction to Apps

Students explore and investigate what makes an app an app. They begin by looking at and discussing five different apps. Following this, students watch a video explaining the basics of how computers work. Finally students return to the apps and consider the various inputs and outputs.

THURSDAY- More App Exploration
Lesson 1: Introduction to Apps

Students explore and investigate what makes an app an app. They begin by looking at and discussing five different apps. Following this, students watch a video explaining the basics of how computers work. Finally students return to the apps and consider the various inputs and outputs.

FRIDAY-
Lesson 2: Introduction to Design Mode

Students work through a progression of levels to build an understanding of how to use Design Mode to layout an app. The final level has students setting up the screen of an app by attempting to copy an image of an app.

 
WEEK 9
October 2-6
 
MONDAY-
Lesson 2: Introduction to Design Mode

Students work through a progression of levels to build an understanding of how to use Design Mode to layout an app. The final level has students setting up the screen of an app by attempting to copy an image of an app.

TUESDAY-
Lesson 3: Project - Designing an App Part 1

This is the first in a series of lessons where students will make progress on building their own functional app.

  • On Day 1, students brainstorm app ideas and sketch out user interfaces in preparation for the next lesson where they will return to App Lab.
  • On Day 2, students continue working on the unit projects in what is primarily designed to be work time. Students continue to follow the app development process outlined in their App Development Guide by transferring their user interfaces designs from their planning guides over to App Lab
WEDNESDAY-
Lesson 3: Project - Designing an App Part 1

This is the first in a series of lessons where students will make progress on building their own functional app.

  • On Day 1, students brainstorm app ideas and sketch out user interfaces in preparation for the next lesson where they will return to App Lab.
  • On Day 2, students continue working on the unit projects in what is primarily designed to be work time. Students continue to follow the app development process outlined in their App Development Guide by transferring their user interfaces designs from their planning guides over to App Lab
THURSDAY-
Lesson 3: Project - Designing an App Part 1

This is the first in a series of lessons where students will make progress on building their own functional app.

  • On Day 1, students brainstorm app ideas and sketch out user interfaces in preparation for the next lesson where they will return to App Lab.
  • On Day 2, students continue working on the unit projects in what is primarily designed to be work time. Students continue to follow the app development process outlined in their App Development Guide by transferring their user interfaces designs from their planning guides over to App Lab
FRIDAY-
Lesson 4: The Need for Programming Languages

In this lesson students explore the challenges of clearly communicating instructions. They build a small arrangement of blocks (LEGO® pieces or paper cutouts) and then create text instructions a classmate could follow to construct the same arrangement. Groups then trade instructions to see if they were clear enough to allow reconstruction of the original arrangement. The wrap-up discussion is used to highlight the inherent ambiguities of human language and call out the need for the creation of a programming language which leaves no room for interpretation.

 

FALL BREAK

HAVE AN AMAZING WEEK!!!!

 
WEEK 10
October 16-20
 
MONDAY-
Lesson 5: Intro to Programming

Students use and modify a series of simple apps to get familiar with a small set of programming commands. They observe the way the code runs by slowing down the code and compare programs that run all at once to those that respond to user actions like buttons clicks. At the end of the lesson students discuss what they observed and are introduced to some key vocabulary for describing the running of programs.

TUESDAY-
Lesson 6: Debugging

In this lesson students practice using the different programming concepts that they were introduced to in the last lesson. To begin, however, they are introduced to the concept of debugging and are encouraged to use and reflect on this practice throughout the lesson. At the end of the lesson students share their experiences debugging as well as an new realizations about programming.

WEDNESDAY-
Lesson 7: Project - Designing an App Part 2

This lesson covers the last three days of the unit project. Students add code to make their apps function.

  • On Day 3, students learn about Pair Programming by watching a video and then practicing it themselves while working on their project apps. At this stage, students are adding their first lines of code to their app using debugging skills from the previous lesson.
  • On Day 4, students continue working on their apps. Halfway through class the focus of the lesson shifts to getting feedback. Students watch other groups test their apps and collect feedback that will be used to make updates.
  • On Day 5, students complete their apps, making any final adjustments based on feedback from their peers. Students spend some time reviewing other apps that classmates made and then complete a short set of reflection prompts before submitting their projects.
THURSDAY-
Lesson 7: Project - Designing an App Part 2

This lesson covers the last three days of the unit project. Students add code to make their apps function.

  • On Day 3, students learn about Pair Programming by watching a video and then practicing it themselves while working on their project apps. At this stage, students are adding their first lines of code to their app using debugging skills from the previous lesson.
  • On Day 4, students continue working on their apps. Halfway through class the focus of the lesson shifts to getting feedback. Students watch other groups test their apps and collect feedback that will be used to make updates.
  • On Day 5, students complete their apps, making any final adjustments based on feedback from their peers. Students spend some time reviewing other apps that classmates made and then complete a short set of reflection prompts before submitting their projects.
FRIDAY-
Lesson 7: Project - Designing an App Part 2

This lesson covers the last three days of the unit project. Students add code to make their apps function.

  • On Day 3, students learn about Pair Programming by watching a video and then practicing it themselves while working on their project apps. At this stage, students are adding their first lines of code to their app using debugging skills from the previous lesson.
  • On Day 4, students continue working on their apps. Halfway through class the focus of the lesson shifts to getting feedback. Students watch other groups test their apps and collect feedback that will be used to make updates.
  • On Day 5, students complete their apps, making any final adjustments based on feedback from their peers. Students spend some time reviewing other apps that classmates made and then complete a short set of reflection prompts before submitting their projects.