Only this pageAll pages
Powered by GitBook
1 of 75

CxD 2021 Summer Workshop Series

Loading...

Loading...

Loading...

•••••••••••••••••••••••••••••••••••••••••• Programming Workshops

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

•••••••••••••••••••••••••••••••••••••••••• Innovation Workshop

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

•••••••••••••••••••••••••••••••••••••••••• PBLWorks 101 Workshop

Loading...

•••••••••••••••••••••••••••••••••••••••••• Cross-Discipline Workshops

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

•••••••••••••••••••••••••••••••••••••••••• Resources

Live Zoom: Thur 2:30 pm ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Review Instructions for Final Deliverables

  • Discuss Progress and Concerns Identified During the Week

    • TBD

    • TBD

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Computing by Design 2021

Preparing Innovators in Computing

Looking for this year's workshop, 2022?

👉 Bookmark Computing by Design 2022 as we update the details.

Welcome to Our 2021 Online Summer Workshop Series!

Customize a path that aligns with your needs in teaching computer science. Computing by Design (CxD) offers an array of professional development opportunities to prepare you for teaching your first CS class, enhancing your current curriculum, or simply incorporating CS principles in another subject. Sign up for one or any combination of workshops.

Enjoy your summer activities while preparing for computer science. All workshops are offered online and are designed to take approximately 2 hours each day (*), providing you flexibility in your summer schedule. You will have constant access to the online material and access to an online Slack community of instructors and fellow teachers. Each week there will be two one-hour Zoom meetings for guest interviews, questions and sharing workshop progress. * The PBLWorks workshop is an exception: It is 3 full days online (synchronous).

Recommended Workshop Pathways 👇

While you can customize which workshops you take, here are a few recommendations to consider if you are unsure where to start. The workshops support grades 6 -12 instruction, except for a few of the programming workshops, which are more appropriate for grades 10-12.

Click image to enlarge.

Register for the workshops HERE.

If you have questions or want more guidance on how to proceed, please contact Vicki Daugherty at [email protected].

Workshops Schedule Overview

Workshops

Length/Dates

Choose from Trivia, Chatbot, Robot, Video Game, IoT, and Data Viz programming.

One Week

June 7-11

Prepare for a full computer science experience with projects.

Two Weeks

June 14 - 23

All about planning classroom management and assessments for projects.

Three Full Days

June 28 - 30

Choose from six short projects that blend computer science into other disciplines.

One Week

July 12 - 16

Stand Alone Computer Science Activities for K-12

A repository of computer science activities with an emphasis on K-8 coming soon! The first 20 activities will be released by July 2021 with regular additions made through summer 2022. A link to the repository coming soon.

Teacher Stipends💲

Teachers will be provided stipends on the following schedule each summer.

  • $250 dollars per participation in a one-week workshop (Programming WS, PBLWorks WS, Cross-Discipline WS)

  • $500 dollars per participation in the two-week Innovation Workshop

The maximum total stipend in a summer workshop series will not exceed $1000 per teachers. In order to receive a stipend for the PBLWorks Workshop the teacher must also participate in at least one other workshop to ensure sufficient coverage of computer science content.

The following are required to receive the stipend for each workshop.

  • Participation in all live online sessions for the given workshop

  • Participation in the online Slack community

  • Complete associated surveys

  • Submission of a final deliverable that demonstrates competency in the workshop content

Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You are free to use, share, or adapt this material for non-commercial purposes as long as you provide proper attribution and distribute any copies or adaptations under this same license.

Programming Warm-Up ⏱

All programming workshops will use the same warm up, linked below. While the robot uses the Arduino programming language, the programming warm-up uses JavaScript. It is still highly recommended to go through the warm-up since the concepts demonstrated map very well across languages.

Programming Warm-Up ⏱

All programming workshops will use the same warm up, linked below. This warm-up uses the JavaScript programming language, which applies to the web application component of the IoT project. The IoT board uses the Arduino language. While the syntax for Arduino will be different, there are still many similar programming concepts.

Live Zoom: Wed 11:30 am ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Review Instructions for Final Deliverables

  • Discuss Progress and Concerns Identified During the Week

    • TBD

    • TBD

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Live Zoom: Mon 1:00 pm ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Introductions

  • Review of Workshop Format and Sequence

  • Key Pointers

    • Sharing Code via Slack

    • Feel Free to Use Video Too

    • Look for Patterns and Analogies You Can Identify With

  • Information on School of Informatics and Computing Degrees

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Registration and Contact

CLICK HERE to register for the workshops.

If you have questions or want more guidance on how to proceed, please contact Vicki Daugherty at [email protected].

Live Zoom: Thur 11:30 am ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Review Instructions for Final Deliverables

  • Discuss Progress and Concerns Identified During the Week

    • TBD

    • TBD

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Live Zoom: Mon 2:30 pm ⏰

Agenda (1 hour)

  • Welcome and Introductions

  • Quick Survey

  • Review of Workshop Format and Sequence

  • Key Pointers

    • Sharing Code via Slack

    • Searching the Internet for Code Help

    • Online Tutorials and Other Resources

    • Look for Patterns and Analogies You Can Identify With

  • Information on School of Informatics and Computing Degrees

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Programming Warm-Up ⏱
Programming Warm-Up ⏱

Live Zoom: Mon 1:00 pm ⏰

Agenda (1 hour)

  • Welcome and Introductions

  • Quick Survey

  • Review of Workshop Format and Sequence

  • Key Pointers

    • Sharing Code via Slack

    • Searching the Internet for Code Help

    • Online Tutorials and Other Resources

    • Look for Patterns and Analogies You Can Identify With

  • Information on School of Informatics and Computing Degrees

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Live Zoom: Mon 2:30 pm ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Introductions

  • Review of Workshop Format and Sequence

  • Key Pointers

    • Sharing Code via Slack

    • Feel Free to Use Video Too

    • Look for Patterns and Analogies You Can Identify With

  • Information on School of Informatics and Computing Degrees

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Six Programming Workshops
★ Innovation Workshop ★
PBLWorks PBL 101 Workshop
Six Cross-Discipline Workshops

Trivia Web App

A great project for beginning programmers

Welcome 👋

Programming Workshop Sequence (June 7 - 11, 2021)

This workshop is largely asynchronous, providing you flexibility to complete things on a schedule that works for you. Below you will find the sequence of events and videos for the workshop. Notice the two live Zoom sessions on Monday at 1:00 pm and Wednesday at 11:30 am. Otherwise we will use Slack for discussions and impromptu Zoom meetings as needed. Please don't hesitate posting a message on Slack for help.

All posted times are Eastern Daylight Time (EDT)

Workshop Resources

  • Slack Channel: #ws-programming-trivia in the CxD 2021 Slack Workspace

  • Documentation Link:

  • Programming Platform: is the recommended programming platform

  • Zoom Video Conferences: Link will be provided on Slack

  • Recommended Programming Supplements: Listed in the Trivia Code Reference doc 👉.

Program a Robot ⏱

👉 As you work through the following activities don't hesitate posting questions on Slack (#ws-programming-robot) and include a link to your Arduino code when needed (or even a short video).

1 Complete Tutorials A & B to Get Started with the Robot

2 Complete Tutorials C, D & E to Practice Three Key Modes of Operation

Optional: Learn How to Program for More Scenarios

Well done! Feel free to share code or video on Slack of what you have created!

Planning for Student Success

Now that you have experience with programming for this project...

  • Consider how you will approach classroom management when students are completing a tutorial like this one.

    • What will be your expectations?

    • How much will be individual work versus team work?

    • Will you assign any code champions to help you support students with questions?

  • How will you supplement it with other programming content or experiences?

    • Will you use any online tutorials?

    • Will you supplement with any CS unplugged activities?

    • Will you create any custom programming exercises yourself?

If you are participating in the you will consider similar questions for broader project activities.

Internet of Things (IoT)

⚠️ Expect frequent updates as we prepare for the workshop.

This workshop is postponed until further notice due to IoT electronics boards not available for purchase (chip supply issues).

Welcome 👋

Programming Workshop Sequence (June 7 - 11, 2021)

This workshop is largely asynchronous, providing you flexibility to complete things on a schedule that works for you. Below you will find the sequence of events and videos for the workshop. Notice the two live Zoom sessions on Monday at 2:30 pm and Thursday at 2:30 pm. Otherwise we will use Slack for discussions and impromptu Zoom meetings as needed. Please don't hesitate posting a message on Slack for help.

All posted times are Eastern Daylight Time (EDT)

Workshop Resources

  • Slack Channel: #ws-programming-iot in the CxD 2021 Slack Workspace

  • Documentation Link:

  • Programming Platforms

    • is the recommended programming platform for the IoT Board.

    • is the recommended platform for web app programming.

  • Zoom Video Conferences: A link will be provided on Slack

Workshop Deliverables

For the programming workshops we simply request that you submit the following two items.

  1. A link to your working code (e.g. Arduino browser editor) that demonstrates completion and customization of tutorial material.

  2. A summary of your classroom plan

    • Consider how you will approach classroom management when students are completing a tutorial like this one.

      • What will be your expectations?

      • How much will be individual work versus team work?

      • Will you assign any code champions to help you support students with questions?

    • How will you supplement it with other programming content or experiences?

      • Will you use any online tutorials?

      • Will you supplement with any CS unplugged activities?

      • Will you create any custom programming exercises yourself?

Submit using the link below...

The code to submit will be shared in Slack.

Teacher Insights

Here you will find various insights from teachers and programmers on how to approach teaching in computer science and a project-based perspective. Borrow, adapt and curate the ideas presented to help you develop your unique approach. Don't hesitate asking question in Slack on any of these ideas.

Angela Jones

Angela is the CT Instructional Coach at Arsenal Tech High School in Indianapolis and an experienced Computing by Design teacher as part of the iDEW program.

On Enjoying the Journey

Luke Jones

On Developing Content Knowledge

On Managing Student Success

Matthew Baron

On Scaffolding and Scrum

Travis Faas

On Practical Approaches to Programming for Beginners

Program for IoT ⏱

Introduction

Workshop Deliverables

