Produced with Scholar
Icon for E-learning App Creation

E-learning App Creation

Learning Module

Abstract

This learning module explores app creation using e-learning and Code.org. The lessons are from Unit 4 of a AP Computer Science Principles class for upper-grade level high school students. The curriculum has been modified to fit the module format. In the module, students work through steps to create an app and provide peer feedback.

Keywords

Code.org, apps, functions, design, ubiquitous

Traditionally, learning consisted of teachers providing information to students who listened and were tested on the amount of information they could absorb and regurgitate in the classroom. This is known as didactic learning. While there is still a place for didactic learning in many school subjects or lessons, learning in the classroom has changed dramatically. It continues to change as technology is integrated into more classrooms. Today, students can learn in ways that could not have been imagined one hundred, fifty, or even twenty years ago. Educators now focus lesson delivery on the students' different learning styles and give students choice and flexibility in learning and demonstrating knowledge. Learning also involves engaging the learner in activities, discussions, and peer feedback through technology that transcends the constraints of the traditional classroom. Due to the COVID pandemic, students were forced to learn online versus in the classroom. Educators attempted to adjust lessons to accommodate the new e-learning environment while still allowing for authentic and transformative learning experiences.

Technology-mediated learning is discussed in update seven of the EPOL 481, New Learning course (Cope & Kalantzis, 2020). In chapter 1 of their e-Learning Ecologies book, Dr. Bill Cope and Dr. Mary Kalantzis (Cope & Kalantzis, 2017) also explain that the "anywhere, anytime" idea of learning, or "Ubiquitous Learning" is only possible through the use of technology.

The learning module I have created demonstrates and practices ubiquitous learning by providing information to students that can be completed anywhere, anytime. The learners will read content in the updates and watch videos to gain knowledge and participate in discussions, projects, and peer feedback, asynchronously.

The lessons allow all students to access the material, engage with the material, and demonstrate learning flexibly. This learning module focuses on Universal Design for Learning principles to give students a choice in how they engage with the material and demonstrate their learning. Several options are offered, such as watching a video or reading a slideshow for the same information. In addition, students conduct research to further their learning and choose which topics to use when designing and creating projects.

As a computer science teacher, I live and breathe programming. I teach STEM, beginning, intermediate, and advanced programming classes and sponsor a programming/STEM club. I currently teach this lesson in my high school Advanced Placement "AP" Computer Science Principles class but have modified it to fit into the module format in a flipped classroom setting.

This module is part of Unit 4 - Variables, Conditionals, and Functions. The first lesson starts with an introduction to Functions Explore / Investigate with videos and a slideshow. It then works into practicing and making functions and a three-step project to create and test an app the students develop. A few worksheets and peer feedback are included. Throughout the project steps, students are taught elements of functions to apply to app design. I have broken up the material in the modules and allowed for deeper thinking and interaction amongst students through comments and updates. The app project is precisely what I use in my classes and fits nicely into this learning module.  A peer-review is provided in Update 6.

*NOTE: If the Code.org links ask for a login for access, this is because I have included links to the actual class I teach. I have attached a copy of some items for reference. You can also access the course if you create a login and use the code: ZZQHJY.

Intended Learning Outcomes

For the Student

The next part of Unit 4 of AP Computer Science Principles involves Functions. Building on the lessons on variables and conditionals, the functions lessons allow for the design of increasingly complex apps.

Module Objectives and Intended Learning Outcomes:

The overall objective of this learning module is:

Using information from the learning module, learn how to program through a sequence of collaborative activities. Then build your own decision maker app to share with friends and help them make a decision.

Each update will walk you through the process of obtaining the above-referenced objective. The steps you will take include:

  • Use appropriate vocabulary to describe the declaring and calling of functions
  • Trace the flow of execution in programs that declare and call functions
  • Describe the way a function call interrupts the normal flow of execution within a program
  • Modify programs that declare and call functions to adjust their functionality
  • Write programs that use functions with the support of sample code
  • Debug programs that use functions
  • Identify opportunities to use functions to reduce repeated code within a program
  • Recognize the need for a function to reduce repeated code while developing a functional app
  • Implement a function using programming patterns while developing a functional app
  • Write comments to clearly explain both the purpose and function of different segments of code within an app
  • Use debugging skills as part of developing an app

