Techtrovert

stumbling through computer science

The Greenhouse and The Gardener

My original metaphor saw curriculum as a list of ingredients on a grocery store shopping list. The list tells you what items you need to buy, but with specific details omitted or left up to the shopper. All the shopper is given on the list are the items to be purchased; other information including where to shop, what brand to buy, or the quantity needed is excluded. Their background cooking knowledge, access to other ingredients to combine with these basic staples, and interest of the people they are serving the food to will impact how they use the ingredients on the list. Curriculum is a shopping list, where only the ingredients are provided – it is up to the shopper to turn these ingredients into a meal.

Curriculum is a greenhouse: sunshine, water, soil, tools, and pots are available to the gardener – what they plant is up to them. The seeds are each different plants with their own unique growing traits, nutrient needs, and thrive in different places in the greenhouse. Some need lots of water, long hours of sunlight, and demand daily attention from the gardener. Other plants like to be left alone, requiring only intermittent watering and can grow wherever they are placed in the greenhouse. Some may need lots of attention from the gardener when they are seedlings, but once they are given the right amount of water and planted in a large enough pot, they can take off and grow into strong leafy plants. Depending on the needs of the plant, different gardeners may be able to use the water, sun, pots, and tools in the greenhouse to grow the plant larger and produce more fruits or vegetables. Over the years, gardeners will learn from each other and work in different greenhouses throughout their career. Each gardener has something to give using the basic tools, but together, as a gardening community, each plant gets the support it needs to grow to its fullest potential. Curriculum is a greenhouse; the tools are there, but it is up to the gardener to know what tools are best for each seedling to grow.

My original metaphor focused on the ingredients used in the cooking, and less on the experience of the person who was doing the shopping and cooking. The shift in metaphor from groceries to greenhouse was a result of reading Tyler’s model of curriculum development which stressed experience and using the appropriate resources to suit the learner. The experience of the gardener and how the materials and tools would be used is imperative to support the growth of the plant. A deeper look at how the gardening tools are being used and if the correct tools are being provided to the gardener is a focus of Tyler’s article. Evaluating the growth of the plant over time based on what materials and tools are being used is essential for long lasting success. Each plant may grow differently and demonstrate success in their own way Fruiting, growing vines, vegetables, or achieving a great height are ways in which show plants are using the tools provided to them to achieve individual success. Tyler’s article highlights the importance of matching the most informed gardener to best suit the plant’s needs and using the tools appropriately.

Gardening is a science, and following set of growing methods can lead to successful yields. Gardeners can follow instructions developed by other growers which share what tools, exposure, nutrients, and attention leads to the best growing results for each plant. Bobbitt equates curriculum to the scientific method in that it is successful if the abilities and experiences of the individual are taken into consideration, and that these experiences are directed and utilized when delivering content and curricular outcomes. The same can be said about gardening; if the gardener learns from past growers that certain plants like certain shade levels, don’t enjoy being over-pruned, and grow best next to certain plants, they can adapt how they use their tools and set up their greenhouse to provide the maximum yield from their plants. Ignoring the individual needs and using the same tools and giving the same level of attention to each plant will not allow each plant to grow to their own potential. Gardening is a science and requires communication, adaptation and responding to each plants own growing requirements.

To build on Bobbitt’s theory that each plant has its own individual preferences and following a method will lead to the best yield, Dewey’s theory of group response has also influenced the gardening metaphor. Each plant has their own needs individually, and will respond and grow best when the tools and growing factors are used to their own desired requirements, but plants also grow in harmony with each other. Dewey factors in the social demands of learning and emphasizes that a child’s needs and responses to learning is impacted by their desire to be successful as a member of society. It is important to design a curriculum which focuses on the needs of the individual but also understand that in order for a student to be successful, they must also function and meet the demands and expectations of society and the group. This can be explored within the greenhouse, as many plants require the same level of nutrients and sunlight, and in order for all the plants to be successful, they must accommodate and share the growing space and attention of the gardener. If one plant is placed in a high sunlight area, receives all the of the best soil, and demands a lot of attention of the gardener, the other plants will be limited in their growing potential and the garden overall will suffer. To be successful as a greenhouse, the overall success of the plants as a group must be considered.

Classrooms function much like a greenhouse; teachers are equipped with a curriculum and resources which must meet the needs of each student in the classroom. It is up to the teacher to decide which student receive which tools, how much, and how frequently. Some students demand lots of attention, others may need more projects, school supplies, or assessment resources to be successful. It is important as an educator to shift and adapt your use of these resources, including your supplies and attention, to make sure that each student is able to grow in their learning, but that your class as a whole grows and is successful as a school and develops into function and thriving members of society.

References

Dewey, J. (1926). My pedagogic creed. Journal of Education (Boston, Mass.), 104(21), 542-542.            doi:10.1177/002205742610402107

Flinders, D. J., & Thornton, S. J. (2004). The curriculum studies reader (2nd ed.). New York,      NY: RoutledgeFalmer.

Wraga, W. G. (2017). Understanding the tyler rationale: Basic principles of curriculum and          instruction in historical context. Espacio, Tiempo y Educación, 4(2), 227-252.

Assignment 3 A & B: Computational Thinking

3A: Connection to Universal Design Learning

The following assessment is based on a comparison of my Creative Computational Thinking Resource against the Universal Design for Learning Framework.

Why?

This computational thinking and coding resource provides multiple means of engagement that offers each learner an opportunity to express their learning in a manner which is representative of them.

Digital Literacy

Digital literacy is the ability to use information and technology to find, create, and communicate information using creative and technical skills (Heitin, 2016). Each of these lessons emphasize and support teachers through computational thinking and provide context and terminology to support the activities. Students are scaffolded along the way, using World Walls of terms for guidance, building up brainstorming conversations, leaving space for error and struggle. Relevant uses of digital literacy are highlighted with references to Hidden Figures and early human calculators, as well as critical discussions about the struggles and places where coding and programming might be seen in the real world. The basis for computer literacy is balanced between direct instruction of terms, conversation and links to game-based, engaging learning to have a lasting impact on students.