For the programming workshops we simply request that you submit the following two items.

  1. A link to your working code (e.g. replit.com) that demonstrates completion and customization of tutorial material.

  2. A summary of your classroom plan

    • Consider how you will approach classroom management when students are completing a tutorial like this one.

      • What will be your expectations?

      • How much will be individual work versus team work?

      • Will you assign any code champions to help you support students with questions?

    • How will you supplement it with other programming content or experiences?

      • Will you use any online tutorials?

      • Will you supplement with any CS unplugged activities?

      • Will you create any custom programming exercises yourself?

Submit using the link below...

The code to submit will be shared in Slack.

Programming Warm-Up ⏱

All programming workshops will use the same warm up, linked below.

Resources

Link to the Computing by Design guidebook listing for all projects 👇

Templates and Additional Project Material

Programming Warm-Up ⏱
Trivia Code Reference and Tutorial
Replit.com
HERE
Workshop Prep
Live Zoom: Mon 1:00 pm ⏰
Programming Warm-Up ⏱
Teacher Insights
Program a Trivia App ⏱
Live Zoom: Wed 11:30 am ⏰
Workshop Deliverables
Innovation Workshop
IoT Code Reference and Tutorials
Particle Build
Replit.com
Workshop Prep
Live Zoom: Mon 2:30 pm ⏰
Programming Warm-Up ⏱
Teacher Insights
Program for IoT ⏱
Live Zoom: Thur 2:30 pm ⏰
Workshop Deliverables

Workshop Prep

Background and Recommended Classroom Approach

Background on Computing by Design Framework

This workshop is focused squarely on the programming component of a CxD Project. For a little bit of background, you will find that the Computing by Design framework is project-centric in the approach.

Each project has three phases, where programming is a very important component of all three. Our Innovation Workshop covers the breadth of the Computing by Design framework. We have found that the programming in any project presents a fine line between a wonderfully empowering experience (when students struggle and get things working) and a sometimes frustrating experience that becomes a missed opportunity. Therefore we are offering these programming workshops to provide a solid foundation on building the applications.

Learning to Program: A Two-Pronged Approach

We encourage you to offer students a two-pronged approach to learning to program. Computing by Design projects provide an "application first" approach to programming where students are provided direct guidance on creating a specific type of application through templates and tutorials -- like with trivia , a chatbot, IoT etc. This approach complements the many great tutorials available online that provide a "concept first" approach by stepping through concepts in programming. Facilitating both approaches for students provides a varied experience -- strengthening knowledge and offering more opportunities to ignite interests.

Identify an online tutorial site that you can use in your classroom to supplement any project work. Over the course of the workshop try out a few basic online programming tutorials from popular sites to facilitate this "concept first" approach, and consider how you might manage a self-paced assignment based on milestones. How might you use these self-guided tutorials as "filler time" or dedicate scheduled time to their completion?

Getting Started with Slack

Slack will be our primary communication platform for the workshop. The video above provides a brief introduction on the features of Slack, but more help and tutorials can be found at https://slack.com/help.

Getting Started with Replit

Replit is the recommended programming environment for many of our projects. The video above provides a brief introduction on the features of Replit, but more help and tutorials can be found at https://docs.replit.com/.

Teacher Insights

Here you will find various insights from teachers and programmers on how to approach teaching in computer science and a project-based perspective. Borrow, adapt and curate the ideas presented to help you develop your unique approach. Don't hesitate asking question in Slack on any of these ideas.

Dylan Follett

Dylan is a computer science teacher at the McKenzie Center for Innovation & Technology at the Metropolitan School District of Lawrence Township in Indianapolis.

Programming with the Arduino Desktop

Angela Jones

Angela is the CT Instructional Coach at Arsenal Tech High School in Indianapolis and an experienced Computing by Design teacher as part of the iDEW program.

On Enjoying the Journey

Luke Jones

On Developing Content Knowledge

On Managing Student Success

Matthew Baron

On Scaffolding and Scrum

Travis Faas

On Practical Approaches to Programming for Beginners

Teacher Insights

Here you will find various insights from teachers and programmers on how to approach teaching in computer science and a project-based perspective. Borrow, adapt and curate the ideas presented to help you develop your unique approach. Don't hesitate asking question in Slack on any of these ideas.

Angela Jones

Angela is the CT Instructional Coach at Arsenal Tech High School in Indianapolis and an experienced Computing by Design teacher as part of the iDEW program.

On Enjoying the Journey

On the Trivia App Programming

Tinya Fisher

Trivia App - Crossing the Finish Line

Matthew Baron

On Programming and an Approach to the Trivia Project

On Scaffolding and Scrum

Luke Jones

On Developing Content Knowledge

On Managing Student Success

Travis Faas

On Practical Approaches to Programming for Beginners

Teacher Insights

Here you will find various insights from teachers and programmers on how to approach teaching in computer science and a project-based perspective. Borrow, adapt and curate the ideas presented to help you develop your unique approach. Don't hesitate asking question in Slack on any of these ideas.

Angela Jones

Angela is the CT Instructional Coach at Arsenal Tech High School in Indianapolis and an experienced Computing by Design teacher as part of the iDEW program.

On Enjoying the Journey

Luke Jones

On Developing Content Knowledge

On Managing Student Success

Matthew Baron

On Scaffolding and Scrum

Travis Faas

On Practical Approaches to Programming for Beginners

Data Visualization

A project that connects complex ideas in data with code and visual perception

Welcome 👋

Programming Workshop Sequence (June 7 - 11, 2021)

This workshop is largely asynchronous, providing you flexibility to complete things on a schedule that works for you. Below you will find the sequence of events and videos for the workshop. Notice the two live Zoom sessions on Monday at 1 pm and Wednesday at 2:30 pm. Otherwise we will use Slack for discussions and impromptu Zoom meetings as needed. Please don't hesitate posting a message on Slack for help.

All posted times are Eastern Daylight Time (EDT)

Workshop Resources

  • Slack Channel: #ws-programming-data-viz in the CxD 2021 Slack Workspace

  • Documentation Link: Data Visualization Programming Exercises

  • Spreadsheets: Our examples will use Google Sheets

  • Python: We will use Google Colab to create a Python notebook in Google Drive.

  • Web Programming (HTML/CSS/JS): Replit.com is the recommended programming platform for web programming.

  • Zoom Video Conferences: A link will be provided on Slack

  • Recommended Programming Supplements: See the Skill Building section of this document.

Workshop Prep

Background and Recommended Classroom Approach

Background on Computing by Design Framework

This workshop is focused squarely on the programming component of a CxD Project. For a little bit of background, you will find that the Computing by Design framework is project-centric in the approach.

Each project has three phases, where programming is a very important component of all three. Our Innovation Workshop covers the breadth of the Computing by Design framework. We have found that the programming in any project presents a fine line between a wonderfully empowering experience (when students struggle and get things working) and a sometimes frustrating experience that becomes a missed opportunity. Therefore we are offering these programming workshops to provide a solid foundation on building the applications.

Learning to Program: A Two-Pronged Approach

We encourage you to offer students a two-pronged approach to learning to program. Computing by Design projects provide an "application first" approach to programming where students are provided direct guidance on creating a specific type of application through templates and tutorials -- like with trivia , a chatbot, IoT etc. This approach complements the many great tutorials available online that provide a "concept first" approach by stepping through concepts in programming. Facilitating both approaches for students provides a varied experience -- strengthening knowledge and offering more opportunities to ignite interests.

Identify an online tutorial site that you can use in your classroom to supplement any project work. Over the course of the workshop try out a few basic online programming tutorials from popular sites to facilitate this "concept first" approach, and consider how you might manage a self-paced assignment based on milestones. How might you use these self-guided tutorials as "filler time" or dedicate scheduled time to their completion?

Getting Started with Slack

Slack will be our primary communication platform for the workshop. The video above provides a brief introduction on the features of Slack, but more help and tutorials can be found at https://slack.com/help.

Getting Started with Replit

Replit is the recommended programming environment for many of our projects. The video above provides a brief introduction on the features of Replit, but more help and tutorials can be found at https://docs.replit.com/.

Getting Started with Particle Build Editor

Workshop Deliverable

Instructions

In this workshop we want to provide the resources and help you need to prepare a classroom plan for teaching computer science in the coming year. Whether you are intending to run a single project as the main activity for a semester or inject a smaller project within another instructional context, you can use this template as a starting point. You may also want to use (or borrow ideas from) the PBLWorks project planner.

If you are going to use a CxD project guidebook, a lot of the details are already prepared, but you definitely want to formulate the big-picture plan on you will facilitate the course in your context. Ultimately, make the project/course plan work for you and include the level of detail you need. We hope these resources are good starting points.

Two Components of the Deliverable

  1. A classroom plan to facilitate a computer science course

  2. Three artifacts from the project activities that you created through the course of the workshop. These can serve as examples of work for students while giving you first-hand experience of fulfilling the expectations you may have of your students.

A Few Notes:

  • While your plan may not be complete and require more development this summer, provide enough detail to express the key elements of your plan that enables some discussion with others.

  • We understand that you may choose to use other CS material at varying degrees with the CxD material or another PBL experience to fit your students' needs. Please share that as part of your plan, as it doesn't need to be solely based on CxD material.

  • Even if you are not offering a CS course this fall, please post an outline of how you might facilitate a class in the future.

Sharing Your Plan on Slack

Please consider sharing you plans and artifacts on Slack. Sharing your work with other workshop participants in Slack provides an opportunity to get valuable feedback -- and provide others with feedback as well.

Submitting Your Deliverable

Use the link below to submit your classroom plan. A code is needed to submit, which will be provided in Slack and in our Zoom sessions.

CS for Math & Science: Charting Data

Welcome and Getting Started

Project Guide

While the project guide, linked below, can be used as-is in your classroom, you will likely want to adapt the instructions to meet the specific needs of your course context and objectives. Feel free to use any portion of the material in your own documentation.

