Presentation is loading. Please wait.

Presentation is loading. Please wait.

Creative Coding Through Games and Apps

Similar presentations


Presentation on theme: "Creative Coding Through Games and Apps"— Presentation transcript:

1 Creative Coding Through Games and Apps
Teacher Training Welcome! What is CCGA? Self-intro. This training prepares you to teach CCGA. If you are interested in evaluating this course, go to **Reduced slides from the Microsoft Education training course

2

3 Operating Assumptions
You may or may not have a background in computer science or experience teaching computer science. You will teach this course next semester!

4 Training Approach Immerse you in the course
Examine course curriculum from three points of view: A CCGA student A CCGA teacher A learner This will be a learn-by-doing workshop. Immerse you in the course: Touch on all course units Understand the resources provided Understand the course approach and options Provide essentials: Deep insight about the course Overview of Touch Develop and coding Start a peer network Prepare you for the next steps in preparation to teach the course: Continue to learn Touch Develop and coding Continue to study the course materials and approach Plug into your network of peers Wear three hats: As you go through the course, you’ll wear different hats: student, teacher, learner.

5 Training Pre-work. Watch these videos:
Do “Hour of Code™ with Touch Develop”: Do “Birth of Bot”: Download the course materials: (look for the blue/white folder icon for download options) Prepare to Teach Creative Coding Through Games and Apps Course in Microsoft Education This training builds upon some required pre-work. (DO THIS IN THE FUTURE) The pre-work has 3 components: Watch videos (20 min) Do Hour of Code with Touch Develop (1 hour) Do Birth of Bot (5 hours) If you haven’t completed that work, do so now, then come back. Before you start the training, you’ll need to download the course materials. (DO THIS NOW)

6 Activity Go to aka.ms/CollageTutorial
Student Go to aka.ms/CollageTutorial Click “tutorial” and follow instructions After finish the tutorial, modify the script to make the collage about you: Your name Your school Subjects you teach A picture (not of you) This is based on a lesson in the course. OBJECTIVES: 1) experience a student tutorial 2) practice with Touch Develop When you come back, we’ll take a look at how this lesson fits into the course and the associated resources.

7 Course Outline Teacher Unit Lessons
Unit 1 – Surveying the Landscape: Examining Games and How they are Made 10 Unit 2 – Spinning the Globe: Use of Randomization in Games 6 Unit 3 – Shifting into Gear: Controlling Game Objects 5 Unit 4 – Gaining Ground: Controlling Game Flow with Events and Conditionals Unit 5 – Shifting into Overdrive: Using Loops and Custom Functions Unit 6 – Charting New Territory: Making the Game Your Own 13 Unit 7 – Refueling: Adding Animation with Sprite Sheets 4 Unit 8 – Riding the Momentum: Loops and Collections Unit 9 – Into the Great Beyond: Cloud Computing Unit 10 – Discovering New Horizons: Touch Develop App Design Unit 11 – Traveling Safely: Privacy and Encryption Unit 12 – You Have Arrived: Independent Project Development 21 Where does the Collage Tutorial fit and how would you know? You are going to answer that question in a minute, but first… The course is 12 units long. Each unit varies in length. We’ll look at each one unit by unit in this training. Lessons are 50 minutes, though you will have some flexibility. As you will see, lesson plans are very prescriptive – you’ll have detailed instructions for every thing you need. However, as we’ll discuss later in the training, you have flexibility in how you use those lesson plans and in how you arrange the units to suit the time you have available for the course. Scaffolding of coding concepts is built into the course. We start of with things that are easy, and we build upon previous work in each subsequent unit.

8 Project presentations and assessments
Teacher A typical week Project work Project presentations and assessments Classroom lesson Day 1 Day 2 Day 3 Day 4 Day 5 Online lesson Each unit provides a blend of online, immersive learning with unplugged group and independent activities Online lessons provide all necessary direct instruction, so you do not need to be expert in all coding concepts Direct instruction is threaded with hands-on practice and open-ended creation as appropriate Combination of online plus in-class resources enables flexibility in time spent and delivery method