Inquiry-Based Learning

Utilizing inquiry-based learning and self-discovery in each of these lessons supports UDL, as it leads to personal connection and interest. Supporting students as they stumble and make errors when building their code or algorithm builds a deeper connection to their end result, as they have had more investment and interest in the process rather than just being guided to the end result. Students develop grit and connection to their learning if they are allowed to make errors and feel frustrated (Duran, & Dökme, 2016). Threats and areas for distractions are limited because the lesson plans are designed to anticipate for areas of struggle, and there are supporting documents, videos and tips to guide students through these tough spots.

Measurable Outcomes

Each lesson is focused, concise, and has a measurable outcome at the end of each lesson. Each student is empowered to present their algorithms or Hour of Code based on a topic that interests them, but the outcome and expectation for the end result is the same for each student. With an overall outcome in mind, the teacher can adapt the process based on students interests and needs to ensure that each student understands the outcomes and learning goals from each lesson in a way that is authentic to their own learning. An example is if a student wants to go above and beyond and create a complicated algorithm for making a complete sandwich, and another student is capable of making a simple peanut butter and jelly sandwich algorithm using strips of paper, both students have demonstrated an understanding and utilization of the concept of what an algorithm is. Both satisfy the learning outcomes of the lessons, but are structured in a way which represent the learner.

What?

Reducing Barriers

Computer science is a course which can be intimidating to teach if you do not feel you have years of experience in the field. This resource aims to reduce the barriers to access for teachers wanting to introduce computational thinking to their class, regardless of experience. Each resource provides clarifying videos, glossaries, and guiding questions to provide teachers with background information on the topic covered in the lesson. An example of this is the Khan Academy video explaining the various programming languages used in computing. Including multimedia resources creates an engaging and user friendly resource for both teachers and learners.

Concise and Effective

There was the temptation to input an extensive list of programs which teachers can use to demonstrate computational thinking and game-forward learning, but the emphasis of this resource was to create two well thought out, well-supported lesson plans which could be expanded to suit learners needs. Critical features and big ideas in the curriculum were the focus, with critical and creative thinking and problem-based learning being at the forefront of each lesson. Teachers can link this type of thinking to other subjects, and satisfy other big ideas in the curriculum. Providing extension suggestions, such as watching Hidden Figures or exploring careers in computer programming maximize the transferability of this resource and makes it applicable to many subject areas.

How?

Accessibility

This resource provides room for individual responses and personal exploration of coding and gaming as an introduction to computational thinking. Students are given room to work on their own algorithms, explore their own Hour of Code program of their choice, and discuss ways in which they feel programming and coding applies to their own lives. Where this resource falls short is in terms of accessibility to those learners who may not be able to interact with video, online text, or guided instruction on SNAP! or LightBot. This resource relies heavily on self-paced learning or using the support of teaching assistants or guardians at home. It would be beneficial to explore ways in which to engage students who have accessibility barriers or who do not enjoy working at a their own pace.

Assessment

As a follow-up, there could be a supplementary resource which gives students who do not enjoy inquiry or project based learning a chance to show their understanding through a worksheet or short quiz. While this type of learning is not in focus of the current curriculum, it is important to meet students where they are at in order for them to succeed. Assessment is also not included in these resources, as these lessons are designed for exploration and increasing interest in computational thinking. Assessment focused teachers may find this difficult and may not utilize this resource without knowing how to assess their students learning without concise learning outcomes and assessment strategies included. The assessment included in this resource involves formative techniques including guiding questions, checking in, monitoring student progress and observing their end products, but summative assessment is not included.

3B: Literature Review

Computer science empowers students with 21st century skills which are relevant to the current and future workforce (Fluck, 2016 & Webb, 2017). The term computer science differs from computer literacy because it refers to the ability to create and adapt new technologies; Literacies focuses more on using and mastering existing technologies (Webb, 2017, pp. 446). Teaching computer skills strengthens local communities, promotes innovation and provides future opportunities for youth (Fluck, 2016, pp. 44). A majority of the innovation in society comes from the use of computer science including biotechnology, geoscience, and global security. “We need to develop aware citizens – not necessarily creators but more than consumers” (Webb, 2017, pp. 448). Incorporating computer science and technology forward thinking prepares and engages students to innovate and create the new technologies which drive global economies and growth.

Computer science is a critical component of the new BC curriculum because the ability to innovate with technology is important for students’ future success. It empowers them with the abilities to adapt to a rapidly tech-forward job market and demands from global society. Webb’s (2017) article offered suggestions for engaging students, school districts, and teachers in the computer science curriculum. Bringing computational thinking into elementary grades makes the transition to more complex digital thinking easier and allows for more opportunities for inquiry-based learning in the later years (Webb, 2017, pp. 451). Computer science teams and competitions for innovative thinking can increase engagement and help students interact with computational thinking in a fun and exciting way. Fluck (2016) stresses the importance of making computer science courses accessible for all learners and teachers. Actively encourage and recruit a diverse range of students to take computer science courses and employ inclusive pedagogies to meet the needs and interests of these students (Fluck, 2016, pp. 41-43). Develop learning content that is visual and interactive, and weave in real-world examples of people creating technologies that will change and make the world a more positive and innovative place. Technology is everywhere, and students are using computers every day. Empower them to be creators and innovators of technology by engaging them in the computer science curriculum throughout their educational journey.

References

Duran, M., & Dökme, İ. (2016). The effect of the inquiry-based learning approach on Student’s critical thinking skills. Eurasia Journal of Mathematics, Science and Technology Education, 12(12) doi:10.12973/eurasia.2016.02311a

Heitin, L. (2016). Digital Literacy: An Evolving Definition. The Changing Face of Literacy, 36(12), 5-6. Retrieved from https://www.edweek.org/ew/articles/2016/11/09/what-is-digital-literacy.html#:~:text=The%20American%20Library%20Association’s%20digital,both%20cognitive%20and%20technical%20skills.%22

