The excitement for the creative power of programming and the questions about …
The excitement for the creative power of programming and the questions about how to assess students’ creative work prompted us to undertake this project, which was funded through the generous support of Google’s Computer Science Education Research program. In this project, we were guided by a central question: How do K-12 computing teachers assess creative programming work? Our approach was simple: during the summer of 2019, we talked to 80 K–12 computing teachers across the U.S. about how they supported and assessed creative work in programming activities. In our conversations, typically between two teachers and a member of our team, teachers brought a pair of assessment examples and used those examples as the foundation for a broader discussion about creativity, programming, and assessment.
Through these conversations, as well as an examination of the assessment research literature, we identified key principles that guide the assessment of creative programming activities: -Foster a classroom culture that values assessment. -See student process as well as product. -Understand what is creative for the student. -Support students by incorporating feedback from multiple perspectives. -Scaffold opportunities for students to develop judgment of their own work.
Thanks to these incredible teachers who met with us and generously shared their thinking about their practice, we were able to gather more than 300 assessments, ranging from class project rubrics to examples of student project portfolios. In this document, we are sharing our understandings in two ways: (1) a collection of four case studies, and (2) a selection of 50 assessments. The case studies tell the stories of four teachers who are putting the guiding principles of creative assessment into practice in the complex, real-life contexts of their classrooms.
The 50 assessments represent a curated collection of real assessments that teachers are using in their classrooms, accompanied by quotes from teachers about what the assessment of creative work entails.
This lesson attempts to walk students through the iterative development process of …
This lesson attempts to walk students through the iterative development process of building an app (basically) from scratch that involves the use of `if` statements. Following an imaginary conversation between two characters - Alexis and Michael - students follow the problem solving and program design decisions they make for each step of constructing the app. Along the way they decide when and how to break things down into functions, and of course discuss the logic necessary to make a simple game.
The last step - writing code that executes an end-of-game condition - students must do on their own. How they decide to use `if` statements to end the game will require some creativity. The suggested condition - first to score 10 points - is subtly tricky and can be written many different ways.
At the conclusion of the lesson there are three practice Create PT-style questions as well as resources explaining the connection between this lesson and the actual Create PT. Depending on how you use these materials they can easily add an additional day to this lesson.
This resource defines computational thinking with concepts, practices, and perspectives. This resource …
This resource defines computational thinking with concepts, practices, and perspectives. This resource also shares strategies for assessing computational thinking as well as providing examples of elementary through high school of the four computational thinking practices. Finally, this resource provides two supports in the development of computational thinking with the Creative Computing Curriculum Guide and a self-reflective instrument.
Students will recognize that computer science is so important because it can …
Students will recognize that computer science is so important because it can be found in almost every career. Don't wait, start learning how to code today.
DescriptionOverview: This lesson allows students to work on their keyboarding skills while …
DescriptionOverview: This lesson allows students to work on their keyboarding skills while creating pieces of music. Students can choose classiccal music, current hits, or just play around with the keyboard. Students will then be able to create an app using Code.org's AppLab that uses a recording of the music they play.Subject:Computer Science, Business and Communication Level:Middle School, High School Grades:Grade 7, Grade 8, Grade 9, Grade 10, Grade 11, Grade 12 Material Type:Lesson Plan Author:Jennifer Clark Date Added:04/06/2019License: Creative Commons Attribution-NonCommercial 4.0 Language:English Media Format:Downloadable docs, Interactivehttps://www.oercommons.org/courseware/lesson/53119/overview
The tutorial that the "DjangoGirls" initiative is using for all of its …
The tutorial that the "DjangoGirls" initiative is using for all of its workshops. It's a very beginner-friendly tutorial with introductions to the command line, Python, Django, HTML and CSS. No previous programming experience is required.
Once participants have finished the tutorial, they will have a small working web application: their own blog. The tutorial will show them how to put it online, so others will see their work.
The tutorial is available in English, French, Chinese and Ukrainian. "beta" versions of translations to other languages are also available. (The English version is considered the "original" and is usually the most maintained, complete and up-to-date one.)
Testing is critical to any design, whether the creation of new software …
Testing is critical to any design, whether the creation of new software or a bridge across a wide river. Despite risking the quality of the design, the testing stage is often hurried in order to get products to market. In this lesson, students focus on the testing phase of the software/systems design process. They start by exploring existing examples of program testing using the CodingBat website, which contains a series of problems and challenges that students solve using the Java programming language. Working in teams, students practice writing test cases for other groups' code, and then write test cases for a program before writing the program itself.
Exploring Computer Science is a yearlong course developed around a framework of …
Exploring Computer Science is a yearlong course developed around a framework of both computer science content and computational practice. Assignments and instruction are contextualized to be socially relevant and meaningful for diverse students. Units utilize a variety of tools/platforms and culminate with final projects around Human-Computer Interaction, Problem Solving, Web Design (HTML, CSS), Programming (Scratch, Edware), Computing & Data Analysis, and Robotics. ECS is recognized nationally as a preparatory course for AP Computer Science Principles. Watch this video and view this fact sheet for more information.
Using the LEGO® NXT robotics kit, students construct and program robots to …
Using the LEGO® NXT robotics kit, students construct and program robots to illustrate and explore the Fibonacci sequence. Within teams, students are assigned roles: group leader, chassis builder, arm builder, chief programmer, and Fibonacci verifier. By designing a robot that moves based on the Fibonacci sequence of numbers, they can better visualize how quickly the numbers in the sequence grow. To program the robot to move according to these numbers, students break down the sequence into simple algebraic equations so that the computer can understand the Fibonacci sequence.
The class discusses expectations for pair and group programming, and how to …
The class discusses expectations for pair and group programming, and how to make students’ collaborative teams work. The instructor reviews the design requirements for the Build My City project and makes clear the steps that students should take towards the project goals in this working session. Students begin by remixing the Build My City starter project and have their first working session using Scratch to create their Build My City projects.
This lesson focuses on the biggest problem faced by any young programmer …
This lesson focuses on the biggest problem faced by any young programmer - i.e. the LOGIC BUILDING required while solving a particular problem. With programming, the solution to a particular problem lies in the head, but one is unable to convert it into a computer program. This is because the thought processes of a human are much faster than the sense of observation. If this thought process could be slowed down, logic to solve a programming problem could be found very easily. This lesson focuses on converting this psychological thought process in a step-by -step logic fashion that a computer program can understand. This lesson is recorded in a kitchen where the basic programming concepts are taught by giving examples from the process of making a mango milk shake. This lesson teaches the 4 following techniques: 1) Swapping two variables by swapping a glass of milk with a glass of crushed ice; 2) Finding max from an array by finding the biggest mango; 3) Sorting an array by arranging the jars; and 4) Understanding the concept of a function, parameters and return type by comparing it with the blender/juicer. The lesson targets those students who know the syntax of programming in any language (C or GWBASIC preferred), but are unable to build the logic for a program. It can be taught in a class of 45 to 50 minutes.
This lesson is also available in Mandarin Chinese.
This lesson focuses on the biggest problem faced by any young programmer …
This lesson focuses on the biggest problem faced by any young programmer - i.e. the LOGIC BUILDING required while solving a particular problem. With programming, the solution to a particular problem lies in the head, but one is unable to convert it into a computer program. This is because the thought processes of a human are much faster than the sense of observation. If this thought process could be slowed down, logic to solve a programming problem could be found very easily. This lesson focuses on converting this psychological thought process in a step-by -step logic fashion that a computer program can understand. This lesson is recorded in a kitchen where the basic programming concepts are taught by giving examples from the process of making a mango milk shake. This lesson teaches the 4 following techniques: 1) Swapping two variables by swapping a glass of milk with a glass of crushed ice; 2) Finding max from an array by finding the biggest mango; 3) Sorting an array by arranging the jars; and 4) Understanding the concept of a function, parameters and return type by comparing it with the blender/juicer. The lesson targets those students who know the syntax of programming in any language (C or GWBASIC preferred), but are unable to build the logic for a program. It can be taught in a class of 45 to 50 minutes.
This lesson is also available in Mandarin Chinese.
Students continue exploring coding sequences, using the programming game Lightbot. As students …
Students continue exploring coding sequences, using the programming game Lightbot. As students work through tricky puzzles and make use of the Lightbot interface’s ability to restart execution from the beginning, they experience the value of iterative development. If they are ready, students advance from Lightbot’s introductory levels to levels that require them to create and use procedures (functions). Iterative development, and the shift from long, repetitive code to shorter, clearer code, are both concepts that will be relevant to students’ final coding project at the end of the unit.
Students write code using symbols to produce “graph paper” pixel art, first …
Students write code using symbols to produce “graph paper” pixel art, first practicing as a class, then in pairs or groups. The groups will trade instructions with each other and try following them to draw a picture. Students get familiar with the concept of “stamping” an image on the page or the screen, and if there is time, students use loops to reduce the complexity of their programs. These concepts will be important in their final coding project at the end of the unit.
Students explore examples of interactive storytelling, examining their use of expression, emotion, …
Students explore examples of interactive storytelling, examining their use of expression, emotion, repetition, and context. Students visit a Scratch Studio of examples of interactive storytelling and see that Scratch is used by students around the world to create interactive stories. Students reflect on how interactive storytelling is different from other forms of creative expression and reflect on how they might use Scratch to express themselves creatively
Students will be introduced to the Build My City project, which is …
Students will be introduced to the Build My City project, which is the final project of the unit. The teacher will present a demo project to students and explain the design requirements and expectations. Students will review key programming concepts that will be used in their Build My City projects, by looking at the code of an example project. Students will meet in their project groups and use storyboarding to develop their ideas for their city.
This is a fast-paced introductory course to the C++ programming language. It …
This is a fast-paced introductory course to the C++ programming language. It is intended for those with little programming background, though prior programming experience will make it easier, and those with previous experience will still learn C++-specific constructs and concepts.
Developed by the NYCDOE CS education team, the Introduction to Computational Media …
Developed by the NYCDOE CS education team, the Introduction to Computational Media is a yearlong (108 hours) creative computing course for high schools using the open source Javascript library p5.js. By understanding how code can be a medium for creative expression, students will learn the fundamentals of computer science while designing and prototyping interactive projects that run on a browser. Additionally, students will learn how HTML/CSS elements can interact with p5.js to fully take advantage of developing content for a browser. This course has been implemented in NYC schools via CS4All’s Software Engineering Program (SEP), revised by classroom teachers with guidance from the Processing Foundation, and aligns with the CS4All Blueprint for CS education that emphasizes a hands-on CS approach called creative computing. Watch this video and view this fact sheet for more information.
This course presents the fundamentals of object-oriented software design and development, computational …
This course presents the fundamentals of object-oriented software design and development, computational methods and sensing for engineering, and scientific and managerial applications. It cover topics, including design of classes, inheritance, graphical user interfaces, numerical methods, streams, threads, sensors, and data structures. Students use Java programming language to complete weekly software assignments. How is 1.00 different from other intro programming courses offered at MIT? 1.00 is a first course in programming. It assumes no prior experience, and it focuses on the use of computation to solve problems in engineering, science and management. The audience for 1.00 is non-computer science majors. 1.00 does not focus on writing compilers or parsers or computing tools where the computer is the system; it focuses on engineering problems where the computer is part of the system, or is used to model a physical or logical system. 1.00 teaches the Java programming language, and it focuses on the design and development of object-oriented software for technical problems. 1.00 is taught in an active learning style. Lecture segments alternating with laboratory exercises are used in every class to allow students to put concepts into practice immediately; this teaching style generates questions and feedback, and allows the teaching staff and students to interact when concepts are first introduced to ensure that core ideas are understood. Like many MIT classes, 1.00 has weekly assignments, which are programs based on actual engineering, science or management applications. The weekly assignments build on the class material from the previous week, and require students to put the concepts taught in the small in-class labs into a larger program that uses multiple elements of Java together.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.