Workshop Agenda

  1. Attend the live Zoom session on Monday July 12, 2:30 pm - 3:30 pm EDT ⏰ The Zoom link will be provided in Slack.

  2. Follow the project guide and complete an example project to meet your student expectations, as you construct any adapted project instructions documents you will use for your course. Use our Slack channel #cross-chart-data to post questions/answers, to share things you have created or to share additional resources you have found.

  3. Attend the live Zoom session on Thursday July 15, 11:30 am - 12:30 pm EDT ⏰ The same Zoom link will be used for this meeting

  4. Continue posting questions and sharing success in Slack #cross-chart-data as you complete your project example and adapted project instructions.

  5. Submit your project example and adapted project instructions for the workshop deliverable. 🎉 The link below is for submitting your deliverable by the August 7, 2020 deadline.

Workshop Deliverables

For the programming workshops we simply request that you submit the following two items.

  1. A link to your working code (e.g. replit.com) that demonstrates completion and customization of tutorial material.

  2. A summary of your classroom plan

    • Consider how you will approach classroom management when students are completing a tutorial like this one.

      • What will be your expectations?

      • How much will be individual work versus team work?

      • Will you assign any code champions to help you support students with questions?

    • How will you supplement it with other programming content or experiences?

      • Will you use any online tutorials?

      • Will you supplement with any CS unplugged activities?

      • Will you create any custom programming exercises yourself?

Submit using the link below...

The code to submit will be provided in Slack.

Chatbot Web App

Where human conversation meets computer programming

Welcome 👋

Programming Workshop Sequence (June 7 - 11, 2021)

This workshop is largely asynchronous, providing you flexibility to complete things on a schedule that works for you. Below you will find the sequence of events and videos for the workshop. Notice the two live Zoom sessions on Monday at 1:00 pm and Wednesday at 1:00 pm. Otherwise we will use Slack for discussions and impromptu Zoom meetings as needed. Please don't hesitate posting a message on Slack for help.

All posted times are Eastern Daylight Time (EDT)

Workshop Resources

  • Slack Channel: #ws-programming-chatbot in the CxD 2021 Slack Workspace

  • Documentation Link: Chatbot Code Reference and Tutorial

  • Programming Platform: Replit.com is the recommended programming platform

  • Zoom Video Conferences: Link will be provided on Slack

  • Recommended Programming Supplements: See this page.

Workshop Deliverables

For the programming workshops we simply request that you submit the following two items.

  1. A link to your working code (e.g. replit.com) that demonstrates completion and customization of tutorial material.

  2. A summary of your classroom plan

    • Consider how you will approach classroom management when students are completing a tutorial like this one.

      • What will be your expectations?

      • How much will be individual work versus team work?

      • Will you assign any code champions to help you support students with questions?

    • How will you supplement it with other programming content or experiences?

      • Will you use any online tutorials?

      • Will you supplement with any CS unplugged activities?

      • Will you create any custom programming exercises yourself?

Submit using the link below...

The code to submit will be shared in Slack.

CS for Language Arts: Natural Language Processing

Welcome and Getting Started

Project Guide

While the project guide, linked below, can be used as-is in your classroom, you will likely want to adapt the instructions to meet the specific needs of your course context and objectives. Feel free to use any portion of the material in your own documentation.

Workshop Agenda

  1. Attend the live Zoom session on Monday July 12, 2:30 pm - 3:30 pm EDT ⏰ The Zoom link will be provided in Slack.

  2. Follow the project guide and complete an example project to meet your student expectations, as you construct any adapted project instructions documents you will use for your course. Use our Slack channel #cross-natural-language to post questions/answers, to share things you have created or to share additional resources you have found.

  3. Attend the live Zoom session on Thursday July 15, 1:00 pm - 2:00 pm EDT ⏰ The same Zoom link will be used for this meeting

  4. Continue posting questions and sharing success in Slack #cross-natural-language as you complete your project example and adapted project instructions.

  5. Submit your project example and adapted project instructions for the workshop deliverable. 🎉 The link for submitting is below. The deadline is August 7, 2020.

Teacher Insights

Here you will find various insights from teachers and programmers on how to approach teaching in computer science and a project-based perspective. Borrow, adapt and curate the ideas presented to help you develop your unique approach. Don't hesitate asking question in Slack on any of these ideas.

Travis Faas

On Practical Approaches to Programming for Beginners

On Phaser and Game Development

Angela Jones

Angela is the CT Instructional Coach at Arsenal Tech High School in Indianapolis and an experienced Computing by Design teacher as part of the iDEW program.

On Enjoying the Journey

On the Video Game Programming

Luke Jones

On Developing Content Knowledge

On Managing Student Success

Matthew Baron

On Scaffolding and Scrum

Program a Chatbot ⏱

👉 As you work through the following activities don't hesitate posting questions on Slack (#ws-programming-chatbot) and include a link to your replit when needed.

For the chatbot programming workshop we will focus on completing the code-specific portions (direct links below) of the warm-up project in the chatbot documentation. While you may want to review the full instructions of the warm-up project for context, the items below are specific to the programming. As always, don't hesitate using our Slack channel to ask questions or share progress.

1 Get Started with the Chatbot Template in Replit

You will find a short video included to help get the template up and running.

2 Complete

A video is included to get you started with the instructions.

3 Apply at Least Five Code Modifications

This is where you want to dig deep and consider the many ways students may want to program the chatbot and how you will help support them. A short video demonstrates how you can get started with making a modification. You are not limited to these modifications.

★ We also encourage you to come up with new modifications and share your work (or roadblocks) on Slack.

Well done! Be sure to share what you created on Slack!

Planning for Student Success

Now that you have experience with programming for this project...

  • Consider how you will approach classroom management when students are completing a tutorial like this one.

    • What will be your expectations?

    • How much will be individual work versus team work?

    • Will you assign any code champions to help you support students with questions?

  • How will you supplement it with other programming content or experiences?

    • Will you use any online tutorials?

    • Will you supplement with any CS unplugged activities?

    • Will you create any custom programming exercises yourself?

If you are participating in the you will consider similar questions for broader project activities.

✻ Schedule

Online Workshops | Week of June 7-11 | Approximately 1-2 hours a day, mostly on your schedule

Workshop Deliverable

Each programming workshop has a final deliverable, due by June 14, consisting of a working code example with enhancements and a custom checklist for facilitating programming in the classroom.

Live Zoom Sessions

For each workshop there are two scheduled zoom sessions. A zoom link will be added as the workshops approach.

All posted times are Eastern Daylight Time (EDT)

Session 1: Welcome and Getting Started

Session 2: Sharing Progress and Help

Program a Video Game ⏱

👉 As you work through the following activities don't hesitate posting questions on Slack (#ws-programming-video-game) and include a link to your Replit code when needed (or even a short video).

1 Complete the Hello Phaser Tutorial to Get Started

2 Complete the Matching Game Tutorial to Understand Some Key Concepts in Programming with Phaser

3 Complete One (or Both) of the Following Game Tutorials

Well done! Share a link or two of any games you have created on Slack!

Planning for Student Success

Now that you have experience with programming for this project...

  • Consider how you will approach classroom management when students are completing a tutorial like this one.

    • What will be your expectations?

    • How much will be individual work versus team work?

    • Will you assign any code champions to help you support students with questions?

  • How will you supplement it with other programming content or experiences?

    • Will you use any online tutorials?

    • Will you supplement with any CS unplugged activities?

    • Will you create any custom programming exercises yourself?

If you are participating in the you will consider similar questions for broader project activities.

✻ Schedule

Online Workshops | Week of July 12 - 16 | Approximately 1-2 hours a day, mostly on your schedule

Workshop Deliverable

Each cross-discipline workshop has a final deliverable, due by July 19, consisting of a completed project example and custom checklist for facilitating the project in class.

Live Zoom Sessions

For each workshop there are two scheduled zoom sessions. A zoom link will be added as the workshops approach.

Session 1: Welcome and Getting Started

Session 2: Sharing Progress and Help

✻ Short Projects for Any Class

Whether you teach math, language arts, history, or computer science – prepare for a short project that intersects computer science with any discipline.

Choose one (or more) of six workshops that introduce you to short projects of approximately 5 to 10 student hours. Each workshop will be offered July 12 - 16. These workshops allow 1) CS teachers that are already skilled in one area of CS to supplement their PBL/CS proficiencies, or 2) non-CS teachers a meaningful way to inject a small CS project into their class.

Workshop

Day/Time

Trivia Web App, Data Visualization, & Chatbot Web App Workshops

Monday June 7

1:00 pm - 2:00 pm

Wheeled Robot, Video Game, Internet of Things Workshops

Monday June 7

2:30 pm - 3:30 pm

Workshop

Day/Time

Trivia Web App

Wednesday June 9

11:30 pm - 12:30 pm

Chatbot Web App

Wednesday June 9

1:00 pm - 2:00 pm

Data Visualization

Wednesday June 9

2:30 pm - 3:30 pm

Wheeled Robot

Thursday June 10

11:30 pm - 12:30 pm

Video Game

Thursday June 10

1:00 pm - 2:00 pm

Internet of Things

Thursday June 10

2:30 pm - 3:30 pm

Workshop

Day/Time

Proposing Solutions in Computing Workshop Sketching and Prototyping in Computing Workshop

Product Evaluation in Computing Workshop

Monday July 12

1:00 pm - 2:00 pm

CS for Math & Science: Charting Data

CS for Language Arts: Natural Language Processing

Build a Flip Card App: Study Guide for Any Course

Monday July 12

2:30 pm - 3:30 pm

Workshop

Day/Time

Proposing Solutions in Computing Workshop

Wednesday July 14

11:30 am - 12:30 pm

Sketching and Prototyping in Computing Workshop

Wednesday July 14

1:00 pm - 2:00 pm

Product Evaluation in Computing Workshop

Wednesday July 14

2:30 pm - 3:30 pm

CS for Math & Science: Charting Data

Thursday July 15

11:30 am - 12:30 pm

CS for Language Arts: Natural Language Processing

Thursday July 15

1:00 pm - 2:00 pm

Build a Flip Card App: Study Guide for Any Course

Thursday July 15

2:30 pm - 3:30 pm

Workshop Prep
Live Zoom: Mon 1:00 pm ⏰
Programming Warm-Up ⏱
Teacher Insights
Program for Data Viz ⏱
Live Zoom: Wed 2:30 pm ⏰
Workshop Deliverables
Workshop Prep
Live Zoom: Mon 1:00 pm ⏰
Programming Warm-Up ⏱
Teacher Insights
Program a Chatbot ⏱
Live Zoom: Wed 1:00 pm ⏰
Workshop Deliverables