Fluck, A., Webb, M., Cox, M., Angeli, C., Malyn-Smith, J., Voogt, J., & Zagami, J. (2016). Arguing for computer science in the school curriculum. Journal of Educational   Technology & Society, 19(3), 38-46. Retrieved from http://search.proquest.com.ezproxy.library.uvic.ca/docview/1814441053?accountid=14846

Webb, M., Davis, N., Bell, T. et al. (2017). Computer science in K-12 school curricula of the 2lst century: Why, what and when?. Educ Inf Technol, 22445–468. https://doi-org.ezproxy.library.uvic.ca/10.1007/s10639-016-9493-x

Lesson 2: The Language of Computer Science

Learning Objectives

Students will be able to:

  • Complete small coding tasks
    • Hour of Code
  • Explain why computer programs are written in specialized languages

Materials and Preparation

  • Computers with Internet Access
  • Synchronous online meeting tool such as Zoom or Bluejeans if teaching online and completing the lesson with the class
  • Asynchronous such as Google Classroom if teaching online but recording the instructions for students to complete on their own
  • Work through at least one of the coding activities on your own before the lesson:

World Wall

Terms introduced you may want to add to a classroom Word Wall either online or in person.

Word Definition
Algorithm A complete, well-defined sequence of steps for completing a task or solving a problem.
Computer An electronic machine that can solve different problems, process data, store & retrieve data and perform calculations.
Computer Science The study of the principles and use of computers.
Computer Program A sequence of instructions or steps, written in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem.
Debug A process of locating and removing computer program bugs, fixing errors or abnormalities.
Programming Language A vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks.

Lesson Plan Pacing for a 55 Minute Lesson

Duration  Description 
5 minutes Welcome, attendance, bell work, announcements
5 minutes Introductory discussion
35 minutes Coding activities
10 minutes Debrief and wrap-up

Guiding Notes

Introduction

  • Introduce the concept of a computer program: a sequence of instructions or steps, written  in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem
  • Play this Introduction to Programming Video by Khan Academy
  • Ask the group what aspect of programming might be the most challenging and what skills are the most useful
    • Sample guiding questions:
      • What are the steps required to write a computer program:
        • This is essentially developing an algorithm for writing a program!
      • What knowledge might make writing a program easier?
      • What might you need to do when writing a computer program that you have never or rarely done before?
      • What parts of programming are most intimidating or scary?
      • What are you good at that might help you be a good programmer?

Activity

  • Allow students to struggle with the activities if needed, stressing the importance of patience and persistence in programming.

Debrief

  • Guide students in a discussion about the activities including strengths, surprises and struggles
    • What was most challenging?
    • Explain that programming is a language and required editing and problem solving for a correct “sentence” or program to run and make sense
    • What was different about solving these computer program problems than other problems in school, other subjects, or in your every day life?
    • Why can instructions not be given in simple English? Why must we be limited to certain operations for building solutions?
    • If some students are interested, this can be an opportunity for a conversation about the difference between high-level programming languages and machine languages (assembly code). This video explains the difference between the two.

Accommodations and Differentiation

  • Let students struggle! Avoid the urge to show students the answer right away, and encourage them to try many approaches and develop partial solutions. This develops creativity in their expression of answers, as well as grit and determination when problem solving.
  • Do not let students skip out on certain steps, disengage or copy from a partner. The focus here is for individual expression of learning and demonstration of understanding. You can decide which students can work together, but only if collaboration and teamwork is part of your assessment.

Picking a program that is right for your students

  • LightBot Hour of Code is more challenging, but not substantially so, and is more game-like, which often leads to greater engagement. LightBot is recommended if students seem capable of handling the challenge.
  • SNAP Hour of Code is simpler, and has easier goals which take a shorter amount of time to accomplish. This task can be completed with the assistance of a guardian at home or with a teaching support in the classroom for students with specific learning accommodations.
  • It is unlikely that students will finish both activities in one class period. On the rare occasion some do, encourage them to explore SNAP! on their own or to try the full version of LightBot 2.0

Lesson 1: Introduction to Algorithms

Learning Objectives

Students will be able to:

  • Define algorithm
  • Construct algorithms for performing simple tasks
  • Identify real-world examples where algorithms are used

Materials and Preparation

  • Computers if teaching online / hybrid
  • Internet access if teaching online / hybrid
  • Synchronous online meeting tool such as Zoom or Bluejeans if teaching online and completing the lesson with the class
  • Asynchronous such as Google Classroom if teaching online but recording the instructions for students to complete on their own
  • Large poster paper and markers for students to write out their ingredients
    • option to submit ingredients list via word doc, online whiteboard, google docs, etc.
  • Materials for the sandwich activity either at home or in the classroom
    • sandwich ingredients such as peanut butter & jelly
    • utensils such as a knife and spoon
    • plates
    • napkins

Word Wall

Terms introduced you may want to add to a classroom Word Wall either online or in person.

Word Definition
Algorithm A complete, well-defined sequence of steps for completing a task or solving a problem.
Computer An electronic machine that can solve different problems, process data, store & retrieve data and perform calculations.
Computer Science The study of the principles and use of computers.
Computer Program A sequence of instructions or steps, written in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem.
Debug A process of locating and removing computer program bugs, fixing errors or abnormalities.
Programming Language A vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks.

Lesson Plan Pacing for a 55 Minute Lesson

Duration  Description 
5 minutes Welcome, attendance, bell work, announcements
10 minutes Introductory discussion; present activity
10 minutes Students write first algorithms
5 minutes Sample algorithm execution
10 minutes Students debug/rewrite algorithms
5 minutes Second sample algorithm execution
10 minutes Debrief and wrap-up

Guiding Notes

Introduction

    • Invite students to discuss what is a computer, what do they do, and what they think computer science is
    • Create a group document either online or in person defining the following terms (use the word wall as a guide)
      • algorithm, computer science, computer, program, programming language
    • Display these definitions in your classroom, either in person on a poster or online on a slide, for example, during the lesson
    • For some context and interest to grab students attention, you can talk about the fact that the first computers were actually humans, where they were people who made calculations with the aid of a calculating machine