9 Selected lessons from Units 1 – 6.
Teacher Flexibility Options 6 Weeks (30 Lessons) 9 Weeks (45 Lessons) 12 Weeks (60 Lessons) 18 Weeks (90 Lessons) Unit 1 Selected lessons from Units 1 – 6. Unit 2 Unit 3 Unit 4 Unit 5 Unit 6 Unit 7 X Unit 8 Unit 9 Unit 10 Unit 11 Unit 12 Note that for 12 week option, units are not sequential.

10 Bill of Materials .zip DOC PDF _Teacher_Guide _Student_Guide _Slides
Documents typically begin with UX.Y where X = unit and Y = lesson. (e.g. U1.7_Lesson.) .zip _Teacher_Guide _Student_Guide _Slides _Lesson _Activity _Tutorial_Ex _Quiz _Resource DOC PDF About the Course.docx About the Course.pdf Unit 1 Unit 1 Unit 2 Unit 2 Hopefully you found that the Collage Tutorial was used in Unit 1, Lesson 7. But, if you didn’t, here’s what you should have seen. Discuss resource types Open Unit 1, look at Teacher Guide, Lesson 7, Tutorial worksheet . . Unit 12 Unit 12 Supplemental Resources Supplemental Resources

11 Unit 1 Big Questions What makes a game fun?
What are different genres for games? What is a “computer program”? What is an “algorithm”? What types of problems are easy or hard for a computer to solve? What is the coordinate system in computer games and how is it used? Answers: Unit 1, Lesson 7 Lesson, Tutorial_Ex (Teacher Guide, Student Guide) Resource, Activity, Quiz, Teacher Guide, Student Guide Ux.y_Type .docx and .pdf Answers will vary. Currently, a document with scripts and direct links to videos in tutorials.

12 Overview of Unit 1 Teacher
Students analyze the structure, and logic of computer games; define algorithm; examine “computationally hard problems,” and create a personal collage in Touch Develop. Lesson Summary Online Resources 1.1 Analyze Jetpack Jumper Complete game flow 1.2 Define “computer program” 1.3 Define “genre” and identify computer game genres 1.4 Analyze rules, goals, and structure of Chase and Gather Pro game Define algorithm and hard problems Learn the coordinate system. Create a personal collage in Touch Develop This chart is a summary of the lesson sequence ...there are daily lesson plans for all 10 days.

13 Teacher Working in Groups In many activities throughout CCGA, students will be working with a partner or in a small group. Examples from Unit 1 include: U1.03 -> Think-Pair-Share: Identify favorite games and characteristics U1.05 -> Think-Pair-Share: Identify hard problems U1.05 -> Collaborate to create algorithms by consensus U1.06 -> Collaborate to solve the 4-Color Map Problem U1.10 -> Gallery Walk peer review These are examples of activities from Unit 1 that occur throughout the course. Your job as a teacher (facilitator vs. leader or coach vs. quarterback) Foster a comfortable classroom environment for all students by setting expectations about student-to-student interactions and encouraging a variety of working relationships among students. Building a comfortable classroom environment for all students will pay big dividends throughout this course. Set expectations that students will have the opportunity to work with everyone in the class.  In these teaching materials you will find many examples of how to set up situations in which students can get to know their classmates, work together in non-threatening activities, and enable everyone to share productively.  A favorite strategy is to rotate "elbow" partners--work with the person to your right, left, behind, in front or other relative location. Avoid telling students to "just pick a partner" - especially early on in the course. Some students will be left standing alone and feeling left out. 

14 Course Overview Vision Audience Technology Prerequisites/Requirements
Teacher Course Overview Vision Audience Technology Prerequisites/Requirements Course Outline Flexibility Standards Mapping Bill of Materials Creative Coding through Games and Apps is a first-semester course for introduction to programming designed for the early secondary grades. Students learn how to code by designing, programming and publishing mobile apps and games. Learning to code by creating real products, students discover how to make amazing things and have an impact on their world. Designed to attract and reach a broad range of students, including those who may have never before considered programming. Can be delivered with success by any teacher, regardless of computer science background. Includes all necessary materials for teacher prep, lesson plans, presentations, student assignments, homework, projects and tests. Featuring online and in-class lessons that emphasize hands-on coding, the course can be taught via any modern web browser on phones, tablets, laptops or desktop computers. Course length is flexible, requiring 6, 9, 12 or 18 weeks, depending on the time available in your school. Combination of online plus in-class resources provides flexibility in teaching style, allowing educators to choose the right balance for their students of in-class instruction and out-of-class study. “About the Course” is your friend. It provides a map for the entire course.