Workshop

Description

Proposing Solutions in Computing

Students investigate a problem, defining the key stakeholders and identifying the opportunities for improvement with computing technologies. Students will then generate proposals for presentation.

Business, Design, and Language Arts

Sketching and Prototyping in Computing

Students envision a new mobile application through sketches and generate a dynamic prototype (without coding) to evaluate their idea.

Engineering Design, Drawing and Art

Product Evaluation in Computing

Students conduct a careful study of an existing computer/phone product for usability and user experience. Students will synthesize a report or presentation to share their findings and recommendations.

Business, Design, Language Arts

CS for Math & Science: Charting Data

Students process and prepare data for visualization with a combination of spreadsheets and graphics software.

Math, Science, and Engineering

CS for Language Arts: Use Machine Learning to Analyze Writing

Students experiment with natural language processing techniques to analyze writing and evaluate the value and risk it brings.

Language Arts and Social Sciences

Build a Flip Card App Study Guide for Any Course

Students input course content for a flip card application and then style it for a fun and engaging experience.

Any Subject

Innovation Workshop
Innovation Workshop

Workshop Deliverables

Module 4 - Project Phase Three

EVALUATING & REFINING SOLUTIONS

Driving Question for Students: How effective is your solution and how will you improve it?

👉 Check the google drive resources for canvas templates you may want to use.

✓ Pilot Evaluation │ ✓ Final Release Development

Further evaluate the pilot release with stakeholders.

How will students conduct an evaluation of their pilot solution? Who will be participants in the evaluation?

Review the evaluation results and prioritize the fixes and improvements.

What will you require of students regarding the results of the evaluation?

Which CS standards are addressed in the identified activities for the project? 🔗IN CS Standards

GENERAL PURPOSE RESOURCES

  • Revisit Dr. Martin-Hammond's Video on Evaluation

  • Usability Evaluation Basics

  • Usability Testing

  • Running a Usability Test

We recommend that you create an example evaluation as one of the three artifacts for the workshop final deliverable.

✓ Final Release Launch and Promotion │ ✓ Poster Design

Launch the solution with a clear call to action through your promotion.

How will you expect students to promote their work broadly? How much time will be required to organize an event for student presentations (whether in-person, by live video, or recorded)?

Present the best artifacts to share the development story.

What expectations will you have on the narrative students provide in their presentations and demonstrations, and how will that map to a poster or similar visual?

✓ Individual Reflections │ ✓ Presentation Plan & Practice

Reflect on the experience and the impact on your future.

How and when will you have students prepare a reflection on the project? Will you have students be prepared to share reflections with visitors at an event?

Take the time to know your audience and delivery plan.

What format will you follow for the final presentation event? Will you ask visitors to judge for some category awards?

★ FINAL DEMONSTRATION & PRESENTATION

This is your time to show everybody what you have done and share your story.

How will you encourage students take ownership and pride in their presentations and demonstrations?

Program for Data Viz ⏱

👉 As you work through the following activities don't hesitate posting questions on Slack (#ws-programming-data-viz) and include a link to your Replit code when needed (or even a short video).

For Background: The Project Guidebook

While this workshop is focused on the programming aspect of project, you will want to review the full project guide book below to understand the context.

Three Paths to Visualizations

We offer three paths to work with data and present a visualization, each using a distinct programming language or platform. For your classroom you may choose one path for a single project, all three to provide to facilitate a sequence of projects, or provide students with a choice. Through your own review and work with this material you can determine a best path for your context.

Complete the web app sequence at a minimum, and then consider reviewing the spreadsheet and python exercises as well.

The web app applies HTML, CSS, and Javascript with a Spreadsheet (used simply for raw data) to support creating a data dashboard that works in a standard browser. This project is more popular and in depth that the other two options.

Core Dashboard Tutorial

Complete each of the steps below to get started with a dashboard.

For your database consider looking for some freely online data available in a CSV file format from sites like Kaggle.com.

Supplemental Documentation

The spreadsheet path is a gentler approach to creating a data visualization using a tool that many are comfortable with.

Python is often the choice for professional data scientists and machine learning programmers, making it a great option to onboard students into high-demand disciplines. But this approach may prove to be more difficult to find entry-level coding material online, requiring a more adventurous perspective for beginner or novice programmers.

Well done! Share links of any visualizations you have created on Slack!

Planning for Student Success

Now that you have experience with programming for this project...

  • Consider how you will approach classroom management when students are completing a tutorial like this one.

    • What will be your expectations?

    • How much will be individual work versus team work?

    • Will you assign any code champions to help you support students with questions?

  • How will you supplement it with other programming content or experiences?

    • Will you use any online tutorials?

    • Will you supplement with any CS unplugged activities?

    • Will you create any custom programming exercises yourself?

If you are participating in the Innovation Workshop you will consider similar questions for broader project activities.

Programming Warm-Up ⏱

All programming workshops will use the same warm up, linked below.

Programming Warm-Up ⏱

All programming workshops will use the same warm up, linked below.

Live Zoom: Mon 1:00 pm ⏰

Agenda (1 hour)

  • Welcome and Introductions

  • Quick Survey

  • Review of Workshop Format and Sequence

  • Key Pointers

    • Sharing Code via Slack

    • Searching the Internet for Code Help

    • Online Tutorials and Other Resources

    • Look for Patterns and Analogies You Can Identify With

  • Information on School of Informatics and Computing Degrees

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Live Zoom: Thur 1:00 pm ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Review Instructions for Final Deliverables

  • Discuss Progress and Concerns Identified During the Week

    • TBD

    • TBD

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Programming Warm-Up ⏱
Programming Warm-Up ⏱

Live Zoom: Wed 2:30 pm ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Review Instructions for Final Deliverables

  • Discuss Progress and Concerns Identified During the Week

    • TBD

    • TBD

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

Live Zoom: Mon 2:30 pm ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Introductions

  • Review of Workshop Format and Sequence

  • Key Pointers

    • Sharing Code via Slack

    • Feel Free to Use Video Too

    • Look for Patterns and Analogies You Can Identify With

  • Information on School of Informatics and Computing Degrees

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

https://www.herronhighschool.org/person/matthew-baron/www.herronhighschool.org
In this video Luke provides guidance on how to manage students as they work on projects.
In this video Luke provides insight on teaching computer science, especially if you are fairly new to programming and learning a lot as well.
Luke Jones: People: Purdue School of Engineering & Technology: IUPUIPurdue School of Engineering & Technology
https://www.herronhighschool.org/person/matthew-baron/www.herronhighschool.org
In this video Luke provides guidance on how to manage students as they work on projects.
In this video Luke provides insight on teaching computer science, especially if you are fairly new to programming and learning a lot as well.
Luke Jones: People: Purdue School of Engineering & Technology: IUPUIPurdue School of Engineering & Technology
https://www.herronhighschool.org/person/matthew-baron/www.herronhighschool.org
In this video Luke provides guidance on how to manage students as they work on projects.
In this video Luke provides insight on teaching computer science, especially if you are fairly new to programming and learning a lot as well.
Luke Jones: People: Purdue School of Engineering & Technology: IUPUIPurdue School of Engineering & Technology
https://www.herronhighschool.org/person/matthew-baron/www.herronhighschool.org
In this video Luke provides guidance on how to manage students as they work on projects.
In this video Luke provides insight on teaching computer science, especially if you are fairly new to programming and learning a lot as well.
Luke Jones: People: Purdue School of Engineering & Technology: IUPUIPurdue School of Engineering & Technology
https://www.herronhighschool.org/person/matthew-baron/www.herronhighschool.org
In this video Luke provides guidance on how to manage students as they work on projects.
In this video Luke provides insight on teaching computer science, especially if you are fairly new to programming and learning a lot as well.
Luke Jones: People: Purdue School of Engineering & Technology: IUPUIPurdue School of Engineering & Technology
Galleries

Proposing Solutions in Computing

Welcome and Getting Started

Project Guide

While the project guide, linked below, can be used as-is in your classroom, you will likely want to adapt the instructions to meet the specific needs of your course context and objectives. Feel free to use any portion of the material in your own documentation.

Workshop Agenda

  1. Attend the live Zoom session on Monday July 12, 1:00 pm - 2:00 pm EDT ⏰ The Zoom link will be provided in Slack.

  2. Follow the project guide and complete an example project to meet your student expectations, as you construct any adapted project instructions documents you will use for your course. Use our Slack channel #cross-propose-solutions to post questions/answers, to share things you have created or to share additional resources you have found.

  3. Attend the live Zoom session on Wednesday July 14, 11:30 am - 12:30 pm EDT ⏰ The same Zoom link will be used for this meeting

  4. Continue posting questions and sharing success in Slack #cross-propose-solutions as you complete your project example and adapted project instructions.

  5. Submit your project example and adapted project instructions for the workshop deliverable. 🎉 The link below is for submitting your deliverable by the August 7, 2020 deadline.

✻ Choosing a Programming WS

Choose from six workshops specifically focused on the tasks of programming and building.

These six workshops will run concurrently for one week, June 7 -11. If you intend to teach a full year course, we recommend you choose two programming workshops during this week.

Choose From Six Programming Workshops

Trivia Web App: Build a trivia game using HTML/CSS/JavaScript with a question and answers database managed in a spreadsheet. We highly recommend the trivia app for the first time experience with Computing by Design projects. Recommended for Grades 6-12. Learn more >

Chatbot: Create a chatbot script with decision logic to interact with visitors in a browser. Customize the visual experience and connect it to a back-end database using a spreadsheet. Recommended for Grades 6-12. Learn more >

Wheeled Robot: Assemble and program a wheeled robot that can respond to the environment through various sensors. Recommended for Grades 6-12. Learn more >

Video Game: Develop a browser-based video game using the Phaser JS library and incorporate custom visual and sound assets to make the experience come alive. Recommended for Grades 10-12. Learn more >

Internet of Things (IoT): Build and program an electronics board with sensors and outputs that can communicate with a web application over the internet. Recommended for Grades 10-12. Learn more >