Activity

Writing Algorithms

    • In pairs or small groups, students will attempt to develop an algorithm or an ordered list of instructions to teach a robot to brush their teeth, or to prepare a peanut butter and jelly sandwich (check for food allergies before performing this exercise). Specify to students that their algorithm must be complete and detailed enough for a “computer” (the teacher) to unambiguously follow the steps and achieve the desired result.
    • “Algorithms” or the steps should be written on paper or in the shared google doc or whiteboard to be shared and reviewed.

Sharing Algorithms

    • After groups have finished, choose a group and have them read their instructions. Act as a computer and follow each step as literally as possible. If there is ambiguity, or if a step is not possible to complete, point out the error.
    • When an instruction is ambiguous or impossible, interpret the algorithm in the most atypical (and hilarious) way possible. This will reinforce to students that many seemingly clear instructions can be taken many ways.

For the PB&J activity, common errors will include:

  • Failing to open a container before using what is inside
  • Response: Try (and fail) to access the inside in a humorous fashion (e.g. try to reach through the bag or jar, acting confused as to why you cannot reach the ingredient inside)
  • Failing to specify in which orientation or position to use something (e.g. “grab the knife” but not by the handle, “put down the bread” but not on the plate)
  • Response: use or place the ingredient in an obviously (and humorously) incorrect way (e.g. grab the knife (carefully) by the sharp end, put the slice of bread on the table next to plate, spread peanut butter around the crust instead of on the face)
  • Using instructions that are too broad (e.g. “pick up the bread” to mean a single slice, “put the peanut butter on the bread” to mean spreading a small amount)
  • Response: Ask for more detail, or interpret the instruction literally
  • Combining multiple steps into one instruction (e.g. “spread peanut butter on the bread” without specifically opening the jar, putting peanut butter on the knife, using the knife to spread, etc.)
  • Response: Ask for more detail

Most algorithms will fail. If there is time, repeat the process with one or two other groups.

Here is an example video of the PB&J activity and the hilarious attempts at writing algorithms

 Debugging / Fixing Algorithms

  • Spend a brief moment explaining that programming is the language of computers, and that, like writing in english, some errors are expected before the final product is produced. Fixing grammatical errors in computer programming is called “debugging”.
  • Have the students fix or “debug” their algorithms and attempt to fix all errors and vagueness.
  • Track changes or other visual editing techniques on Word or Google Docs will show the teacher the thinking process.
  • On paper, using a different colour pen to make changes will show their edits

Executing or Testing the Algorithm

  • Once students are done debugging, execute, or try the algorithm again
  • Hopefully, at least one group will have a functioning algorithm. If not, make changes on the fly and request a fix before proceeding. The goal is to create a sandwich before the end of class
  • Many algorithms will still have similar problems to the first iteration. Others will have too much detail (see below) or other, subtler problems (such as skipping trivial steps like putting the two slices of bread together). Try to take note of issues while circulating so you can address them quickly.

Debrief

  • Ask students why there were problems in the first round, and how those problems were fixed. Encourage students to collaborate and add to a collective online document or poster. The use of computer science terminology (debugging, execution, algorithm, etc.) is encouraged
  • Have students discuss what lessons can be learned from this activity and how they can be applied to programming and computer science

Accommodations and Differentiation

  • Check for food allergies before letting students build their own sandwiches either at home or in the classroom
  • Instead of peanut butter, you can use cream cheese & jelly, toast with butter and jam, or a deli sandwich with mayo or mustard. Students do not have to make a physical sandwich, as the focus is on the order of instructions (the algorithm)
    • This is an option for students to make their “sandwich” out of clay, a cartoon drawing, or slips of paper with the words written. Be creative!
  • If students are struggling with the level of specificity, accommodate and allow for basic assumptions to be made to ease the process to enable all students to come away with an understanding of what an algorithm is
  • In the “debugging” round, some students may go overboard with the level of detail in an attempt to resolve all possible ambiguities. Remind these students that there are some basic instructions that can be easily understood by most people, and there is no need to go into further detail in those cases.
  • If you feel students can handle the discussion, you can draw a parallel to machine code and abstraction

Creative Computational Thinking

The following resources are example lesson plans which allow students to demonstrate computational thinking using projects which are unique to them. These examples represent ways educators can satisfy and meet the following learning outcome:

Learning Outcome

Student Independence:

  • Instructors and students will be able to use the appropriate platform of expression to demonstrate their ideas and conclusions to satisfy competencies, curriculum and assignment outcomes
  • The educators will demonstrate various strategies to use when experiencing struggles in understanding
  • The educator will prepare routines and materials for student reflection, focusing on work habits, understanding, and confidence

Creative Computational Thinking Lesson Plans

The following lesson plans are part of the broader Introduction to Computer Science curriculum which I have implemented into my grade 8 classroom over the last two years. Introduction to Computer Science is an engaging course that explores a variety of basic computational thinking and programming concepts through a project-based learning environment. The curriculum is flexible and approachable, with lesson plans adapted from the UC Berkeley CS 10.  The philosophy behind the lesson plans is that this introductory course is approachable and made for a wide range of high school students from diverse backgrounds.

The lesson plans advocate for hands-on, immersive learning; students learn through discovery, experimentation and application rather than lecture based learning. These lessons will suit an online, hybrid, or face-to-face teaching model in schools. Lessons are structure with a brief introduction of the concepts or terms, with a guided activity to allow students to practice with and experience the concepts covered in the lesson objective.

Accessibility to the lessons plans was a main focus during the design; these lessons do not depend on an specific technologies or resources in the classroom or home other than computers with reliable internet access. The lessons are also designed without homework assignments, as the focus is to have all the learning completed with the support of the educator. If learning is completed entirely remotely, it is assumed the student will be equipped with a computer and reliable internet. If the learning model is hybrid or entirely face-to-face, then these lessons are designed to be completed within the “classroom” with educational support. Lab work and projects can be explored at home, given the motivation of the student to pursue the learning further.