15 Why Touch Develop? Interactive Tutorials Portability Ease of Use
Teacher Why Touch Develop? An instructional programming environment from Microsoft Research. Interactive Tutorials Online instruction alternated with hands-on, guided practice Form the “backbone” of the course Portability Runs on any device Ease of Use Easy to build games and apps Sociability Easy to publish and share games and apps MENTION: Touch Develop tutorials are the backbone of the course, providing direct instruction for all coding concepts Each Touch Develop tutorial is supported by explanatory videos, designed to motivate and engage early adolescent learners In total, the (Touch Develop tutorials plus the associated videos) comprise approximately 30 hours of instruction The (Touch Develop tutorials plus video instruction) are complemented and extended into a full semester course of 90 class hours, with all additional resources provided for instructor-led work on a day-by-day and week-by-week basis.

16 Unit 2 Big Questions What are random numbers?
How can random numbers be used in games? Why use random numbers in games? In what ways can games educate and inform, not just entertain? What are the elements of a good presentation?

17 Inquiry-Based Learning
CCGA includes many inquiry-based learning strategies. For example, question 4 from U2.01_Tutorial_Ex: Many of the lessons in this course involve inquiry-based learning strategies including Questioning, Planning and Predicting, Investigating, Recording and Reporting, and Reflecting. And of course, these are presented in scaffold or spiraling levels and culminate in larger projects where many skills come into play. This is an example of early prediction activity. At this point the students have not worked with conditional statements and are not expected to "Know" the right answer. They are asked to analyze what they see and make predictions. Reassure students that some of the inquiry-based learning experiences in this course may feel ambiguous and confusing at first...but that it's OK. Creating order from ambiguous or complex problems is an important skill. Inquiry-based learning starts by posing questions or problems rather than the delivery of facts. Students will participate in many hands-on, open-ended projects with no predefined outcomes. The teacher is a facilitator in these activities, reassuring students that  solving ambiguous problems is an important computational skill.  An interesting project within this unit involves teams creating their own dice game employing many inquiry-badsed learning strategies.

18 Unit 3 Big Questions What is an object in coding and how are objects used? What is a function and how are functions used? Why do different objects have different functions associated with them? What is a parameter and how are parameters used? What is a variable and how are variables used? What is a variable type and why is it important? For any of you out there who are teaching or have taught CS courses before, know that we are not teaching object oriented programming here. We talk about objects and functions and the nouns and verbs of programs, not objects as instances of classes. We do talk about the functions that a particular object has, but we don’t go into detail beyond that. We cover “custom” functions, or user-defined functions, later in the course.

19 Warm Up and Exit Activities
Teacher Warm Up and Exit Activities Many lessons in CCGA start with warm up activities and conclude with exit activities. For example, in Lesson 3.2: Warm up: Review objects, functions, and parameters (5 min)  Pair students with elbow partners. Assign them this task: Think of an example of an object found in a game. List a few functions it can perform, and identify at least one function that requires a parameter. Give students two minutes to record their example. Invite each group to give an example. Other groups give a “thumbs up” or “thumbs down” if they agree or disagree that the example is a correct example of an object and function. If there is a disagreement, students should discuss it. Exit: Reflection (10 min) Guide students in thinking about their problem-solving strategies. Ask them if it took them longer than they thought it would to solve the maze. Students should think about the most optimal route they found and answer the following questions in their journals. What was your first step in solving this problem? What problems did you encounter? What strategies worked best for you to write the correct code to solve the maze? Opportunities to reflect on learning experiences and thought processes are critical to student achievement.  Through out CCGA, we have built in these opportunities in a variety of places. Many lessons in the course include a short getting started activity and a wrap up at the end.  The getting started activity is designed to focus the students' attention on the topic of the lesson, reflect on past learning, and engage them in a personal way.  The wrap up activity is designed to provide closure in such a way that students actively reflect and verbalize on their learning and maybe anticipate how they will use their knowledge and skills in the future. In Lesson 2, students conclude the lesson by examining their problem solving strategies. They will write about the problems they encountered and how they figured out the solutions. Thinking about their thinking in solving small problems will help them create strategies that will be useful in more difficult problems.  In addition to these activities, assessment tools also invite students to reflect upon and process their own learning, to synthesize what they know, how they know it, and what it means to know something.