Data Visualization: Compose a data visualization that tells a story through charts and narrative. Prepare the data and use SQL with HTML/CSS/JavaScript to create a shareable experience through a browser. Recommended for Grades 10-12. Learn more >

✻ Managing CS Projects in Class

Online Workshop | 3 Full Days June 28-30

Focus on the classroom management practices and assessment strategies for project-based learning.

In partnership with PBLWorks, a full three-day online workshop (PBL 101) will be offered to prepare you with classroom management and project assessment strategies. The workshop will be offered June 28 - 30. More information on the PBL 101 Workshop can be found here.

The PBLWorks workshop will be consistent with a computer science centric approach in project-based learning, applying techniques common in computer science disciplines and standards related to problem-solving with data, design, and programming.

E. Detect Lines on SurfaceCode: Robotics
B. Hello World TestCode: Robotics
A. Meet Your RobotCode: Robotics
C. Driving and TurningCode: Robotics
F. Detect Other ConditionsCode: Robotics
D. Detect Objects in PathCode: Robotics

✻ Prepare a Full CS Experience

Prepare for a full-semester PBL experience in computer science engaging the breadth of work in building a product using design, data, and programming.

The Computing by Design Innovation Workshop will cover the development of computer science projects through a three-phase process that goes from researching a problem, building a solution, and evaluating the solution. The project framework and prepared material will provide the guidance needed to plan a semester experience regardless of which technology the project employs. The online workshops will be largely conducted asynchronously with two live meetings scheduled.

Robotics Programming Workshop Deliverables

Workshop Deliverables

For the programming workshops we simply request that you submit the following two items.

  1. A link to your working code (e.g. replit.com) that demonstrates completion and customization of tutorial material.

  2. A summary of your classroom plan

    • Consider how you will approach classroom management when students are completing a tutorial like this one.

      • What will be your expectations?

      • How much will be individual work versus team work?

      • Will you assign any code champions to help you support students with questions?

    • How will you supplement it with other programming content or experiences?

      • Will you use any online tutorials?

      • Will you supplement with any CS unplugged activities?

      • Will you create any custom programming exercises yourself?

Submit using the link below...

The code to submit will be shared in Slack.

Programming Warm-Up ⏱

An exercise to review (or introduce) you to some key concepts in programming.

The Big Picture

A program can be defined simply as a set of instructions that perform defined tasks, and we can use the diagram below to frame the major components of a program. A program can be written to accept particular inputs, like a mouse click, sound from a microphone, or a reading from a temperature sensor. The same program can handle the storage and retrieval of data, like to do items or historical temperature data. The same program can then output something useful, like a current to do list or move robot wheels. Multiple functions are written to control and process everything towards some useful end, each function handling a particular task.

Consider planning an in-class activity where students diagram a computing application (whether a social app, an AI driven tractor, or a video game console). Have them consider what inputs, data, and outputs the program includes. While the students will not know exactly how the engineers designed the application, they can come up with some specific function names to guess how the application processes the information. For example, a phone may have a function called "changeScreenBrightness" that takes the light sensor input to update the screen's brightness (output) based on a stored user preference (data).

Programming Languages

This exercise will use JavaScript, the primary programming language for web applications that work in a standard browser. There are many other popular programming languages. A particular language is chosen for implementation based on several factors related to the context of the need. Here are a few you may have heard of -- Python, Java (different from JavaScript!), Arduino, C++ and C#. Note: While HTML and CSS are languages with a defined syntax, they are usually distinguished from programming languages that provide computation and functions.

Let's Program: Variables, Functions, Conditionals, and Objects

This exercise takes a direct approach to prepare you for programming a CxD project by taking an "application first" perspective. We will frame this introduction by creating a simplified To Do Application using Javascript.

You are highly encouraged to build (and experiment with) the program as demonstrated in the video to get a feel for the programming. Also, remember to also try some online tutorials as a supplemental experience as explained in the Workshop Prep.

Declare Variables and Use a Built-in Function

First, in our script.js file, let's declare some variables of different data types and set their values.

  • todo is a string

  • time is a number

  • isComplete is a boolean (true or false).

Then we use a built-in function console.log() to display the values.

Define a Custom Function

Here we define a custom function displayTodos(). This allows us to call (or invoke) the function whenever we want.

Use a Conditional Statement

Here we use a conditional statement (using if/else) to customize the output.

Use an Object

Here we will use a single object variable to hold all the data for a particular to-do item.

JavaScript Arrays

Make a List (or Array)

Here we will use an array and for-loop to list multiple to-do items. We will ignore the time and completion data for now.

Make an Array of Objects

Here we will combine our use of an array with objects. This is the most difficult concept of this exercise and may take some time to digest. But it demonstrates a lot of powerful programming concepts in a very small program. 🚀🚀🚀🚀

🎉Congratulations for making it through so many programming concepts in a short time!

Wrap-Up

That's our warm-up. Whether you found these concepts incredibly difficult or mostly review, please don't hesitate posting questions along with a link to your replit code in our Slack channel for the workshop.

Program a Trivia App ⏱

Let's program a customized trivia app in three steps!

👉 As you work through the following activities don't hesitate posting questions on Slack (#ws-programming-trivia) and include a link to your replit when needed.

1 Complete the Template Build Tutorial

2 Create a Custom Question Database

3 Make Five Custom Modifications to Your Trivia Game

🎉 Well done! Be sure to share what you created on Slack!

Planning for Student Success

Now that you have experience with programming for this project...

  • Consider how you will approach classroom management when students are completing a tutorial like this one.

    • What will be your expectations?

    • How much will be individual work versus team work?

    • Will you assign any code champions to help you support students with questions?

  • How will you supplement it with other programming content or experiences?

    • Will you use any online tutorials?

    • Will you supplement with any CS unplugged activities?

    • Will you create any custom programming exercises yourself?

If you are participating in the you will consider similar questions for broader project activities.

Product Evaluation in Computing

Welcome and Getting Started

Project Guide

While the project guide, linked below, can be used as-is in your classroom, you will likely want to adapt the instructions to meet the specific needs of your course context and objectives. Feel free to use any portion of the material in your own documentation.

Workshop Agenda

  1. Attend the live Zoom session on Monday July 12, 1:00 pm - 2:00 pm EDT ⏰ The Zoom link will be provided in Slack.

  2. Follow the project guide and complete an example project to meet your student expectations, as you construct any adapted project instructions documents you will use for your course. Use our Slack channel #cross-product-eval to post questions/answers, to share things you have created or to share additional resources you have found.

  3. Attend the live Zoom session on Wednesday July 14, 2:30 pm - 3:30 pm EDT ⏰ The same Zoom link will be used for this meeting

  4. Continue posting questions and sharing success in Slack #cross-product-eval as you complete your project example and adapted project instructions.

  5. Submit your project example and adapted project instructions for the workshop deliverable. 🎉 The link below is for submitting your deliverable by the August 7, 2020 deadline.

Teacher Insights

Here you will find various insights from teachers and programmers on how to approach teaching in computer science and a project-based perspective. Borrow, adapt and curate the ideas presented to help you develop your unique approach. Don't hesitate asking question in Slack on any of these ideas.

Angela Jones

Angela is the CT Instructional Coach at Arsenal Tech High School in Indianapolis and an experienced Computing by Design teacher as part of the iDEW program.

On Enjoying the Journey

Luke Jones

On Developing Content Knowledge

On Managing Student Success

Matthew Baron

On Scaffolding and Scrum

Travis Faas

On Practical Approaches to Programming for Beginners

Build a Flash Card App Study Guide for Any Course

Welcome and Getting Started

Project Guide

While the project guide, linked below, can be used as-is in your classroom, you will likely want to adapt the instructions to meet the specific needs of your course context and objectives. Feel free to use any portion of the material in your own documentation.

Workshop Agenda

  1. Attend the live Zoom session on Monday July 12, 2:30 pm - 3:30 pm EDT ⏰ The Zoom link will be provided in Slack.

  2. Follow the project guide and complete an example project to meet your student expectations, as you construct any adapted project instructions documents you will use for your course. Use our Slack channel #cross-flip-card to post questions/answers, to share things you have created or to share additional resources you have found.

  3. Attend the live Zoom session on Thursday July 15, 2:30 pm - 3:30 pm EDT ⏰ The same Zoom link will be used for this meeting

  4. Continue posting questions and sharing success in Slack #cross-flip-card as you complete your project example and adapted project instructions.

  5. Submit your project example and adapted project instructions for the workshop deliverable. 🎉 The link below is for submitting your deliverable by the August 7, 2020 deadline.

✻ NOTE: For those participating in multiple programming workshops, this video is used in all programming workshop sequences. So, if it looks familiar, you may have already seen this.
✻ NOTE: For those participating in multiple programming workshops, this video is used in all programming workshop sequences. So, if it looks familiar, you may have already seen this.

Live Zoom: Wed 1:00 pm ⏰

Agenda (1 hour)

  • Welcome

  • Quick Survey

  • Review Instructions for Final Deliverables

  • Discuss Progress and Concerns Identified During the Week

    • TBD

    • TBD

  • Open Discussion and Wrap Up

The Zoom link will be posted in Slack workshop channel.

script.js
//declare some variables for our data
var todo = "Walk the dog.";
var time = 30;
var isComplete = false;

//use a built-in function `console.log()` to output values
console.log(todo); 
console.log(time);
console.log(isComplete);
script.js
//declare some variables for our data
var todo = "Walk the dog.";
var time = 30;
var isComplete = false;

//define a custom function to output to do's
function displayTodos() {
  console.log(todo);
  console.log(time);
  console.log(isComplete);
}

//call (or invoke) the displayTodos() function to actually run it
displayTodos();
script.js
//declare some variables for our data
var todo = "Walk the dog.";
var time = 30;
var isComplete = false;

//define a custom function to output to do's
function displayTodos() {
  console.log(todo);
  console.log(time);
  
  //customize the output based on whether it is complete
  if (isComplete) {
    console.log("This is complete.");
  }
  else {
    console.log("This is not complete");
  }
}

//call (or invoke) the displayTodos() function to actually run it
displayTodos();
script.js
//declare a variable for our data
var todo = {
  text: "Walk the dog.",
  time: 30,
  isComplete: false
};