Lesson 1: Introduction to Algorithms and Order of Thinking

The purpose of this lesson is to introduce students to the concept of algorithms and relate this concept to every day routines such as getting dressed, making a sandwich, or cooking. Students are given the freedom to construct an example of an everyday algorithm which suits the learning outcome while representing their individual interests and ways of thinking and understanding.

This lesson can be executed without the use of SNAP! (a block-based coding program explained below), and can be completed either online entirely, delivered using a hybrid teaching model, or completely offline in the classroom.

At the end of the lesson, students will be able to:

  • Define algorithm
  • Construct algorithms for performing simple tasks
  • Identify real-world examples of algorithms

Lesson 2: The Language of Computer Science and Programming

The purpose of this lesson is to explore the different types of programming languages used in computer science using a class-based discussion and a student led activity. Students will understand that computers use a sequence of instructions or steps, written  in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem. Students will then work through an Hour of Code activity that explores computer programming and its applications.

At the end of the lesson, students will be able to:

  • Complete small coding tasks
    • Hour of Code
  • Explain why computer programs are written in specialized languages

Background Information on SNAP!

SNAP! Block Based Coding Platform

Basic block-based computer coding can be explored using SNAP!, an approachable, rudimentary visual block-based programming tool with a flexible tool set. SNAP! is free and is ideal for introducing students to coding for the first time.

SNAP! Support

The following resources are available to support use of Snap! in these lesson plans:

Download a local copy of SNAP! as a backup:

Snap! can be downloaded to run locally on a student’s computer, however the projects will not be able to be save to the cloud and will need to be exported and then imported to the cloud when Snap! becomes available.

  1. Run Snap! from browser
  2. Click on the Snap! logo in the upper-left of the app.
  3. Choose “Download source” from the menu
SNAP! Download

SNAP! Download

  1. Save snap.zip locally on your computer.
  2. Extract snap.zip.
  3. Open snap.html in a web browser.

Interested in working with Microsoft TEALS to bring computer science to your classroom?

Technology Education and Literacy in Schools (TEALS) is a Microsoft Philanthropies program that connects classroom teachers with tech-industry volunteers to create sustainable CS programs. Volunteers support teachers as they learn to teach CS independently over time.

Computer Science and Cross-Curricular Engagement

The inspiration for investigating the benefits of implementing the computer science curriculum in schools came from my experience of running an introduction to computer science course with my grade 8 class over the last two years. Microsoft TEALS offers a remote learning course called Introduction to Computer Science; this course brings in instructors actively working the field of computer science and programming to assist teachers in introducing students to computer science and the world of computational thinking. The positive impact of practicing computational thinking and the cross-curricular advantages I observed in my students during this course inspired me to further investigate the research and support for implementing the computer science curriculum in schools.

When advocating for implementing computer science at my school, the pushback I received was regarding the cost of bringing in the technology required to run the course. For my Microsoft TEALS remote learning course, each student needed a laptop with a webcam, and a pair of headphones. The total cost of the equipment was over five thousand dollars, factoring in that we already had computers for most of the students. I justified the cost by presenting the power and impact that my computer science course would have on our students. The future societal demands that computer science and computational thinking can support are examined in both Fluck’s (2016) article, Arguing for computer science in the school curriculum, and Webb’s (2017) article, Computer science in K-12 school curricula of the 2lst century: Why, what and when?.

Computer science empowers students with 21st century skills which are relevant to the current and future workforce (Fluck, 2016 & Webb, 2017). The term computer science differs from computer literacy because it refers to the ability to create and adapt new technologies; Literacies focuses more on using and mastering existing technologies (Webb, 2017, pp. 446). Teaching computer skills strengthens local communities, promotes innovation and provides future opportunities for youth (Fluck, 2016, pp. 44). A majority of the innovation in society comes from the use of computer science including biotechnology, geoscience, and global security. “We need to develop aware citizens – not necessarily creators but more than consumers” (Webb, 2017, pp. 448). Incorporating computer science and technology forward thinking prepares and engages students to innovate and create the new technologies which drive global economies and growth. Computer science is a critical component of the new BC curriculum because the ability to innovate with technology is important for students’ future success. It empowers them with the abilities to adapt to a rapidly tech-forward job market and demands from global society.

Beyond the benefits of engaging students in a field which will lead to flexible, immersive careers in tech, the field of computer science and its benefits in the classroom are broad. This science teaches students design, logical reasoning, and problem solving; these are skills which are directly transferable to the real world and other subjects well beyond the computer science classroom (Webb, 2017, pp. 446). Computer science courses can tap into students’ interest in technology, helping them become technology innovators. Other teachers can build on these skills, allowing students to design technical solutions to problems in science, math, social studies, the arts, and humanities (Webb, 2017, pp. 446). This can make courses more relevant to youth and promotes cross-curricular engagement, potentially improving their overall academic achievement and success in school as a whole.

Webb’s (2017) article offered suggestions for engaging students, school districts, and teachers in the computer science curriculum. The first suggestion was to implement computer science classes as early as possible. Bringing computational thinking into elementary grades makes the transition to more complex digital thinking easier and allows for more opportunities for inquiry-based learning in the later years (Webb, 2017, pp. 451). Computational thinking, which is a digitized way of saying problem solving, is the basis of computer science education. As this problem-based learning is becoming a requirement for many 21st century jobs, schools should look to embed computational thinking into other subjects and curricula (Fluck, 2016, pp. 43-44).

Computer science teams and competitions for innovative thinking can increase engagement and help students interact with computational thinking in a fun and exciting way. Fluck (2016) stresses the importance of making computer science courses accessible for all learners and teachers. Actively encourage and recruit a diverse range of students to take computer science courses and employ inclusive pedagogies to meet the needs and interests of these students (Fluck, 2016, pp. 41-43).

