I am working on integrating CS into K-5 instruction. I’d like to have a culminating activity for each “unit” where students create a project (using the app lab, artist, or even scratch). I’m looking for a rubric to assess such projects. I have found rubrics for middle school and high school coding projects but I’m looking for something appropriate in elementary school (e.g., grades 3-5).
Here’s What I Use (cut and pasted from a nice table, doesn’t look so pretty here):
Competency 1 - Computational Thinking
Use the basic steps in problem-solving to design solutions, including modeling, flow-charting, prototyping, etc.
Represent data in a variety of ways including text, sounds, pictures, and numbers.
Understand mathematics of computer science including binary numbers, logic, sets and functions.
Understand and employ algorithms, abstraction, heirarchy, recursion, etc. in designs.
Use functions and parameters, classes and methods to divide a complex problem into simpler parts.
Uses appropriate tools & procedures to design solution. Fully understands problem(s) and develops an elegant & efficient solution.
Uses some tools & procedures to design solution. Understands problem(s) and develops workable solution.
Tries to use tools & procedures to design solution. Understands some parts of problem(s) and comes up with reasonable approach to solution.
Fails to understand problem, is unable to devise solution.
Fully understands all of the types of data representation. Fully understands and utilizes digital mathematical concepts & techniques (binary system, boolean logic, etc).
Understands most of the types of data representation. Understands and utilizes some digital mathematical concepts & techniques (binary system, boolean logic, etc).
Understands some of the types of data representation. Understands some digital mathematical concepts & techniques (binary system, boolean logic, etc).
Has little or no understanding of data representation or digital mathematical concepts & techniques.
Competency 2 - Computing Practice & Programming
Implement solutions using a programming language, including: looping behavior, conditional statements, logic, expressions, variables, and functions.
Explore a variety of careers to which computing is central.
Implement programming solutions that can be read, understood and debugged by other programmers.
Use various debugging and testing methods to ensure program correctness.
Use appropriate tools to create digital artifacts (e.g., web design, animation, video, multimedia).
Is fluent with programming language functions, syntax and tools. Program(s) operate perfectly with no errors. Code is clean, well-organized, and helpfully commented.
Is conversant with programming language functions, syntax and tools. Program(s) operates, with only minor errors. Code is organized, and there are some comments.
Has some understanding of programming language functions, syntax and tools. Program(s) may not run. Code is hard to read and follow.
Demonstrates no understanding of programming language functions, syntax and tools. Program(s) does not exist, or won’t run.