//define a custom function to output to do's
function displayTodos() {
  console.log(todo.text);
  console.log(todo.time);
  
  //customize the output based on whether it is complete
  if (todo.isComplete) {
    console.log("This is complete.");
  }
  else {
    console.log("This is not complete");
  }
}

//call (or invoke) the displayTodos() function to actually run it
displayTodos();
script.js
//declare a variable
var todos = ["Walk the dog.","Go to grocery.","Call mom."];

//define a custom function to display to do's
function displayTodos() {
  todos.forEach(function(todo) {
    console.log(todo);
  })
}

//call (or invoke) the displayTodos() function to actually run it
displayTodos();
script.js
//declare a variable
var todos = [
  {
    text: "Walk the dog.",
    time: 30
  },
  {
    text: "Go to grocery.",
    time: 60
  },
];

//define a custom function to display to do's
function displayTodos() {
  todos.forEach(function (todo) {
    console.log("---");
    console.log(todo.text);
    console.log(todo.time + " minutes");
  })
}

//call (or invoke) the displayTodos() function to actually run it
displayTodos();
Travis Faas, M.S.School of Informatics and Computing : IUPUI
Logo
Travis Faas, M.S.School of Informatics and Computing : IUPUI
Logo
Travis Faas, M.S.School of Informatics and Computing : IUPUI
Logo
Travis Faas, M.S.School of Informatics and Computing : IUPUI
Logo
Travis Faas, M.S.School of Informatics and Computing : IUPUI
Logo
Trivia App Programming Workshop Deliverable
Computing by Design (CxD)Computing by Design
CS for Math & Science: Charting DataCxD Cross-Disciplinary
CS for Math & Science: Charting Data
CS for Language Arts: Use Machine Learning to Analyze Writing
CS for Language Arts: Use Machine Learning to Analyze WritingCxD Cross-Disciplinary
Data Viz Programming Workshop Deliverable
Innovation Workshop Deliverable
Innovation Workshop
Luke Jones: People: Purdue School of Engineering & Technology: IUPUIPurdue School of Engineering & Technology
In this video Luke provides insight on teaching computer science, especially if you are fairly new to programming and learning a lot as well.
In this video Luke provides guidance on how to manage students as they work on projects.
https://www.herronhighschool.org/person/matthew-baron/www.herronhighschool.org
Travis Faas, M.S.School of Informatics and Computing : IUPUI

About Us

The Computing by Design Workshop Team

Jim Lyst

Faculty at the School of Informatics and Computing at IUPUI

Drawing on 15 years of industry experience as an engineer and designer, plus over 10 years of teaching experience, Jim focuses on enhancing the continuity between learning experiences and industry practices to provide students a clear path to impactful work in STEM fields. He is a key contributor to the Computing by Design framework and project material. https://www.linkedin.com/in/jlyst/

Vicki Daugherty

Program Manager and Diversity Coordinator

Joining IUPUI in 1995, Vicki Daugherty is the program manager for Informatics Diversity Enhanced Workforce (iDEW) and diversity coordinator at the IU School of Informatics and Computing at IUPUI. Computing by Design (CxD) is a product of the iDEW program. https://www.linkedin.com/in/vicki-daugherty-2b86308/

Dr. Mathew Palakal

Senior Executive Associate Dean of School of Informatics and Computing at IUPUI

Dr. Mathew Palakal **is a professor of Informatics in the IU School of Informatics & Computing (SoIC) and Senior Executive Associate Dean of SoIC at IUPUI. His primary research is in artificial intelligence and machine learning. His passion is to bridge the gap of underserved-underrepresented minority populations in the IT workforce. He was a key architect of the Informatics Diversity Enhanced Workforce (iDEW) program that uses the Computing by Design (CxD) curriculum. iDEW was implemented five years ago in three Indianapolis high schools with 70 students, to broaden IT-workforce participation. Nearly 1,700 students have taken CxD courses in 100 classes at eight high schools to date. The iDEW program has received +$2.1 million in corporate/foundation funding, and a Skill-Up grant from the Indiana Dept. of Workforce Development.

Instructor Team

Dr. Aqueasha Martin-Hammond

Matthew Baron

Travis Faas

Dylan Follett

Dylan is a computer science teacher at the McKenzie Center for Innovation & Technology at the Metropolitan School District of Lawrence Township in Indianapolis.

Angela Jones

Angela is the CT Instructional Coach at Arsenal Tech High School in Indianapolis and an experienced Computing by Design teacher as part of the iDEW program.

Luke Jones

SoIC Student and Graduate Mentors

Sahar Abdullah

Rebekah Holcomb

Abby Markel

Miguel Olivares

Dylan Puckett

Workshop Prep

Background and Recommended Classroom Approach

✻ NOTE: For those participating in multiple programming workshops, this video is used in all programming workshop sequences. So, if it looks familiar, you may have already seen this.

Background on Computing by Design Framework

This workshop is focused squarely on the programming component of a CxD Project. For a little bit of background, you will find that the Computing by Design framework is project-centric in the approach.

Each project has three phases, where programming is a very important component of all three. Our Innovation Workshop covers the breadth of the Computing by Design framework. We have found that the programming in any project presents a fine line between a wonderfully empowering experience (when students struggle and get things working) and a sometimes frustrating experience that becomes a missed opportunity. Therefore we are offering these programming workshops to provide a solid foundation on building the applications.

Learning to Program: A Two-Pronged Approach

We encourage you to offer students a two-pronged approach to learning to program. Computing by Design projects provide an "application first" approach to programming where students are provided direct guidance on creating a specific type of application through templates and tutorials -- like with trivia , a chatbot, IoT etc. This approach complements the many great tutorials available online that provide a "concept first" approach by stepping through concepts in programming. Facilitating both approaches for students provides a varied experience -- strengthening knowledge and offering more opportunities to ignite interests.

Identify an online tutorial site that you can use in your classroom to supplement any project work. Over the course of the workshop try out a few basic online programming tutorials from popular sites to facilitate this "concept first" approach, and consider how you might manage a self-paced assignment based on milestones. How might you use these self-guided tutorials as "filler time" or dedicate scheduled time to their completion?

Getting Started with Slack

Slack will be our primary communication platform for the workshop. The video above provides a brief introduction on the features of Slack, but more help and tutorials can be found at https://slack.com/help.

Getting Started with Arduino Create Editor

Our robot will be programmed using the Arduino programming language. We recommend using the Arduino Create web-based programming environment through the browser. There is an option to download a native application as well. This is just a quick intro. We will cover much more later in the workshop.

👉 Use these instructions to setup your Arduino account for the web editor.

Sample Code Used in Video Demo
int LED = 13;

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(500);
}

Workshop Prep

Background and Recommended Classroom Approach

✻ NOTE: For those participating in multiple programming workshops, this video is used in all programming workshop sequences. So, if it looks familiar, you may have already seen this.

Background on Computing by Design Framework

This workshop is focused squarely on the programming component of a CxD Project. For a little bit of background, you will find that the Computing by Design framework is project-centric in the approach.

Each project has three phases, where programming is a very important component of all three. Our Innovation Workshop covers the breadth of the Computing by Design framework. We have found that the programming in any project presents a fine line between a wonderfully empowering experience (when students struggle and get things working) and a sometimes frustrating experience that becomes a missed opportunity. Therefore we are offering these programming workshops to provide a solid foundation on building the applications.

Learning to Program: A Two-Pronged Approach

We encourage you to offer students a two-pronged approach to learning to program. Computing by Design projects provide an "application first" approach to programming where students are provided direct guidance on creating a specific type of application through templates and tutorials -- like with trivia , a chatbot, IoT etc. This approach complements the many great tutorials available online that provide a "concept first" approach by stepping through concepts in programming. Facilitating both approaches for students provides a varied experience -- strengthening knowledge and offering more opportunities to ignite interests.

Identify an online tutorial site that you can use in your classroom to supplement any project work. Over the course of the workshop try out a few basic online programming tutorials from popular sites to facilitate this "concept first" approach, and consider how you might manage a self-paced assignment based on milestones. How might you use these self-guided tutorials as "filler time" or dedicate scheduled time to their completion?

Getting Started with Slack

Slack will be our primary communication platform for the workshop. The video above provides a brief introduction on the features of Slack, but more help and tutorials can be found at https://slack.com/help.

Getting Started with Replit

Replit is the recommended programming environment for many of our projects. The video above provides a brief introduction on the features of Replit, but more help and tutorials can be found at https://docs.replit.com/.

Wheeled Robot

A great programming experience that is truly hands-on

Welcome 👋

Programming Workshop Sequence (June 7 - 11, 2021)

This workshop is largely asynchronous, providing you flexibility to complete things on a schedule that works for you. Below you will find the sequence of events and videos for the workshop. Notice the two live Zoom sessions on Monday at 2:30 pm and Thursday at 11:30 am. Otherwise we will use Slack for discussions and impromptu Zoom meetings as needed. Please don't hesitate posting a message on Slack for help.

All posted times are Eastern Daylight Time (EDT)

Workshop Resources

  • Slack Channel: #ws-programming-robot in the CxD 2021 Slack Workspace

  • Documentation Link: Robot Code Reference and Tutorials

  • Programming Platform: Arduino Create is the the recommended programming platform.

  • Zoom Video Conferences: A link will be provided on Slack

Video Game Programming Workshop Deliverables

Module 1 - Introduction

Welcome 👋

Computing by Design (CxD) is a collection of project guidebooks for use in middle school and high school computer science courses. In each project, student teams collaboratively design and build a solution to a problem within a particular context using a specific technology — from chatbots to data visualizations.

For this workshop we will go through the three phases of the while addressing the similarities and differences among the six detailed projects offered. We will discuss how you can adapt the provided project instructions for your context or even substitute another technology within the project framework.

Identify one (or more) of the six Computing by Design projects that you will use to follow along in this workshop. Access to each of the projects can be found on the page linked below. 👇👇👇

The Computing by Design Approach

Technical agility, collaborative know-how, and constant curiosity are required traits to influence the modern world. We believe that K-12 learning (and doing) should reflect practices in industry, where deep collaboration and problem solving produce concepts that leverage the power of computing in a thoughtful way.