Both Fluck (2016) and Webb (2017) make note of creating and implementing a computer science curriculum that is, above all, fun and engaging. Teachers can do this by introducing technology in a way that connects with students, taking them on field trips to local tech industries, and bringing in real world examples of technological innovations to spark interest and inspiration (Fluck, 2016, pp. 42). Develop learning content that is visual and interactive, and weave in real-world examples of people creating technologies that will change and make the world a more positive and innovative place.

Technology is everywhere, and students are using computers every day. Empower them to be creators and innovators of technology by engaging them in the computer science curriculum throughout their educational journey.

References

Fluck, A., Webb, M., Cox, M., Angeli, C., Malyn-Smith, J., Voogt, J., & Zagami, J. (2016). Arguing for computer science in the school curriculum. Journal of Educational   Technology & Society, 19(3), 38-46. Retrieved from http://search.proquest.com.ezproxy.library.uvic.ca/docview/1814441053?accountid=14846

Webb, M., Davis, N., Bell, T. et al. (2017). Computer science in K-12 school curricula of the 2lst century: Why, what and when?. Educ Inf Technol, 22445–468.  https://doi-org.ezproxy.library.uvic.ca/10.1007/s10639-016-9493-x

Critical Self Expression

This post provides a rationale for the three resources I curated to assist students with self expression when submitting assignments and demonstrating their understanding of content within the remote teaching model.

The 2019/2020 school year was drastically changed with the COVID-19 pandemic. The Ministry of Education in British Columbia directed school districts to employ an online method of emergency teaching, with a hybrid model coming into place for some schools in June. The plan for online and hybrid teaching brought about various challenges for educators, students, and educational planners. One aspect of the online and hybrid model is examining student independence and accessing platforms to demonstrate learning.

This blog post will highlight and examine tools which promote independent learning and expression from students during this time of online and remote teaching.

The resources listed in the above blog support independent learning and expression. My rationale post will look at the integrity and reliability of these resources.

Digital Media

VoiceThread
https://tlt.cofc.edu/2016/05/31/faculty-guest-post-incorporating-voicethread-into-hybrid-and-flipped-classes/

https://tlt.cofc.edu/2016/05/31/faculty-guest-post-incorporating-voicethread-into-hybrid-and-flipped-classes/

VoiceThread meets the needs of personalized demonstration of learning and unique expression of understanding of a topic. This program offers a variety of platforms to creating presentations and projects for students to explain their research, demonstrate their understanding of a topic or use original ideas and drawings to show the progression of a historical event or retell the major components in a story or novel. For older students, this VoiceThread is an ideal platform for developing digital portfolios and curating artifacts of learning when considering applications into post-secondary education programs.

Photo by Mark Fletcher-Brown on Unsplash

Photo by Mark Fletcher-Brown on Unsplash

As students progress and add more artifacts and creations to VoiceThread, their collection grows over time. This long-term collection allows for teachers to support student growth in digital literacy and also content knowledge to support assessment and demonstrate learning while students are learning remotely. Collaboration is a key feature, with students being able to co-create resources as well as comment and critique the works of their peers. They can collaborate and each add their own choice of media, such as video, drawing, images or audio to create a polished, diverse product demonstrating each contributing members voice and understanding.

Photo by Jakob Owens on Unsplash

Photo by Jakob Owens on Unsplash

In regards to privacy and protection of information, students can choose to make their projects public or private by adding their projects to a public gallery to be viewed by all, or sending a unique URL to the teacher over email. This does require students to be prepped on online safety, protection of personal information and plagiarism guidelines when using online content and assigning the appropriate contributions when referring to other peoples’ ideas and content.

Photo by Brooke Lark on Unsplash

Photo by Brooke Lark on Unsplash

When sharing a URL privately, it means that students will need to have an email and understanding of email to be able to submit projects only the teacher can view. The embed function allows for users to share projects on school websites or their own. While this is great for responsible curators, teachers will have to be mindful of who they give access to for their class website and make sure to monitor what content is being shared and created. Parent participation is needed for this resource, as it might be challenging for students to work with some of the new content and figure out how to share, send and comment on the work of their peers. Collaboration and flexibility in terms of expression and accessibility makes this VoiceThread a strong resource for remote teaching and individual student expression of knowledge.

Digital Cartoons

Toontastic 3D
https://apps.apple.com/us/app/toontastic-3d/id1145104532

https://apps.apple.com/us/app/toontastic-3d/id1145104532

Toontastic 3D is a user-friendly resource geared at younger audiences who want to display creativity in story telling, using a more structured and self-guided approach to animation. This app is approachable because the steps to story-telling are integrated into the program and guide users, even very young, through the creation process at every point along the way.

Students are given the creative liberty to create and direct stories in a manner which is personal and easy to use. From the start, the interface may be a bit challenging as students get used to moving their characters around and interacting with the set, but the overall approach to designing the set and characters, narrating the story using audio and other customization features are easy to use. If a student did have mobility issues, this would not an accessible app and does demonstrate limitations for this program. It is meant for students who are able to read written instructions, apply those instructions to their own project and have the mobility skills to use their hands to move the characters and the voice to record and narrate the story. If a student did have audio or mobility limitations, they could work with a parent or older sibling to use this platform, but it does take away from the individual creativity.

Photo by Benjamin Catapane on Unsplash

Photo by Benjamin Catapane on Unsplash

The program is offered as a free app on Android, iOS and Chrome, which does imply that data is used from user interaction for targeting advertisers and marketers for product placement and ads when using the app. The information required for creating an account is limited, with no personal information needed, which reduces the concern about privacy somewhat. Teachers assigning this as a learning tool are assuming the student has access to a device at home which support this app and parental support in case they struggle with the instructions and applying the tips to their own project. Assessment and submitting their project is challenging, as the teacher can only access this project if the student texts or shows the teacher in person. This app would be a constructive supplemental learning tool, but not necessarily effective for formal assessment. Language could also be a barrier, as students need to record their own audio for the narration of the story. This is an app geared at elementary school aged students, but it allows for creative demonstration of story ideas in a unique and engaging way.

Audio Response / Podcast

Anchor Podcast App
www.anchor.fm

www.anchor.fm