Module Time Frame:

​The module will consist of six updates plus an assessment posted once per week. The intended time frame will be six weeks for completion. However, you may work at a slower pace if needed.

Materials Required:

  • Computer with internet access
  • Access to materials in prior units and lessons (for review)
  • Code.org login
  • Google Classroom login

Participation Requirements:

Comments:

  • Review the videos and readings in the weekly “updates” and make a comment of 50 words or more on each of the discussion topics on the assignment posted in Google Classroom.
  • Please read others’ comments, and feel free to interact with them, either below their comment or speaking to them via the @ button.

Updates:

  • Describe an idea or example based on the admin update prompt using 200 words or more.
  • Refer to at least one reference in each update and include a proper citation.
  • Include at least one media element (e.g., images of figures or tables, embedded video with captioned source) and web links to relevant sources.
  • Post Updates in the assignment in Google Classroom.

Comment on peers’ updates:

  • Comment on at least three other participants’ updates each week (15 in total) in Google Classroom.
  • Write comments of 50 words or more to peer updates.
  • Join others in the discussion who may have already commented with @Name. Try to comment on different people’s updates each week.

For the Teacher

Standards

CSP Conceptual Framework

  • AAP-2 - The way statements are sequenced and combined in a program determines the computed result
  • AAP-3 - Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing programmers to write programs more quickly and with more confidence.

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

  • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
  • 2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.
  • 2-AP-19 - Document programs in order to make them easier to follow, test, and debug.
  • 3A-AP-16 - Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  • 3A-AP-17 - Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  • 3B-AP-14 - Construct solutions to problems using student-created components, such as procedures, modules and/or objects.
  • 3B-AP-23 - Evaluate key qualities of a program through a process such as a code review.

The class is conducted on Google Classroom and Code.org using a CollegeBoard-approved curriculum. I chose Code.org because it has an approved curriculum through CollegeBoard to allow students to earn college credit while taking the class in high school. All assignments are posted in Google Classroom and direct the students where to complete the work in Code.org. The learners for this module will consist of 11-12th grade high school students in an Advanced Placement Computer Science Principles Class. However, the module could be adapted to younger or post-secondary settings based on the specific college's scope of sequence. It is assumed the learners have prior knowledge in the following areas from previous units including:

  • Digital Information
  • The Internet
  • Intro to App Design
  • Variables
  • Conditionals

The overall objective is stated for students as well as the intended learning outcomes. Complete standards alignment is included in each module.

It is assumed that students will be able to apply the knowledge created from this module into future modules, and the programming builds on the basics presented here. This module's information is part of a class that is also a prerequisite for the AP Computer Science A class.

The level of attainment of the goals will vary based on prior experience and further implementation of the skills learned. Overall, the desirable level of achievement would be mastery of the objectives. To monitor this, the instructor has chosen the following assessments:

  • Self-reflection
  • Peer-feedback
  • Performance Assessment

The purpose of these assessment instruments is to test the learner's knowledge gained during the module and encourage learners to transfer skills and knowledge into practice effectively. In addition, the instruments will assess the learner's ability to solve programming-specific problems as they relate to app design and development, starting with peer feedback and ending with a summative problem-solving assessment.

This module will include formative and summative assessments. Formative assessments will be conducted in self-reflection, class discussion, and peer feedback of current lessons. Two summative assessments will be completed: One within one week of the workshop's close as a peer-reviewed project and the other in the last module. The peer-reviewed summative assessment will require learners to create an app of their choice using the knowledge and skills learned throughout the workshop.

 

Figure 1. DOK depth of knowledge snapshot (Source: Hammer, 2018)

The module works through The Revised Bloom's Taxonomy (RBT):

  • Remember (Level 1)
  • Understand (Level 2)
  • Apply (Level 3)
  • Analyze (Level 4)
  • Evaluate (Level 5)
  • Create (Level 6)

Update 1: Functions Explore / Investigate

For the Student

Go through the slides in lesson nine to complete the activities.  There are also many items to be completed in Code.org for this lesson.