20 Teacher Unplugged Activities Many CCGA lessons use unplugged activities to teach programming concepts. For example, in Lesson 4.4: Applying logic with and, or, and not (20 min) You will need a collection of about objects that can be sorted into similar and dissimilar categories for each group of students. Ensure that the collections used have a least one dissimilar item. Groups of 3-5 students ensure that everyone participates in the activity. Optionally, you can do this with the entire class using one collection. Suggestions: Shoes: Ask each student to remove their shoes and put them in a pile on the classroom floor. Add at least one item that is not a shoe. Writing instruments: Ask students to place their writing instruments (pens, pencils, etc.) in a pile. Add at least one item that is not a writing instrument. A deck of playing cards: Add one similarly sized paper item that is not a playing card. Other collections of materials can be used for this activity as you choose. Select items that can be sorted using the concepts of and, or, and not. Many computer science and programming concepts are easily learned without a computer in "unplugged" activities.  Unplugged activities can sometimes do what no amount of "on the computer" work can.  Unplugged activities make use of several learning modalities/styles including kinesthetic, visual, and auditory and can transition students' understanding of a complex concept from the physical world to the abstraction they are expected to work with on the computer. In the unplugged activity in Lesson 4, students create Boolean logic statements by physically grouping common items such as their shoes. The idea is to collaboratively create  unique groupings of items from the bigger collection, verbalize the logic of why these items belong together, test the logic, and then write the logic as a conditional statement. Best advice: DO NOT skip unplugged activities; they are a very powerful means to reach students with a variety of preferred learning styles....and they are FUN .

21 Teacher Learner The 6th Module Stretch Assessing your progress and planning next steps Strategies for getting the most from these modules... Realize that you are a pioneer using these course materials. There is a lot to learn. Repeat some tutorials and activities Practice, practice, practice Join the online CCGA Pioneers community at When it comes time to teach the materials... Complete all of the curriculum tutorials and activities as your students will Teach these materials the first time in a "discovery" mode, along with your students Most of us experience stress anytime we learn a new technology and prepare to teach it to our students. It's understandable.  You might be asking yourself ..... How am I going to learn all these coding concepts well enough to teach them? How will I ever get my head around TouchDevelop? How will I adapt this course and these materials to my teaching style? The good news is that there are strategies to ensure your success. Set reasonable expectations on yourself and your students. It's more important to be a supportive coach than know it all. Start here: Participate as a learner with your students. It sets a good example  that learning is a life-long endeavor and it's valuable for them to see strategies for learning new things. And don't forget!  there is help just an click away in the online CCGA Pioneers community.

22 Unit 5 Big Questions What does on every frame mean?
How is on every frame used in games? Why is it important? What is a for loop? Why are for loops important? What is a custom function? How are custom functions different from functions associated with objects? How are they similar?

23 Extension Activities Many lessons contain extension activities.
Teacher Extension Activities Many lessons contain extension activities. For example, in Lesson 5.5: Extensions Assign students to explore other variable types that exist within other programming languages. Ask students to make a list of these variable types, give situations when the variable type would be used, and give examples of the variable type. Every classroom is different and any number of things--- from students with different preferred learning styles, to the "speedy one", to an unexpected change in the school calendar or schedule --- can create the need for additional or different activities to reach lesson objectives. We've taken that into account in CCGA.... Here's an example of an extension in Unit 5. Student investigate the lesson topic "variables" in other programming languages. You'll find extension activities listed in many lessons. The activities can be used to more fully develop the lesson or to fit unique student needs. Many of the activities require investigations or interactions with others.  Of course, programming projects make for natural "extensions" even if none are listed in the lesson plan. Encourage students to improve the lesson programming project with creative and unique features that employ programming strategies already learned, or to explore additional TouchDevelop functionality. They can teach the rest of the class (and you!) what they've learned. The sky's the limit with TouchDevelop! 