Two major components of the core competencies from K-12 are speaking and listening. Demonstrating learning through a podcast recording offers demonstration of those two skills. There are opportunities for cross-curricular learning, such as recording a podcast episode about a scientific topic to satisfy language arts and science content; language arts will be intertwined if a podcast is used in any other subject because students need to write, narrate and record their podcast episode about the topic. It engages students and teachers to expand their digital skills, modify their communication techniques for different audiences (incorporating humour into your episode to engage a wider audience, for example) and learning skills to tell stories or demonstrate ideas in an engaging way.

Photo by Jason Rosewell on Unsplash

Podcasting for demonstration of knowledge is accessible to students as they do not need access to fancy recording equipment or expensive programs; this app reduces the need for technical knowledge as the app walks the user through the recording, audio editing and publishing components to complete an episode. The ability to stop recording on one device and pick it up later for editing or continued recording increases accessibility as students can work on this at home if school is not in session or partially in session. Collaboration in person or within the app allows students to connect and co-create episodes even if they are not able to be together in person. Barriers to this app would be the assumption that students have a safe, quiet place to record their podcast, the device to record it on outside of school, and the support from their parents if they run into issues.

Photo by Hadis Malekie on Unsplash

Photo by Hadis Malekie on Unsplash

As the app is free, there are limitations and concerns about privacy. Within the app, the editing functions are limited and students can do some basic trimming and editing, but they are unable to re-record parts once the episode has been strung together. The episode is recorded in a single file which makes editing or trimming middle portions impossible. If students have issues in the middle of the episode, there could be frustration and conflict when editing, leading to a disappointing end result.

Photo by Nick Fewings on Unsplash

Photo by Nick Fewings on Unsplash

In terms of digital literacy and safety, the app has some flaws. The first is that any podcast is public and can be accessed by anyone using the app. Personal information, depending on what is required of the user when they are creating the account, is displayed publicly. While this public access to podcasts can be an issue, with the right background preparation and insight of the teacher, students can be informed on how to keep their identities anonymous, respect other podcasters personal information when recording and episode, and maintain somewhat private on a public domain. The trade-off for a free app with in app purchases is that the data is collected and used for third-party marketing and advertising.

While I can’t see a school district embracing this app entirely, it does offer an easy option for students to explore the world of podcasting, digital media, and self-expression.

Ingredients… but no recipe

Curriculum is a list of ingredients on a grocery store shopping list. The list tells you what items you need to buy, but with specific details omitted or left up to the shopper. All the shopper is given are the items, but no other information such as where to shop, what brand of item to buy, or how many is provided. The finer details of the items purchased are left up to the shopper. Two shoppers are given the same list of items and their shopping trips could go something like this:

Shopping List: eggs, milk, noodles, flour, cheese

Shopper A:                                                                                                                           

Shopper A is an inexperienced cook and lives in a small, rural town near Hazelton, BC. They do all of their shopping at the small corner store. They purchase eggs shipped in from the larger factory farm, local dairy milk from the farmer just out of town, flour which has been shipped and therefore quite expensive for a generic brand, and the only cheese available to them is sharp cheddar in a large block. Their shopping is limited because they do not live in an area where they have lots of choice on the types of ingredients they buy, and the cost of some items is quite expensive so they cannot buy the flour, for example, in large quantity. Shopper one is limited by their location which determines where they shop, what type of ingredients they buy and what quantity based on price and availability.

Shopper B:                                                                                                                          

Shopper B lives on a small organic farm on the Saanich Peninsula and does their shopping at local farm stands and al the organic market in Sidney. Shopper B has been cooking for over twenty five years. They have a family friend who provides them with farm fresh eggs, and a variety of white and brown eggs of their choosing. At the local market, farmer’s bring in a wide selection of oat-fed cow’s milk, heavy cream, or milk substitutes. Shopper 2 notices that they have the option to buy whatever milk product they want, as the list is not specific. They choose to pick up some heavy cream, 1% milk and some almond milk. Flour is in the bulk section, so they are able to buy lots without it going over their budget. Cheese is in abundance with choices including cheese curds, goats cheese or sharp cheddar from a local farm. They pick out a sharp cheddar and a fresh mozzarella to have some variety in their dish. Shopper two is presented with an abundance of choice as to what items they can buy which match those on the list they were given. Shopper two has access to variety and local products at a low, affordable price.

The two shoppers were given the exact same shopping list, but the type, quantity, quality and variety of ingredients they purchased differed based on  their decision making, location, background and experience. The choice is now up to them as to what meals they will make with these ingredients and what other ingredients they include is also up to them. The quality, variety, and quantity of ingredients will impact what meals they can make and serve. Their background cooking knowledge, access to other ingredients to combine with these basic staples, and interest of the people they are serving the food to will impact how they use the ingredients on the list.

Curriculum is a shopping list, where only the ingredients are provided, the rest is up to the shopper.

Collective Success

I feel like teachers and schools are working harder than ever to keep our students on track.

After spending countless hours redesigning our courses, setting up Google Classrooms, and getting devices out to numerous students… only a few of our kids are taking advantage of these resources or online spaces.

This is frustrating and worrying for the success of our kids and also a reflection on my level of professionalism as a teacher. It is challenging not to feel guilt about being paid while others around the globe have lost their jobs and are now relying on government relief funds.

Despite this worry, I always try to come back to the thought that we ARE doing our best and not to take it personally if students don’t participate, or spend time pressuring students or parents to get their kids online.

We have no idea what’s happening right now in students’ minds, hearts, and homes that’s causing them to put academics on the back burner. 

Resist the natural human tendency to make assumptions and judgements: These kids don’t care. The families don’t value education.  I’m not doing my job. Why am I getting paid to do this?

Instead, get curious. What else might be going on that’s preventing Google Classroom from being their foremost priority? How else could we drag content out of what they are already doing at home? How can we support without it looking like we are nagging on the students to get online?

I’m finding that it is nearly impossible to focus on ANYTHING or complete a task that is longer than 10 minutes. There are many days I’d rather watch TikTok videos or countless episodes of Netflix shows than get work done; I do the bare minimum because my concentration is shot.

