Use Sophia to knock out your gen-ed requirements quickly and affordably. Learn more
×

Introduction to Computer Programming - Computational Thinking, Functions and Abstraction

Author: Chris Boe

Project Overview

As a computer science teacher, I work with students who are users of technology but do not understand how technology works. Therefore, the purpose of this mini-unit is to continue the introduction of new computer science students to basic computer programming concepts in a fun and safe manner utilizing the flipped classroom model. The mini-unit will utilize the "Accelerated Intro to CS Course" tutorial at https://studio.code.org/s/20-hour integrated with four "unplugged" activities. At the end of the mini-unit, the students will design and create their own story or game.

Theoretical Approach

My goal for this project was to identify a fun and safe method
to introduce computer programming concepts to students who may or may not have a strong foundation in problem solving skills. In addition, I did not want to reinvent the wheel or establish the need to submit a procurement request as my school district has limited resources.


Unfortunately, there was not a single resource with a mini-unit
(3-5 lessons) which would satisfy my school’s classroom standards as well as provide a learning opportunity for young students. Code.org has established 5 courses: Course 1 for ages 4-6, Course 2 for ages 6-18, Course 3 for ages 8-18, Course 4 for ages 10-18 and the Accelerated Course for ages 10-18. Each course is designed to be completed in 20 hours. Code.org has also created 9 games (or story lines) which do not incorporate lessons but progressively allow a student to create their own game or story line utilizing prominent themes such as Star Wars or Angry Bird. After deliberately reviewing the courses and games, I decided that Course 1 and 2 were too simple for high school students. However, the other courses neglected some key concepts incorporated into Course 1 and 2. In addition, all of the courses are designed to last 20 hours and I wanted a 3-5 hour mini-unit. The games such as Star Wars or Minecraft are exceptionally engaging. However they do not integrate the learning of computer programming concepts so that a student may be evaluated in order to determine if the concepts have been grasped.


Therefore, I integrated and repurposed different aspects of
Code.org’s resource with the goal of creating a mini-unit which may be taught in one week and thoroughly hooking in the world of computer programming. 

Source: Code.org

Design Process

Project Implementation - Overview

Accelerated Intro to CS Course (20 stages)