Six years after introducing the Computing by Design approach, the skills trend is still evident from research, like the Future of Jobs Report 2020 from the World Economic Forum.

Source: The Future of Jobs Report, 20 October 2020, World Economic Forum

Review the computer science standards and become familiar with the organization. Consider how will you track your coverage of them in the classroom.

Student preparation for innovative work should include the following elements. Notice the consistency with a professional's ongoing activities.

  1. Technical Skill - Students must develop a particular skillset that provides value to teams. While students will engage three domains -- programming, data/business analysis, and design -- we advocate building a deeper expertise in at least one of the three domains. Continuous improvement of skills is a life-long pursuit.

  2. Collaboration Skills - Students must learn to contribute to solutions in teams. An individual's technical capacity can flourish or flail depending on team dynamics. Supporting authentic collaboration at schools is a focus of the Computing by Design framework.

  3. Broad Domain Awareness - Students must maintain a clear awareness of careers and technological trends in order to identify opportunities and interests in a changing world. We encourage students to create reports on trends and careers in technology, as well as getting first-hand exposure to professionals through in-class visitors and field trips to industry.

Computing by Design (CxD) is a framework for project-based learning, providing student teams direction and support for solving problems in a particular context. Each project complements parallel activities for students to build technical expertise and explore related technical trends.

CxD projects allow students to engage technological development using an interdisciplinary perspective. Students develop skills and envision their unique voice in producing novel solutions, whether through code, data, or interaction design. Each project directs students to consider the larger context of development, thoughtfully creating systems that meet valued goals.

Each CxD project involves a sequence of three phases, each having its own driving question to help guide students towards solving the larger challenge. The the listed tasks can be applied generally across different problem domains or technologies, but each will be tailored for the particular problem context. Each phase culminates in a presentation of a team's results for that phase.

1. DEFINE PROBLEM & VALUE PROPOSITION

Driving Question: Which problem will you solve and what improvement do you propose?

2. DESIGN & BUILD SOLUTION

Driving Question: What specific solution will you provide and how will you design and build it?

3. EVALUATE & REFINE SOLUTION

Driving Question: How effective is your solution and how will you improve it?

Innovation in the Classroom

At the heart of every innovation is a problem that must be solved for stakeholders that provides a clear improvement over current practices.

Innovators must be able to think deeply and shift gears between analytical, creative, and decisive thinking. Innovators must be able to act individually and cooperatively to succeed.

Other resources to consider: ,

The Computing by Design project framework provides several distinct opportunities for students to engage the broader community. Throughout the workshop consider how you can facilitate activities the bring students and the community together in authentic ways.

Module 2 - Project Phase One

DEFINING PROBLEMS & VALUE PROPOSITIONS

Driving Question for Students: Which problem will you solve and what improvement do you propose?

Recall the basic anatomy of a problem discussed earlier...

In this phase students will develop a model of the problem through research and analysis, consider a diverse set of ideas for solving the problem, and then deliver a proposal for further development.

Each project will address the elements in the canvas below, often using very similar methods but adapted for the context.

Here is an example canvas with notes.

👉 Check the for canvas templates you may want to use.

✓ Problem Definition & Importance │ ✓ Technology Experimentation & Summary

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

Identify the project activities that analyze and describe the problem context and stakeholders.

How might you define the project challenge? Will it be narrowly scoped or more open? How accessible are stakeholders and the problem context to the students?

Identify the project activities that help students understand the available resources and technology that may be part of their solution.

How will you facilitate the tutorials or experiments with the programming and technology? How proficient will students need to be with the technology to begin defining the problem and ideas for solving it?

Which CS standards are addressed in the identified activities for the project?

GENERAL PURPOSE RESOURCES

✓ Initial Ideas & Evaluation │ ✓ Existing Solution Analysis

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

Identify the activities that help students consider a diverse set of solutions and evaluate each for potential.

How much time should you set aside for ideation? Will you give student's individual time to develop ideas and then facilitate group activities around those ideas?

Identify the activities that help students analyze and evaluate existing solutions and then borrow or synthesize ideas.

Will you have students do a competitive analysis or a slightly different approach? How might you discuss the incremental process of innovation that happens through competitive markets or published research?

Which CS standards are addressed in these activities?

GENERAL PURPOSE RESOURCES

  • & &

  • (Entrepreneur Article)

✓ Stakeholder Profiles & Narratives │ ✓ Value Proposition & Potential Features Map

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

Identify activities that help students meet stakeholders and co-develop an accurate narrative about the problem and proposed solution.

How accessible are stakeholders and the problem context to the students? What methods (surveys, virtual interviews, or in-class discussions) do you foresee working in your context?

Identify activities that help students define a compelling value proposition and the intended features of the solution.

How much detail will you expect in student proposals? How might you discuss the provisional nature of concept proposals, in that they can change as they learn more?

Which CS standards are addressed in these activities?

GENERAL PURPOSE RESOURCES

  • .

★ PROPOSAL PRESENTATION

We recommend that you complete an example proposal as one of the three artifacts for the .

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

What is your plan to help students present a succinct proposal and collect further feedback on their proposal?

Will students generate videos for review by others? Might you facilitate a live video conference? Could you coordinate an in-class event?

Which CS standards are addressed in creating the proposal?

GENERAL PURPOSE RESOURCES

  • for a proposal

  • (Look for "Proposal" galleries)

Workshop Prep

Background and Recommended Classroom Approach

Background on Computing by Design Framework

This workshop is focused squarely on the programming component of a CxD Project. For a little bit of background, you will find that the Computing by Design framework is project-centric in the approach.

Each project has three phases, where programming is a very important component of all three. Our covers the breadth of the Computing by Design framework. We have found that the programming in any project presents a fine line between a wonderfully empowering experience (when students struggle and get things working) and a sometimes frustrating experience that becomes a missed opportunity. Therefore we are offering these programming workshops to provide a solid foundation on building the applications.

Learning to Program: A Two-Pronged Approach

We encourage you to offer students a two-pronged approach to learning to program. Computing by Design projects provide an "application first" approach to programming where students are provided direct guidance on creating a specific type of application through templates and tutorials -- like with trivia , a chatbot, IoT etc. This approach complements the many great tutorials available online that provide a "concept first" approach by stepping through concepts in programming. Facilitating both approaches for students provides a varied experience -- strengthening knowledge and offering more opportunities to ignite interests.

Identify an online tutorial site that you can use in your classroom to supplement any project work. Over the course of the workshop try out a few basic online programming tutorials from popular sites to facilitate this "concept first" approach, and consider how you might manage a self-paced assignment based on milestones. How might you use these self-guided tutorials as "filler time" or dedicate scheduled time to their completion?

Getting Started with Slack

Slack will be our primary communication platform for the workshop. The video above provides a brief introduction on the features of Slack, but more help and tutorials can be found at .

Getting Started with Replit

Replit is the recommended programming environment for many of our projects. The video above provides a brief introduction on the features of Replit, but more help and tutorials can be found at .

Logo
Logo
Logo
Logo
Logo
Logo
Logo
Workshop Prep
Live Zoom: Mon 2:30 pm ⏰
Programming Warm-Up ⏱
Teacher Insights
Program a Robot ⏱
Live Zoom: Thur 11:30 am ⏰
Workshop Deliverables
https://www.herronhighschool.org/person/matthew-baron/www.herronhighschool.org
Travis Faas, M.S.School of Informatics and Computing : IUPUI
Luke Jones: People: Purdue School of Engineering & Technology: IUPUIPurdue School of Engineering & Technology
https://www.doe.in.gov/sites/default/files/wf-stem/ind-k-12-computer-science-standards.pdfwww.doe.in.gov
Matching GameVideo Game: Code Reference
Top-Down GameVideo Game: Code Reference
Side-Scrolling GameVideo Game: Code Reference
Hello PhaserVideo Game: Code Reference
3 Get Familiar with RivescriptCode: Chatbot
1 Code TemplateCode: Chatbot
Code ModsCode: Chatbot
standard project outline
https://www.weforum.org/reports/the-future-of-jobs-report-2020/in-full/infographics-e4e69e4de7
https://trello.com
https://miro.com
Computing by Design (CxD)Computing by Design
https://www.doe.in.gov/sites/default/files/wf-stem/ind-k-12-computer-science-standards.pdfwww.doe.in.gov
google drive resources
🔗IN CS Standards
Interviewing Users from Nielsen Norman Group
🔗IN CS Standards
Storyboards Help Visualize UX Ideas
Etch A Sketch: How to Use Sketching in User Experience Design
this video
this video
Sketch Templates for Phone, Tablet, and Desktop
Decision matrix
Intellectual Honesty
Thinking Hats (DIYtoolkit.org)
🔗IN CS Standards
Personas Make Users Memorable for Product Team Members from Nielsen Norman Group
Value Propositions
Persona Template
Feature Mapping Template
User Story Mapping and How to Use it (Lucid Chart Article)
The Elements of Value (HBR Article)
workshop final deliverable
🔗IN CS Standards
7 TIPS FOR PROPOSALS, PITCHES AND PRESENTATIONS
Example slides
Student work galleries
Innovation Workshop
https://slack.com/help
https://docs.replit.com/
✻ NOTE: For those participating in multiple programming workshops, this video is used in all programming workshop sequences. So, if it looks familiar, you may have already seen this.

Video Game

Programming that comes to life on the screen

Welcome 👋

Programming Workshop Agenda (June 7 - 11, 2021)

This workshop is largely asynchronous, providing you flexibility to complete things on a schedule that works for you. Below you will find the sequence of events and videos for the workshop. Notice the two live Zoom sessions on Monday at 2:30 pm and Thursday at 1:00 pm. Otherwise we will use Slack for discussions and impromptu Zoom meetings as needed. Please don't hesitate posting a message on Slack for help.

All posted times are Eastern Daylight Time (EDT)

Workshop Resources

  • Slack Channel: #ws-programming-video-game in the CxD 2021 Slack Workspace

  • Documentation Link: Video Game Code Reference and Tutorials

  • Programming Platform: Replit.com is the recommended programming platform

  • Zoom Video Conferences: Link will be provided on Slack

The ChallengeProject: Data Visualization 2
Getting StartedCode: Web App Data Visualization

✻ Schedule