And this is with the maturity level, self-discipline, and time management skills of an adult who’s living in a safe and peaceful home! I can’t imagine spending hours a day on schoolwork right now as a kid, especially if that work was not required for your final grade.

If your students would rather play and Facetime with friends than do school work right now, keep in mind that a) that’s normal behavior for kids, and b) these can be coping mechanisms for stress. 

Kids and adults alike are engaging in numbing behaviors and distractions to help them deal with the stress of being confined to their homes. You personally may be coping well, but not everyone is, and making them feel shame about being unproductive in a pandemic isn’t likely to help.

So, don’t blame yourself OR your students if they’re not completing the work.

This is a time when it’s more important than ever to work from a human-centered lens, where we put our collective socio-emotional wellbeing first.

Even if your district is expecting you to teach like everything’s normal, you can infuse grace and empathy in your interactions with kids. You can start class with check-ins, be kind in your late work follow ups, and so on.

Focus on what you CAN control rather than escalating consequences for the stuff you can’t. Your job is to simply continue offering support. 

Keep looking for meaningful ways to connect with your students and engage them in ways THEY care about right now (here are some ideas that are working for fellow teachers).

Measure your success by how well you’re doing YOUR part, rather than by how many kids participate. 

What you’re doing right now means something, even when students aren’t doing the assignments.

You see, the way we are showing up in our daily work right now is carving out the path to where we’re going next. It is shaping the way our students and families view school. It’s establishing what is truly important in how we educate kids, and what’s most essential about the role of a teacher.

This is a time when the rigid structures that define how we do school have been stripped away. What lies underneath is our shared humanity and connection. This is the time to embrace that, in all of its messiness.

Coding – the hottest topic in teaching since sliced bread

… at least I think that’s how the expression goes.

The idea of teaching coding in school has become a global phenomenon – every teacher wants to have some sort of coding program in their classroom. Whether this is through remote learning, completing a coding program themselves and teaching their kids, or going to tech workshops as field trips with their classes. This global interest is based on the belief that it is important, both educationally and socially, for students to learn how to code or program from an early age.

Teaching kids to code or program early does not only create a pool of skilled programmers to meet the needs of the future job market, it does much more. Learning to code enables children to use digital technology to develop their creativity and problem solving skills. It empowers children in our technology-based society to fill the role of a creator of societal content and marketable skills rather than simply a consumer of global products and ideas.

What do I mean by coding and programming, exactly?

When I am talking about teaching kids to program or code, I mean that they are learning the skills to tell a machine, a computer, a software program or Web page what to do. This is a feat accomplished behind the scenes… or screens… by mobile phones, computers and social media we use every day.

Telling a software program or Web page what you want it to do requires coders to use algorithmic thinking. Algorithmic thinking breaks down the steps of a complicated task and works backwards from the final product to the initial stage. This type of thinking is a large component of the curriculum when teaching students about coding.

An example of algorithmic thinking could be a simple task such as how to make a peanut butter sandwich.

The final product?

A peanut butter sandwich.

But what steps were made to create this sandwich?

Let’s break it down into steps starting from the very basics. Please note there are additional steps which could be listed, such as open the cupboard, get out a plate, lay the plate on the table, etc. but for the sake of this example we will only be focused on the algorithm or steps needed to make just the sandwich itself.

Source: https://www.instructables.com/id/How-to-Make-a-Peanut-Butter-and-Jelly-Sandwich-4/

  1. Open the bread bag.
  2. Get out two slices of bread.
  3. Put the bread slices on a plate.
  4. Get out a knife.
  5. Get out the peanut butter.
  6. Get out the jam.
  7. Open the peanut butter.
  8. Open the jam.
  9. Put the knife in the jam jar.
  10. Spread jam on one slice of bread.
  11. Put the knife in the peanut butter.
  12. Spread peanut butter on the other slice of bread.
  13. Lay the jam sliced bread jam side down on top of the peanut butter slice.
  14. Cut the bread diagonally from the top right corner to the bottom left corner all the way through.
  15. Enjoy your peanut butter and jelly sandwich!

This “Exact Instructions” Challenge video by Josh Darnit demonstrates algorithmic thinking when making a peanut butter and jelly sandwich by following the steps exactly… which leads to a hilarious outcome.

Source: https://www.youtube.com/watch?v=Ct-lOOUqmyY

Teaching students about algorithmic thinking using common tasks we compete every day, such as this simple sandwich making, closes the gap between computational thinking and common sense. It shows that there isn’t that big of a difference between using algorithms in the computer to complete a task and that of every day actions. Every outcome and product can be broken down into simple steps.

Through coding and offline coding lessons (those which don’t use computers or programs to demonstrate a coding concept… see the sandwich example above), students develop algorithmic thinking skills. This enables them to better understand, interpret, and assess the impact of such thinking on our lives. Some may even take these thinking skills and take part in developing and guiding the use of algorithms in the world of the future.

Coding and computational thinking empowers children to use technology more effectively and guides them into choosing the right programs or devices to help them achieve their outcome. Integrating coding into their everyday learning enables students to better understand all aspects of the digital world and become better prepared for the future developments in tech and digitization.

10 key benefits of learning to code at school:

  1. Increased academic motivation
  2. Acquisition of mathematical, problem solving and computer skills
  3. Development of autonomy
  4. Teamwork and collaboration
  5. Critical and creative thinking
  6. Improved self-esteem
  7. Increased sense of competence
  8. Ability to find information
  9. Increased resilience in the face of challenges
  10. Enhanced reasoning, organization, and planning skills

In case you weren’t totally convinced about the benefits of coding, check out this Ted Talk by Mitch Resnick of MIT Media Lab, who explains that coding isn’t just for computer whizzes, it’s for everyone.

Source: https://www.ted.com/talks/mitch_resnick_let_s_teach_kids_to_code?language=en

« Older posts

© 2020 Techtrovert

Theme by Anders NorenUp ↑