(https://studio.code.org/s/20-hour)

  • Course designed with 20 stages which the mini-unit will integrate as follows:
  • Day 1
    • Stage 2: The Maze - 20 Puzzles, homework due before class
      • Stage 4: Unplugged classroom activity
        • Includes required components of Stage 1 and 3 such as vocabulary
    • Day 2
      • Stage 5: The Artist or Stage 7: The Artist 2, homework due before class
      • Stage 8: Unplugged classroom activity
        • Includes required components of Stage 6 such as vocabulary
    • Day 3
      • Stage 9: The Farmer - easiest homework available if necessary for differentiation
      • Stage 11: The Artist or Stage 13: The Farmer 2, homework due before class
      • Stage 12: Unplugged classroom activity
        • Includes required components of Stage 10 such as vocabulary
    • Day 4
      • Stage 15: The Artist 4, Stage 17: The Farmer 3 or Stage 19: The Artist 5, homework due before class
      • Stage 14: Unplugged classroom activity
        • Stages 16, 18 and 20 available as extensions
    • Day 5
      • Students will choose one of nine options available at Hour of Code ( https://code.org/learn ) for their final project creating a game or story. The last puzzle of each module allows the student to create their own game or story.
      Note: Almost all of these stages (or some version of them) are also available in Course 1, Course 2, Course 3 or Course 4. In fact, this mini-unit is utilizing the version of Graph Paper Programming from Course 2 rather than the Accelerated Intro to CS Course version. Also, the quiz for Day 1 is from Course 2. In addition, there are other lessons available which are not included in the Accelerated Intro to CS Course. Therefore, these additional materials provide opportunities to differentiate and/or extend the lesson(s) depending on the demographics of the class and the available time.

    Project Implementation - Part 1a

    Accelerated Intro to CS Course

    (https://studio.code.org/s/20-hour)

    • Lesson Part 1a)
      • Stage 2: The Maze - 20 Puzzles
      • Reinforces and reviews commands such as "Move", "If/Else" and "Loops" learned in the first week.
      • Stage 2 will be homework assignment due before the Stage 4 unplugged classroom activity.
      • CSTA K-12 Computer Science Standards (from online version of unplugged activity)
        • CPP.L1:3-04 - Construct a set of statements to be acted out to accomplish a simple task.
        • CPP.L1:6-05. Construct a program as a set of step-by-step instructions to be acted out.
        • CT.L1:3-03 - Understand how to arrange information into useful order without using a computer.
        • CT.L1:6-01 - Understand and use the basic steps in algorithmic problem-solving.
        • CT.L1:6-02 - Develop a simple understanding of an algorithm using computer-free exercises.
        • CT.L2-07 - Represent data in a variety of ways: text, sounds, pictures, numbers.

    Project Implementation - Part 1b

    Unplugged lesson plan for Graph Paper Programming (Stage 4) from Code Studio allows students to learn concretely and then apply abstractly to the online software coding lessons (https://studio.code.org/s/20-hour).

    Integrate with Accelerated Intro to CS Course Stage 2 which reinforces commands learned in the first week of Intro to Computer Science. Lesson will be differentiated depending on the demographics of the class. For example, ELL students will benefit from the vocabulary section but the section may be simplified with a word wall for more advanced students.
    Stage 1 (unplugged activity - Introduction to Computer Science) and Stage 3 (unplugged activity - Computational Thinking may or may not be used depending on differentiation requirements of the class demographics. However, the vocabulary of both activities will be included on a word wall.

    /

    Project Implementation - Part 1Q

    Stuudents will complete Graph Paper Programming quiz created by Code Studio at https://studio.code.org/s/course2/stage/1/puzzle/2


    Project Implementation - Part 2a

    Accelerated Intro to CS Course

    (https://studio.code.org/s/20-hour)

    • Lesson Part 2a) (Note: Students have a choice)
      • Stage 5: The Artist - 10 Puzzles
      • Move and other commands are more complicated and may be modified depending on requirements.
      • Stage 5 will be an optional homework assignment due before Part 2b.
    • OR
      • Stage 7: The Artist 2 - 11 Puzzles
      • Move and other commands are more complicated and may be modified depending on requirements.
      • Stage 7 will be an optional homework assignment due before Part 2b.
    • Students may complete both stages for extra credit.
    • CSTA K-12 Computer Science Standards (from online version of unplugged activity)
      • CPP.L1:6-05. Construct a program as a set of step-by-step instructions to be acted out.
      • CT.L2-01. Use the basic steps in algorithmic problem solving to design solutions.
      • CT.L2-06. Describe and analyze a sequence of instructions being followed.
      • CT.L2-07. Represent data in a variety of ways: text, sounds, pictures, numbers.
      • CT.L2-08. Use visual representations of problem states, structures, and data.
      • CT.L2-12. Use abstraction to decompose a problem into sub problems.
      • CT.L3A-03. Explain how sequence, selection, iteration, and recursion are building blocks of algorithms.

    Project Implementation - Part 2b

    Unplugged lesson plan for Functions (Stage 8) from Code Studio allows students to learn concretely and then apply abstractly to the online software coding lessons (https://studio.code.org/s/20-hour).
    Integrate with Accelerated Intro to CS Course Stage 5 or Stage 7 which introduce commands that are modified and more complicated. Lesson will be differentiated depending on the demographics of the class. For example, ELL students will benefit from the vocabulary section but the section may be simplified with a word wall for more advanced students.
    Stage 6 (unplugged activity - Algorithms) may or may not be used depending on differentiation requirements of the class demographics. However, the vocabulary of the activity will be included on a word wall.

    /

    Project Implementation - Part 2Q

    Stuudents will complete Functions quiz created by Code Studio at https://studio.code.org/s/course3/stage/4/puzzle/2

    Project Implementation - Part 3a

    Accelerated Intro to CS Course

    (https://studio.code.org/s/20-hour)

    • Lesson Part 3a) (Note: Students have a choice)
      • Stage 11: The Artist 3 - 11 Puzzles
      • Complex If/Else and Looping requirements.
      • Stage 11 will be an optional homework assignment due before Part 3b.
    • OR
      • Stage 13: The Farmer 2 - 10 Puzzles
      • Complex If/Else and Looping requirements.
      • Stage 13 will be an optional homework assignment due before Part 3b.
    • OR (optional easier lesson for differentiation)
      • Stage 9: The Farmer - 11 Puzzles
      • If/Else and Looping requirements.
      • Stage 9 will be an optional homework assignment due before Part 3b.
    • Students may complete both Stages 11 and 13 for extra credit
    • CSTA K-12 Computer Science Standards (from online version of unplugged activity)
      • CPP.L1:6.05. Construct a program as a set of step-by-step instructions to be acted out.
      • CT.L2-01. Use the basic steps in algorithmic problem solving to design solutions.
      • CT.L2-06. Describe and analyze a sequence of instructions being followed.
      • CT.L2-07. Represent data in a variety of ways: text, sounds, pictures, numbers.
      • CT.L2-08. Use visual representations of problem states, structures, and data.
      • CT.L2-12. Use abstraction to decompose a problem into sub-problems.
      • CT.L3A-3. Explain how sequence, selection, iteration, and recursion are building blocks of algorithms.
      • CT.L2-14. Examine connections between elements of mathematics and computer science including binary numbers, logic, sets, and functions.

    Project Implementation - Part 3b

    Unplugged lesson plan for Song Writing (Stage 12) from Code Studio allows students to learn concretely and then apply abstractly to the online software coding lessons (https://studio.code.org/s/20-hour).
    Integrate with Accelerated Intro to CS Course Stage 11 or Stage 13 which introduce commands that are modified and more complicated. Lesson will be differentiated depending on the demographics of the class. For example, ELL students will benefit from the vocabulary section but the section may be simplified with a word wall for more advanced students.
    Stage 10 (unplugged activity - Conditionals) was included in the first week. However, the vocabulary of the activity will be included on a word wall.

    /

    Project Implementation - Part 3Q

    Stuudents will complete Song Writing quiz created by Code Studio at https://studio.code.org/s/course3/stage/9/puzzle/2

    Project Implementation - Part 4a

    Accelerated Intro to CS Course

    (https://studio.code.org/s/20-hour)

    • Lesson Part 4a) (Note: Students have a choice, must complete one of the three following stages)
      • Stage 15: The Artist 4 - 10 Puzzles
      • Complex Functions with Nested Looping and other requirements .
      • Stage 15 will be an optional homework assignment due before Part 5.
    • OR
      • Stage 17: The Farmer 3 - 9 Puzzles
      • Complex Functions with Nested Looping and other requirements .
      • Stage 17 will be an optional homework assignment due before Part 5.
    • OR
      • Stage 19: The Artist 5 - 6 Puzzles
      • Complex Functions with Nested Looping and other requirements .
      • Stage 19 will be an optional homework assignment due before Part 5.
    • Students may complete 2 or 3 stages for extra credit.
    • CSTA K-12 Computer Science Standards (from online version of unplugged activity)
      • Abstraction has not been mapped to Computer Science Standards

    Project Implementation - Part 4b

    Unplugged lesson plan for Abstraction (Stage 14) from Code Studio allows students to learn concretely and then apply abstractly to the online software coding lessons (https://studio.code.org/s/20-hour).
    Integrate with Accelerated Intro to CS Course Stage 15, Stage 17 or Stage 19 which introduce commands that are modified and more complicated. Lesson will be differentiated depending on the demographics of the class. For example, ELL students will benefit from the vocabulary section but the section may be simplified with a word wall for more advanced students.
    Stages 16, 18 and 20 will not be used during this lesson but are available as extensions.

    /

    Project Implementation - Part 5

    Students will choose one of the 9 listed options for their final project creating a game or story. The last puzzle of each module allows the student to create their own game or story:

    Demonstration of Competency Mastery

    Competency: Develop a lesson using the flipped classroom model.

    • Sub-Competency 1: Design a lesson that reflects the changing roles of the student and the teacher and analyze how the approach enhances the design
      • Mini-unit incorporates 21st technology (in a 1:1 classroom) and traditional classroom activities in order to integrate concrete and abstract concepts of computer programming
      • Students have ownership and choice for completing their homework
    • Sub-Competency 2: Analyze the Four Pillars of Flipped Learning.
      1. Flexible Learning Environment:
        1. 1:1 classroom - a computer lab, plus each student has a laptop
        2. Technology allows students to "catch-up" on missed lessons
      2. Learning Culture Shift:
        1. Homework completed the night before allowing students to integrate their concrete and abstract understandings during the classroom activity
      3. Intentional Content:
        1. Accelerated Intro to CS Course has 20 stages with 12 unplugged activities. However, the mini-unit has been intentionally designed to only fully utilize 4 unplugged activities.
        2. The computer programming activities have been intentionally selected and grouped so that students have the opportunity to choose which activities they would like to complete.
      4. Professional Educators:
        1. The computer programming activities will require the teacher to become a facilitator as there will be multiple acceptable solutions
        2. The reflective process will need to be applied to each student's individual experience rather than just the classroom
        3. Teacher will need to collaborate with each student helping them overcome roadblocks and speedbumps so that they can successfully complete the assignments
    • Sub-Competency 3: Create a lesson using the Flipped Learning Models that applies the Four Pillars of Flipped Learning.
      • Minecraft tutorial in 1:1 classroom blended with traditional classroom activities
    • Sub-Competency 4: Reflect on the experience of changing the role of the teacher and student and developing a lesson using the flipped classroom model.
      • I prefer the flipped classroom model. I am responsible for credit recovery at my high school. Students have access to internet-based classes in Math, English, Social Studies, etc. Students have ownership and responsibility for completing their classes so that they can recover their credits. I am responsible tutoring and helping students overcome obstacles and roadblocks as they occur.
      • I also intend to use a flipped classroom model for my AP Computer Science class. I believe that it will help me create a student centered learning experience so that all students may be successful.

    Project Findings

    Teaching Computer Science is a new endeavor as I have been trained and certified to teach mathematics. While I have a computer programming background in a prior career, I find teaching Computer Science concepts a different struggle. Unfortunately, I have not had the opportunity to implement this mini-unit. However, I understand from my mathematics education training the importance of young learners learning through the discovery process.

    I believe that this mini-unit offers students who may or may not be proficient at mathematical concepts the opportunity to learn computer programming concepts through the discovery process of Flipped Classroom model.