24 Managing Collaborative Teams
Be a manager. Create a vision of a shared goal. Enforce planning requirements. Recognize that problems and challenges can be opportunities for learning. Refrain from answering questions. Point to team members as assets. Expect careful project tracking. Celebrate successes! Managing a classroom of teams all working on different projects can be exhausting. Your efforts throughout the previous 5 units to create a collaborative, supportive, and learning-centered classroom will be rewarded in Unit 6. Set the stage for this large project with the “mini-projects” throughout the curriculum that include many of the skills needed for big projects. Your job as a teacher is as much a project manager as it is leader in the classroom. Once teams have been formed, your job is to make goals clear and allow teams to work toward those goals.  Team projects require detailed planning for both the teacher and the students.  The learning in this unit will come as much from struggles as it will from successes. Be ready to seize on failures as learning opportunities by asking questions about problem-solving strategies and how the problem might have been avoided. Refrain from providing the answer to questions, let students arrive at them on their own. Reinforce collaboration skills and point to team members as asset in meeting challenges Expect careful progress tracking by students. Using a scrum board is described in the lesson plan documents. Try to blend student teammate wishes with the practical needs to create productive, cooperative teams with the greatest chances for success. And of course, celebrate successes!

25 Example Games http://aka.ms/ChaseBasic http://aka.ms/ChasePro
Learner Example Games “showcase” on Touch Develop hub “All tutorials” on Touch Develop hub But rest assured that there are plenty of samples and completed projects to help you and students. The games that you and students create will vary. The first two examples listed here are part of the course available within the teacher resources . You can find others on the “showcase” and “All tutorials” on the Touch Develop hub. Let's take a look to see what's there now....

26 Peer Review Strategies
Start early. Build opportunities into projects, big and small. Model the skill. Always insist on constructive suggestions offered in sincere spirit of helpfulness. Peer Review skills --- both giving and getting --- are important career and life skills that you can help students develop in CCGA.  Accurate and thoughtful feedback --student to student --will help build a spirit of trust and true collaboration....and it will help you immensely to rely upon teams to support and help each other. Here's a strategy you will find suggested several times in the CCGA curriculum... This is most helpful early to midway in a project...when there are opportunities to incorporate the ideas. Distribute 6 sticky notes to each student each of 3 different colors. Randomly pair 3 teams to provide feedback on each others' projects. At each project station, each student is to leave at least 2 notes. 1 must be a sincere and meaningful comment on something done well or effective. 1 can be either a suggestion for improvement with details or a question to be followed up on.

27 Encourage Creativity! Creativity is a learned skill that is vital in the 21st century. It is a skill that can be fostered through a creative classroom. Embrace creativity. Encourage divergent thinking. Demand tolerant and supportive behavior. Incorporate multi-disciplinary projects. Model creativity in your classroom. Creativity is a skill that is vital in the 21st century. It is a skill that can be fostered through a creative classroom. There are a few things you can do to encourage your students to express their creativity…. Embrace creativity as an important part of learning. ​ Encourage divergent thinking...reward thinking that looks at problems in a non-traditional ways. ​ Demand tolerant and supportive behavior so that students feel safe to share novel ideas. ​ Incorporate multi-disciplinary projects that integrate creative expression…… art, music and culture.​ Model creativity in your classroom. Search out and present content in new and novel ways.​