Unit 4 - Lesson 9 Functions Explore/Investigate

Using the Song Lyrics link, complete the prompt in the slides.

This lesson does not feature a large hands-on explore segment, but you should still get a quick introduction to the concept of a function before jumping in the code to try it out.

This second song is written in a style that we will use to write some of our programs. We're going to start by looking at a program that "sings" this exact same song.

Level 1 - Explore Song Lyrics on Code Studio.

Watch the code run slowly to see how the code that is running will jump down to the bottom of the program (the function declaration) when the name of the function is used (the function call).

This concept that we just explored in both text and a program is called a "function." Now, we're going to watch a short video that explains it in more detail.

Level 2 - Video:

Watch the video.

Media embedded October 11, 2021

Video 1. CS principles: Defining and calling functions (Source: Code.org, 2015)

The most important two takeaways are:

  • Functions are declared in your program in order to give a group of commands a name
  • Functions are called to run those commands.
  • A function is only declared once but is called as many times as you wish.

Level 3 - Investigate Score Clicker

Run the code and explore it

  • The function is declared on line 23 but called three times, on lines 6, 12, and 19.
  • This way of writing the program makes the code in each button much more straightforward to read. It also removes repeated code.

Modify the program. All of the modifications should be made from within the function.

  • If you change the function, you can use those changes every place the function is called.
  • These changes make it easier to debug your program since you are not writing redundant code. You only need to rewrite and debug the code once.

Level 4 - Investigate Lemon Squeeze App with Functions

Create a function by identifying repeated code. You'll need to create a single function for this repeated code.

Assessment

Add a Comment: Provide a definition for a function and a function call.  Give specific examples of each. (Comment of 50 words or more)

