Loading...
Loading...
Loading...
Loading...
Loading...
Computing by Design (CxD) is a collection of project guidebooks for use in 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.
The CxD guidebooks are designed for use by students and teachers alike. Each project guidebook has an associated code guidebook that provides coding tutorials and references.
These projects are designed to follow the research-based "Gold Standard" model of Project Based Learning (PBL) developed by the Buck Institute of Education. Visit BIE's PBLWorks website for more information and resources on PBL.
In parallel to each project, we also recommend students create and share one or more research reports on topics in computing:
Trends and Innovations in Computing
Privacy and Ethics in Computing
Degrees and Careers in Computing
The CxD curriculum materials are free to use, share, or adapt for non-commercial purposes under a Creative Commons license. Our team periodically updates the CxD materials to improve them, so be aware that revisions may occur.
Computing by Design projects emphasize computational thinking, design thinking, and project management. Throughout each project, students will engage in creative thinking, critical thinking, communication, and collaboration.
Computing by Design projects are intended to show students there are many paths to working in technology and to help them find their own pathway to success.
The goals of Computing by Design include:
Broaden student enrollment in computer science courses
Help students become creators and innovators of technology
Help students develop the skills essential for success in the 21st century
Increase the number and diversity of students pursuing degrees and careers in technology
Visit the iDEW Galleries to see examples of project proposals and other key deliverables posted by some of our student teams.
The Computing by Design projects were created for the Informatics Diversity-Enhanced Workforce (iDEW) program, an award-winning community partnership in central Indiana that is broadening student participation in computing and helping students develop the skills essential for success in the 21st century workplace.
The iDEW program managed by the Indiana University School of Informatics and Computing at IUPUI. If your school or organization wants to get involved with iDEW as a partner, please contact Vicki Daugherty, iDEW Program Manager.
Copyright © 2015-2019 by Jim Lyst and Michael Frontz, Indiana University School of Informatics and Computing at IUPUI
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.
A project may require all four project phases or a subset, but the starting point for the project, subsequent phase deliverables, and final deliverable should be clear and consistent.
Each project should carefully consider the readiness of the target students and provide the needed scaffolding and technical support to be successful.
Specify the technological needs to match the expected accessibility of students. Recognize that the most successful entry level projects will limit the needs to an Internet-connected computer with a standard browser.
Create a project having a context and general goals that engage student interests while looking for any opportunity to inject social relevance into the project.
Provide a project path that employs the current practices and technology applied in industry today or in the foreseeable future.
Provide clear templates or examples for each deliverable and develop any code templates or libraries needed to make the technology accessible for the target students.
Each project should provide a measure of breadth in the skills needed to complete each phase that reflect the interdisciplinary teams found in industry.
PROJECT TITLE
PROJECT DURATION
12+ Weeks
16 Weeks
16 Weeks
16 Weeks
16 Weeks
8+ Weeks
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.
Student preparation for modern participation should include the following elements. Notice the consistency with a professional's ongoing activities.
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.
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.
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.
This is is not learning from a textbook. While we strongly encourage that students complete tutorials, and eventually full courses, in a particular skill area to build expertise, these projects will challenge students in the following ways:
Self Learning - Students will often have to search out information on their own, experiment, make mistakes, and try again.
Managing Ambiguity - Since students will be creating a unique solution, they will not be given a detailed recipe on how to complete many tasks. They will often evaluate the context of problems quickly and decide on a plan of action that makes sense.
Collaborating - Students will have to be productive team members, fulfilling unique roles, communicating clearly, and valuing each team member's views at decision points.
Presentation - Students will often present work to the class, informally and formally, to get feedback and share ideas with other teams.
Students will get first-hand experience in informatics and computing that reveal opportunities in the field and engage a more realistic process that exposes the interdisciplinary nature of industry. Each student will begin to develop his or her unique voice in technology and see the potential for influencing the world. Also, students will prepare for the realities of working in the digital economy and build skills in the areas less susceptible to automation. They will...
Build hard skills in the digital arts, programming, and data.
Collaborate with a team where tech skills, people skills, and design skills overlap.
Increase their intuition, confidence, and curiosity; solving problems using a patterns common with scientific thinking, design thinking, and critical thinking.
Interested in learning more? Are you ready to start or join a project collaboration and offer your insight and passion to improve learning experiences for students? Begin by contacting Vicki Daugherty.
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 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.
Driving Question: Which problem will you solve and what improvement do you propose?
Driving Question: What specific solution will you provide and how will you design and build it?
Driving Question: How effective is your solution and how will you improve it?
Computing by Design projects for iDEW students are designed to build skills in programming, design, and data. Further, the projects provide a deep experience in the applications of technology for students to build confidence, develop intuition, exert influence, and express a unique voice. Below you will find an explanation for each of these attributes that encourage students to take ownership of their learning.
I am learning the art of trying things, critically looking at the result, and then improving them. I am confident in the face of not knowing something, even in failing, because I have experienced the process leading to results.
Iterative research of problem domains, applicable technologies, and stakeholders using industry practices.
Iterative coding and data collection methods in HTML/CSS/JS, Arduino, Spreadsheets, and SQL.
Iterative design practices with sketching, digital mockups, physical prototypes, and evaluation.
I am experiencing a growing number of contexts and tools to build solutions. I am seeing patterns emerge and building intuition based on my practice. My intuition enables me to adapt to many circumstances.
Using common reference materials for code syntax and examples across HTML/CSS/JS, Arduino, and SQL.
Linking general concepts of programming (variables, loops, functions, etc.) across different languages and frameworks.
Engagement of various real-world problem contexts.
Application of diverse technologies - Web app, IoT, Video Games, Robotics, Chatbot, Data Visualization.
I know I belong in the tech community because I have successfully contributed. I am convinced that I can change the world through thoughtful collaboration and intentional work.
Application of industry practices and speaking the language of industry practitioners.
Presentation and demonstration of project work in public, online, and in class contexts.
Collection of feedback on project work and synthesis of findings for improving the value of solutions.
I have experienced the diversity of thought and approaches to solving problems and have witnessed it by analyzing various real-world products. My unique voice brings value to the creative work being done to solve problems, and I see the value of team member contributions.
Filling unique roles within project team.
Demonstrating flexibility and novelty in my approach to deliverables.
Contributing to the collective solution to a problem.
Interviews
Internet Research
Surveys
Technical Experiments/Tutorials
Competitive Analysis
Sketching
Brainstorming
Idea Evaluation
Concept Mapping
Task Analysis
Storyboards
Digital Interface Prototypes
Physical Mockups
User Testing
Expert Review
Code Testing
HTML/CSS/JS
SQL
Spreadsheets
Arduino-like Programming
Cloud Computing
Rules-based Chatbot Scripting