28 Using Real Data Using real-world data in projects creates meaningful and authentic learning experiences. Look for examples of data in the media. Talk about data with your students. Explore its use and importance. Provide opportunities for students to generate and use their own data. Look for opportunities to use real data in their projects. As you saw, Unit 8 focuses on data stored in collections. In many programming languages, array is the common term for what is called a collection in Touch Develop. Students who have encountered arrays may be initially confused by the term "collection." Practice and patience are the keys here.  Accessing the information stored in a collection using a  loop  is the goal of the activities in this unit.  The Wacky Tale  project is a fun exercise to help students understand how the loop variable changes with each iteration through the loop. They will intuitively understand the process of storing and accessing the words for the story, as well as using random numbers to pluck out words to fill the banks in the tale.  It is a fairly easy step from understanding how the Wacky Tale program works, to more serious uses for collections and loops.  For students who need some extra help, watching module 7 of The Birth of Bot may be helpful: The link is in the lesson Plan

29 a b c d e f g h i j k l m n o p q r s t u v w x y z
What is encryption? Did you ever create a secret code when you were a kid? For example… You and a friend agree to write notes in which all letters are shifted by 5 characters. So “hi” becomes “mn”. Knowing that “key” (shift by 5) allows you to encode and decode messages. That is (very simple) encryption. a b c d e f g h i j k l m n o p q r s t u v w x y z This is called a Caesar Cipher. In the unit 11, your students will learn about various encryption strategies, and more importantly, explore why they are important to digital privacy.

30 Unit 11 Big Questions What is “digital privacy”?
What is encryption? How is it used? Why is it important? What is a cryptographic hash function? How is it used? Why is it important? What guidelines help users create and manage their passwords?

31 Learning Journals The primary purpose should be FOR STUDENTS
Track learning Record ideas and reflections Practice writing skills Successful journals are: Personal A constant element in student activities Designed to be important to student success Ways to use Free writing…Write in your journal for the next 2 minutes. Prompts…Write about a challenge you experienced and how you overcame it Or List 3 characteristics of an algorithm Completion statements….. Provide the beginning of a sentence or paragraph….. Three interesting things I learned in today’s lesson are _____, _____, and ______. The most important thing I learned was ________. Assessment Typically students do not value activities that are not assessed. So….The goal is to make student journals useful and important to students so that a formal assessment of their journal is not critical to their buy-in. For example: at the beginning of unit, give this journal prompt: What do you know about cloud computing. List up to 3 things. Add a question on final assessment: Look back in your journal to your response on the first day of this unit.  Based upon what you learned in this unit, what can you add to your list? Is there anything in the list you would change? What would you still like to know? Obviously, the students who did a thorough job on the day 1 entry will have a more successful time answering the question on the quiz…. And they’ll take journal task more seriously because the journal helps them achieve in other ways.

32 Unit 12 Big Questions What are the characteristics of an effective team? How is planning and collaboration related to a successful project? How can computer scientists contribute to solving the world’s problems? How do the needs of an audience affect design and development choices? What makes a game or app useful?

33 Putting the puzzle pieces together!
Teacher Putting the puzzle pieces together! Build your own game or app in Touch Develop! 21 days…are you kidding?! Students work in teams to design, build, gather feedback, iterate… Game or app should serve a real-world purpose or solve a real-world problem. Structure and check-ins are built into every step of the way – it’s not a free-for-all. Your job is to be a project manager employing strategies to ensure student success. Managing a classroom with multiple teams working on a variety of projects can be a challenge.  Here are a few suggestions:  Be sure teams spend enough time planning and allocating an even workload among members to ensure a solid start.  Help students set reasonable goals. They might have tiered goals: the ideal project features, satisfactory features, and basic features. They should plan the project so that the basic program is functional before adding enhanced features. That will ensure they at least have a working project by the end of the unit.  Conduct team consultation sessions regularly to mitigate "personnel issues" and to teach time management skills by setting priorities.  Encourage students to solve their own problems rather than relying on you. Instead of giving answers, ask questions that guide students toward their own solutions.  Monitor student progress daily by strict adherence to progress tracking on the scrum board.  See the lessons for more ideas on managing team projects. 

34 THANK YOU. Good luck. Have fun
THANK YOU! Good luck! Have fun! Join the community of CCGA Pioneers at: aka.ms/MCSTN


Download ppt "Creative Coding Through Games and Apps"

Similar presentations


Ads by Google