Make an Update: In your own words, describe the benefits of creating functions in your code. (At least 200 words, one scholarly reference, and one media element are required. Comment on three peers' updates.)

For the Teacher

Overview

Students begin the lesson by considering two ways to write out the lyrics of a song, one that includes a lot of repeated text and one that does not. After exploring this example, students complete a series of investigating activities in which functions have been used to remove repeated code from a program. At the conclusion of the lesson, students discuss the concept of a function to synthesize their learning and add definitions to their journal.

Purpose

This lesson is both the Explore and Investigate components of the EIPM sequence for functions. Functions are best understood by actually using them in a program. So while the Explore component is relatively shorter, students actually are given many opportunities to observe how functions are used in programs. There is a heavy emphasis on running programs slowly to see how functions change the programs' order.

If you are a teacher with more experience with the concept of functions, you may be wondering where other related concepts like parameters, arguments, and return values, will be introduced. In this unit, these additional concepts are not learning objectives, and they will not be discussed in detail until later units. For now, it is acceptable for students to think of functions simply as a way to name a collection of commands so that they can be used in multiple places within your code.

Objectives

Students will be able to:

  • Use appropriate vocabulary to describe the declaring and calling of functions
  • Trace the flow of execution in programs that declare and call functions
  • Describe the way a function call interrupts the normal flow of execution within a program
  • Modify programs that declare and call functions to adjust their functionality

Material

For the teachers

  • Guide to EIPM Lessons - Video
  • Guide to Explore Lessons - Video
  • Guide to Investigate Lessons - Video
  • CSP Unit 4 - Variables, Conditionals, and Functions - Slides

For the students

  • Song Lyrics - Activity Guide

Standards Alignment

CSP Conceptual Framework

  • AAP-3 - Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing programmers to write programs more quickly and with more confidence.

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

  • 3A-AP-17 - Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  • 3B-AP-23 - Evaluate key qualities of a program through a process such as a code review.

Update 2: Functions Practice

For the Student

Complete the levels in lesson ten on your own in Code.org. I have supplied the debugging slides to review the debugging strategies for the lesson. Complete "bug reports" slides for your bugs. Visit the slides to help debug other students' bugs.

CSP U4L10 Debugging

Today we're going to have a chance to practice programming with a lot of the concepts and patterns we've explored over the last two lessons.  Alright, let's get to it!

Go to Code Studio, Lesson 10 Level 2

Today you're mostly going to practice what we've learned about programming with functions. I'm here to help you when you need me, and you can put this cup on your computer when you need help. However, I first want to remind you of the following:

  • Use your debugging skills. Try to zoom in on precisely where you're getting stuck.
  • Hover over blocks to read the documentation about how they work.
  • Read the resources in the Help & Tips tab

Levels 1 - 5 Declare and Call Functions:

In these levels, practice declaring and calling functions. At first, you practice calling functions that have already been declared for you. Next, you can focus your energy on the syntax of calling a function and how using functions changes the order in which lines of code run. Later in the progression, you'll practice finding repeated code and are guided through creating a function in its place.

Watch the video.

Media embedded October 11, 2021

Video 2. AP CSP - scope practice app lab (Source: Laura Paczewitz, 2020)

Levels 6 - 7 Function Scope:

These two levels return to a topic covered in the variables lessons: variable scope. While you do not need a deep understanding of scope at this point, you will, in some instances, encounter debugging challenges that arise because of it.

Level 8 - 9 Creating Functions:

In these levels, you'll revisit the Movie Ticket app and are challenged to think through the process of declaring a function with code that you anticipate could be repeated. Level 9 is a map level about when y should decide to create functions.

In our next lesson, you're going to have to use a lot of these on an independent project, and these activities are good practice for what you'll find there!

 

Assessment

Add a Comment: What aspects of working with functions clicked today? What do you still feel like you have trouble with? (Comment of 50 words or more)

Make an Update: Look at the example. Think about what will be displayed after this code segment is run.  Create your own example and describe what will run from the code segment. (At least 200 words, one scholarly reference, and one media element are required. Comment on three peers' updates.)

 

For the Teacher

Overview

Students spend most of their time practicing using the skills and processes they have learned about functions in this lesson. At the conclusion of the lesson, students discuss remaining questions in anticipation of their Make project in the following lesson.

Purpose

This lesson is students' primary opportunity to get hands-on with functions in code prior to the Make activity in the following lesson. Give students as much class time as you can to work through these. For this lesson, it's recommended that you place students in pairs as a support, if possible, and encourage discussion about the challenges or concepts they're seeing. In the following lesson, students are encouraged to work independently.

Objectives

Students will be able to:

  • Write programs that use functions with the support of sample code
  • Debug programs that use functions
  • Identify opportunities to use functions to reduce repeated code within a program

Material

For the teachers

  • Guide to Practice Lessons - Video
  • CSP Unit 4 - Variables, Conditionals, and Functions - Slides

For the students

  • Debugging Variable Scope: Functions - Video

Standards Alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

  • 3A-AP-17 - Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  • 3B-AP-14 - Construct solutions to problems using student-created components, such as procedures, modules and/or objects.

Update 3: Functions Make

For the Student

Follow the slides for Lesson 11 and complete the Activity Guide as you work through the lessons in Code.org.

Unit 4 - Lesson 11 Functions Make

Complete the Debugging Journal if needed to get help from your classmates.

We've learned a lot about using functions to simplify code and make it easy to edit for the past few weeks. So far, we have learned how to use functions to remove repeated code in our programs. Early on, it's common to realize you need a function only after you've completely written the same chunk of code in two places. As you get better, however, you'll realize sooner and sooner in the process that you're likely going to need a function and will be able to avoid writing repeated code before putting it inside a function. Eventually, you'll want to anticipate what your functions will be even before you start programming. These are the "during" and "before" levels we read about yesterday.

In today's Make lesson and the following peer-reviewed project, you'll have a chance to practice this. See if sometimes you can work that "during" or "before" category.

Explore the working Quote Maker App in Level 1

Think about:

  • What does this app do?
  • What are the inputs?
  • What are the outputs?
  • How could a function be used in this app?

Now let's build this app. The screen has been set up for you - it's your job to add the code!

Go to level two, where you will complete the Quote Maker App. An  Activity Guide is provided if you would like guidance in creating the app. The most relevant programming pattern is displayed on a slide in the slideshow. Review this pattern quickly, if needed.

Assessment

Add a Comment: What was the easiest part of the app you created?  What was the most challenging?  What can you do in future apps to resolve this challenge? (Comment of 50 words or more)

Make an Update: Apps serve many different purposes.  Find and explore an app that you know uses functions in its programming.  Give specific examples of how functions are used. (At least 200 words, one scholarly reference, and one media element are required. Comment on three peers' updates.)

For the Teacher

Overview

Using Programming Patterns and a step-by-step approach, students make their own version of a Quote Maker 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. Next, students use an Activity Guide to go through the high-level steps they should use to develop their app but leaves it to them to decide how to write the code. In the end, students submit their apps which can be assessed using a provided rubric.

Purpose

This lesson is an opportunity for students to take on the "blank screen" and build the code that runs an app entirely from scratch. The guidance provided throughout the lesson helps students break down the immense task of "building an app" into more incremental steps that they can use on future projects, including this unit's final project and the Create PT.

Objectives

Students will be able to:

  • Recognize the need for a function to reduce repeated code while developing a functional app
  • Implement a function using programming patterns while developing a functional app
  • Write comments to clearly explain both the purpose and function of different segments of code within an app
  • Use debugging skills as part of developing an app

Material

For the teachers

  • Guide to Make Lessons - Video
  • CSP Unit 4 - Variables, Conditionals, and Functions - Slides

For the students

  • CSP Functions Make - Quote Maker App - Activity Guide

Standards Alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

  • 2-AP-19 - Document programs in order to make them easier to follow, test, and debug.
  • 3A-AP-17 - Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
  • 3B-AP-14 - Construct solutions to problems using student-created components, such as procedures, modules, and/or objects.

Update 4: Project Decision Maker App Part 1

For the Student

Have you ever been stuck trying to make a decision? What movie should we watch? Where should we go for lunch? How many chocolate bars can I buy? In the following three modules, you will build an app to help people make a decision.

Level 1-2 - Explore: Explore the two sample apps in levels 1 and 2. These apps should spark ideas in what you can create for this project.

Sample App #1: Where Should I Eat?

  • Recommends a restaurant to the user.
  • Inputs: text box for user name, drop-down menu for restaurant type, up and down buttons to control the amount of dollars the user wants to spend.
  • Outputs: Text box at the bottom of the screen which displays the recommendation and sound that plays when the user interacts with the app.
  • Variables: username, type of restaurant, dollar amount, output text
  • Conditional Logic: If the dollar amount is within certain amounts, recommend different restaurants
  • Function: Update the screen every time the user changes an input.

Sample App #2: Activity Finder

  • Recommends an activity to the user.
  • Inputs: text box for user name, drop-down menu for time of day, drop-down menu for activity level.
  • Outputs: Text box at the bottom of the screen which displays the recommendation and sound that plays when the user interacts with the app.
  • Variables: username, time of day, activity level, output text
  • Conditional Logic: If the user selects certain times of day and activity levels, make targeted recommendations.
  • Function: Update the screen every time the user changes an input.

For each app, think about the following:

  • What does this app do?
  • What are the inputs?
  • What are the outputs?
  • What variables do you think would be necessary for this app to work?
  • What kinds of conditional logic do you think are necessary to make it work?
  • How could a function be used in this app?

For this project, you will create an app that helps a user make a decision. Your app must take in at least one number and one string from the user that will help to make the decision. All of this information will be used as part of the decision-making process. In addition, your code must include at least one function used to update the screen.  Use the planning guide to complete the following steps,  This project will be reviewed by your peers, and you will receive feedback for revision.

Steps in the Process:

Step 1: Brainstorm App Ideas

  • Come up with three distinct ideas

Step 2: Choose one Idea

Step 3: Survey Your Classmates

  • If possible, coordinate a time to work together on Step 3 with a partner. If that is not possible, ask family members or others in your household for the survey section.

Step 4: Storing Information

  • Variables needed for storing information are listed in this section.

Step 5: Flowchart

  • Create a flowchart following the "Can I adopt a cat?" sample flowchart from the Conditionals Explore lesson.

Step 6: Design User Interface

  • There is space for you to design up to three screens. However, there are no screen requirements for the app, so you may use only one screen.

Assessment

Add a Comment: Choose one of the sample apps and discuss the following:

  • What does this app do?
  • What are the inputs?
  • What are the outputs?
  • What variables do you think would be necessary for this app to work?
  • What kinds of conditional logic do you think are necessary to make it work?
  • How could a function be used in this app?

(Comment of 50 words or more)

Make an Update: App designers use the process steps above when creating apps.  Find a decision-making app and explain the process the designer would have used, the data collected, and the decisions made when creating that app.  Give your opinion of the process and steps such as suggestions for changes or current app challenges.  (At least 200 words, one scholarly reference, and one media element are required. Comment on three peers' updates.)

For the Teacher

Overview

Using a Project Planning Guide, students work through the stages of creating an app from scratch. This is the first day of a three-day project. This lesson is devoted to the planning phase.

Purpose

The Practice PT gives students the opportunity to design and program an app from scratch. Welcome to The Decision Maker App! Students demonstrate mastery of variables, conditionals, and functions by combining these elements into a useful program designed to solve the problem of making a decision.

Objectives

Students will be able to:

  • See rubric for guidance in measuring student learning

Material

For the teachers

  • CSP Unit 4 - Variables, Conditionals, and Functions - Slides

For the students

Standards Alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

  • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
  • 2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.
  • 3A-AP-16 - Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  • 3B-AP-14 - Construct solutions to problems using student-created components, such as procedures, modules and/or objects.

Update 5: Project Decision Maker App Part 2

For the Student

In this update, we are continuing work on the Decision Maker App. Each level in Code Studio contains a step to think through while constructing your app.  You will now transition to Code Studio, where you will build your app.

Follow the Part 2 slides for guidance. 

Be sure to read the instructions at the top and refer to your Planning Guide when instructed.

The debugging slides also have the steps to follow as well as debugging tips.
You can use the debugging slides to share any bugs you may have with your classmates and receive feedback.

Level 1: Design Mode

  • Create the screens you designed in Step 6 in the Planning Guide.
  • Use templates where appropriate to speed the process along.

Level 2: Create the Variables

  • Using the list of variables from Step 4 in the Planning Guide, create your variables.

Level 3: Create the Function

  • This is most likely the trickiest step.
  • Create an updateScreen() function with a conditional statement
  • Reference the flowchart in Step 5 of the Planning Guide to help craft the Boolean expression(s) for the conditional statement.
  • A comment is added to explain what it does (purpose) and how it does that (functionality)

Level 4: Add onEvents

  • For each item that can be interacted with on the screen, add an onEvent block to update the appropriate variable and add a call to the updateScreen() function.

Assessment

Add a Comment: Why is it important to get feedback from others while building your app? What is the value of getting this feedback even if you aren't finished with your app?  (Comment of 50 words or more)

Make an Update: Think of times when you've received helpful feedback on schoolwork, a hobby, or a sport. What makes good feedback? What makes bad feedback? In what ways can you provide feedback... apps? Programs or platforms? Give an example and discuss. (At least 200 words, one scholarly reference, and one media element are required. Comment on three peers' updates.)

For the Teacher

Overview

Students translate the plans they documented in Part 1 of the Practice PT to a working program in App Lab through a series of steps.

Purpose

The Practice PT gives students the opportunity to design and program an app from scratch. Welcome to The Decision Maker App! Students demonstrate mastery of variables, conditionals, and functions by combining these elements into a useful program designed to solve the problem of making a decision.

Objectives

Students will be able to:

  • See rubric for guidance in measuring student learning

Material

For the teachers

  • CSP Unit 4 - Variables, Conditionals, and Functions - Slides

For the students

Standards Alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

  • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
  • 2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.
  • 3A-AP-16 - Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  • 3B-AP-14 - Construct solutions to problems using student-created components, such as procedures, modules and/or objects.

Update 6: Project Decision Maker App Part 3

For the Student

In the past few updates, we've been working on an app to help users make a decision. Now you will share that app with others, get feedback, make improvements, and submit for your final project.

Use the testing slides to share your app with classmates for testing. Once your app has been tested, you may complete the app using the instructions provided on the last slide of the testing slides or slide 7 of the full lesson presentation.

Peer-review

  • Test two other students' apps and provide feedback on the testing slides.
  • Use the rubric to provide your feedback as well as how the app works.

Project Guide:

Step 8: Testing

  • Each app is tested by at least two students.

Step 9: Pick Improvements

  • In the Planning Guide, pick at least one improvement that you can make based on feedback from your peers.

Step 10: Complete Your app

  • Use the feedback to update your app on Level 1.

Step 11: Record Video

  • Make a screen capture of the app being used.

Submit: Complete a final check of your completed projects on Level 2. The rubric is displayed in the instruction box.

 

 

For the Teacher

Overview

The final lesson in the Practice PT progression is devoted to feedback and improvements to the Decision Maker App. Students work with classmates to review and update the functionality of their apps before submitting the final project.

Purpose

The Practice PT gives students the opportunity to design and program an app from scratch. Welcome to The Decision Maker App! Students demonstrate mastery of variables, conditionals, and functions by combining these elements into a useful program designed to solve the problem of making a decision.

Objectives

Students will be able to:

  • See rubric for guidance in measuring student learning

Material

Standards Alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming

  • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
  • 2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.
  • 3A-AP-16 - Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
  • 3B-AP-14 - Construct solutions to problems using student-created components, such as procedures, modules and/or objects.

Update 7: Assessment Day

For the Student

We've come to the end of the unit, and we've learned a lot about developing apps. Lastly, we will take an assessment, and then you will have the opportunity to share your apps with the entire class.

Navigate to Code Studio to complete the Unit 4 Assessment. You will receive one point per correct answer, and the score will be recorded as a test score for the class.

Finally, it is time to show off our completed apps. Go to Flipgrid and share your video. Other students can "visit" and leave comments if they wish.

Please complete the end-of-course survey after all modules are complete.

For the Teacher

Students complete a multiple choice assessment which covers the unit topics.

The College Board has provided a bank of questions to help formatively assess student understanding of the content in the framework. These questions are mapped to topics with each topic having a handful of questions available.

The College Board has a few strict guidelines about how topic questions can be used. In particular, students may not receive a grade based on performance on topic questions nor can they be used for teacher evaluation. Beyond these requirements, however, they are primarily intended to formatively assess student progress and learning as they prepare for the end-of-course exam.

Within our own course we recommend that you use them in a variety of ways:

  • Throughout the unit assign topic questions to students related to the topics, students are learning about that day or that week
  • Prior to the unit assessment assign topic questions to help students practice and prepare for the summative assessment
  • After the unit assessment use these topic questions to help students track their progress towards preparation for the AP assessment
Figure 2. Unit 4 Teacher Tips (Source: Code.org, 2021)

 

References

Code.org. (2015, October 2). CS principles: Defining and calling functions [Video]. YouTube. https://www.youtube.com/watch?v=yPWQfa4CHbw&t=5s

Code.org. (2021). Unit 4 teacher tips [Illustration]. Code.Org. https://curriculum.code.org/media/uploads/topics4_exilLPP.png

Cope, B., & Kalantzis, M. (2017). e-Learning ecologies: Principles for new learning and assessment (1st ed.). Routledge.

Cope, B., & Kalantzis, M. (2021). Technology-Mediated learning: Between didactic and transformative pedagogy. Update 7. https://cgscholar.com/community/community_profiles/epol-481-fa21/community_updates/144068.

Grant, L. (2020). Unit 4 - Lesson 9 functions explore/investigate [Slides]. Google. https://docs.google.com/presentation/d/e/2PACX-1vQFsBY6PgcODKq3pr2nKKXfEoYzZwDmh7oq7pO5VlA7wK_kwMuzOcah3mBqW-qPRMwahKLq-FfbsB4J/pub?start=true&loop=false&delayms=5000

Hammer, B. (2018, August 1). DOK depth of knowledge snapshot [Illustration]. Edmentum. https://blog.edmentum.com/webb’s-depth-knowledge-framework-basics

Laura Paczewitz. (2020, November 9). AP CSP - scope practice app lab [Video]. YouTube. https://www.youtube.com/watch?v=qeeaxppLmRQ