Online Workshop | Two Weeks - June 14 - 25 | Approximately 1-2 hours a day, mostly on your schedule

Workshop Final Deliverable

Each workshop cohort has a , due by July 12, consisting of a sampling of example student deliverables and a plan outline for facilitating a project in the classroom.

Slack Workspace

We will use the #ws-innovation channel for communication.

Live Zoom Sessions

We will have four one-hour Zoom sessions over our two-week workshop. Choose one of the three cohort schedules that works best for you.

Cohort 1

Cohort 2

Cohort 3

Session

Day/Time

Welcome and Getting Started with Module 1

Monday June 14

11:30 pm - 12:30 pm

Sharing Progress and Continuing to Module 2

Thursday June 17

11:30 pm - 12:30 pm

Sharing Progress and Continuing to Module 3

Monday June 21

11:30 pm - 12:30 pm

Sharing Progress and Continuing to Module 4

Thursday June 24

11:30 pm - 12:30 pm

Session

Day/Time

Welcome and Getting Started with Module 1

Monday June 14

1:00 pm - 2:00 pm

Sharing Progress and Continuing to Module 2

Thursday June 17

1:00 pm - 2:00 pm

Sharing Progress and Continuing to Module 3

Monday June 21

1:00 pm - 2:00 pm

Sharing Progress and Continuing to Module 4

Thursday June 24

1:00 pm - 2:00 pm

Session

Day/Time

Welcome and Getting Started with Module 1

Monday June 14

2:30 pm - 3:30 pm

Sharing Progress and Continuing to Module 2

Thursday June 17

2:30 pm - 3:30 pm

Sharing Progress and Continuing to Module 3

Monday June 21

2:30 pm - 3:30 pm

Sharing Progress and Continuing to Module 4

Thursday June 24

2:30 pm - 3:30 pm

final deliverable
Workshop Prep
Live Zoom: Mon 2:30 pm ⏰
Programming Warm-Up ⏱
Teacher Insights
Program a Video Game ⏱
Live Zoom: Thur 1:00 pm ⏰
Workshop Deliverables
4 - Creating Your Own Database (Google Sheet)Code: Web App Data Visualization
3 - Producing ChartsCode: Web App Data Visualization
2 - SQL IntroductionCode: Web App Data Visualization
1 - First Look at TemplateCode: Web App Data Visualization
Data Viz with Spreadsheets ExerciseProject: Data Visualization 2
Using Google Charts  |  Google DevelopersGoogle Developers
Data Viz with Python ExerciseProject: Data Visualization 2
Dashboard Layout ExamplesCode: Web App Data Visualization
SQL ExamplesCode: Web App Data Visualization
Chart ExamplesCode: Web App Data Visualization
Chatbot Programming Workshop Deliverable
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Workshop: PBL 101PBLWorks
Proposing Solutions in Computing
Logo
Logo
Logo
Logo
Proposing Solutions in ComputingCxD Cross-Disciplinary
Code Mod ExamplesCode: Trivia App
Template Build TutorialCode: Trivia App
Managing the Question DBCode: Trivia App
Product Evaluation in Computing
Product Evaluation in ComputingCxD Cross-Disciplinary

Sketching and Prototyping in Computing

Welcome and Getting Started

Project Guide

While the project guide, linked below, can be used as-is in your classroom, you will likely want to adapt the instructions to meet the specific needs of your course context and objectives. Feel free to use any portion of the material in your own documentation.

Workshop Agenda

  1. Attend the live Zoom session on Monday July 12, 1:00 pm - 2:00 pm EDT ⏰ The Zoom link will be provided in Slack.

  2. Follow the project guide and complete an example project to meet your student expectations, as you construct any adapted project instructions documents you will use for your course. Use our Slack channel #cross-sketch-prototype to post questions/answers, to share things you have created or to share additional resources you have found.

  3. Attend the live Zoom session on Wednesday July 14, 1:00 pm - 2:00 pm EDT ⏰ The same Zoom link will be used for this meeting

  4. Continue posting questions and sharing success in Slack #cross-sketch-prototype as you complete your project example and adapted project instructions.

  5. Submit your project example and adapted project instructions for the workshop deliverable. 🎉 The link below is for submitting your deliverable by the August 7, 2020 deadline.

Flash Card App Study Guide for Any Course
Build a Flash Card App Study Guide for Any CourseCxD Cross-Disciplinary
James Lyst, M.S.School of Informatics and Computing : IUPUI
Aqueasha Martin-Hammond, Ph.D.School of Informatics and Computing : IUPUI
Vicki DaughertySchool of Informatics and Computing : IUPUI
Logo

Workshop Prep

Background and Recommended Classroom Approach

Background on Computing by Design Framework

This workshop is focused squarely on the programming component of a CxD Project. For a little bit of background, you will find that the Computing by Design framework is project-centric in the approach.

Each project has three phases, where programming is a very important component of all three. Our covers the breadth of the Computing by Design framework. We have found that the programming in any project presents a fine line between a wonderfully empowering experience (when students struggle and get things working) and a sometimes frustrating experience that becomes a missed opportunity. Therefore we are offering these programming workshops to provide a solid foundation on building the applications.

Learning to Program: A Two-Pronged Approach

We encourage you to offer students a two-pronged approach to learning to program. Computing by Design projects provide an "application first" approach to programming where students are provided direct guidance on creating a specific type of application through templates and tutorials -- like with trivia , a chatbot, IoT etc. This approach complements the many great tutorials available online that provide a "concept first" approach by stepping through concepts in programming. Facilitating both approaches for students provides a varied experience -- strengthening knowledge and offering more opportunities to ignite interests.

Identify an online tutorial site that you can use in your classroom to supplement any project work. Over the course of the workshop try out a few basic online programming tutorials from popular sites to facilitate this "concept first" approach, and consider how you might manage a self-paced assignment based on milestones. How might you use these self-guided tutorials as "filler time" or dedicate scheduled time to their completion?

Getting Started with Slack

Slack will be our primary communication platform for the workshop. The video above provides a brief introduction on the features of Slack, but more help and tutorials can be found at .

Getting Started with Replit

Replit is the recommended programming environment for many of our projects. The video above provides a brief introduction on the features of Replit, but more help and tutorials can be found at .

Logo
Mathew Palakal, Ph.D.School of Informatics and Computing : IUPUI
Logo
Logo
Logo
Bringing the Community Into the ClassroomEdutopia
Student ProfileComputing by Design
Agile Learning: Collaboration in the Classroom - Top HatTop Hat
Innovation Workshop
https://slack.com/help
https://docs.replit.com/
✻ NOTE: For those participating in multiple programming workshops, this video is used in all programming workshop sequences. So, if it looks familiar, you may have already seen this.
Logo
Logo
Logo
Logo
Logo
Logo

Module 3 - Project Phase Two

DESIGNING & BUILDING SOLUTIONS

Driving Question for Students: What specific solution will you provide and how will you design and build it?

A Repeating Pattern

Once again, students will apply the analyze, create, and deliver cycle, but with an increased fidelity of the solution. In this phase students will analyze the feedback from the proposal, consider a set of prototypes that define more detail in their solution, and then deliver a specification for further further development — usually to begin the actual programming and building.

"While it does typify the design process as a whole, in practice the elaboration and reduction process must be continuously repeated time and again throughout the course of design. From information architecture, to visual design, to the functional prototype, each stage must be explored in full, then lovingly honed down to a precise solution." - ​Tyler Tate (Concerning Fidelity in Design on UX Booth)

Source: Tyler Tate, https://www.uxbooth.com/articles/concerning-fidelity-and-design/

👉 Check the google drive resources for canvas templates you may want to use.

Dr. Martin-Hammond on Evaluation Methods

Evaluation is central to every aspect of any development. In the video below, Dr. Aqueasha Martin-Hammond provides insights on evaluation and the techniques available to you and students for evaluation.

✓ Prototypes │ ✓ Prototype Evaluations

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

Generate several distinct prototypes that represent creative perspectives on the solution details.

How many distinct prototypes might you request from students? What tools will students be able to use to create prototypes? How much fidelity (detail) might you require at this stage?

Evaluate the prototypes internally with the team and with stakeholders to verify the results.

How will students conduct evaluations? Will there be another set of prototypes or will you have students conclude prototyping after one round?

Which CS standards are addressed in the identified activities for the project? 🔗IN CS Standards

GENERAL PURPOSE RESOURCES

  • Thinking Aloud from Nielsen Norman Group

  • ​Concerning Fidelity in Design on UX Booth by Tyler Tate

  • Marvel App for Screen Interface Prototyping

We recommend that you create an example prototype as one of the three artifacts for the workshop final deliverable.

✓ Features Map & System Logic │ ✓ Development Plan & Testing Milestones

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

Determine the solution specifications, logic, and interactions.

Will you use a story/feature map? How much detail will you expect from students as they determine what they will program and build? Will they use pseudo-code or another technique to get started?

Prioritize development tasks and determine a plan to incrementally test the solution.

How do you want students to plan the development? How will they track progress and communicate that to you?

Which CS standards are addressed in the identified activities for the project? 🔗IN CS Standards

GENERAL PURPOSE RESOURCES

  • Planning with Pseudo-code

  • A Quick Guide on Story Mapping

  • Story/Feature Mapping Template

✓ Pilot Development & Testing │ ✓ Plan for Launch & Promotion

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

Execute the plan methodically with frequent team check-ins.

How frequent will the check-ins be? What might trigger an intervention to get teams back on track?

Determine the key actions to launch your solution with high impact.

How will the projects be promoted to the broader community? How much time and resources will be dedicated to the promotion?

Which CS standards are addressed in the identified activities for the project? 🔗IN CS Standards

★ PILOT DEMONSTRATION

PROMPTS TO CONSIDER FOR SLACK CONVERSATION

Demonstrate the pilot development with promotional plan and collect feedback from peers.

How will students demonstrate pilot builds — live video, recorded video, or in-person? How will you direct students to prompt for feedback?

Which CS standards are addressed in the identified activities for the project? 🔗IN CS Standards

Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Sketching and Prototyping in Computing
Logo
Logo
Sketching and Prototyping in ComputingCxD Cross-Disciplinary
Logo
Logo
Logo
Logo