Post Image
By nancyMay 5, 2021In Articles

Using Formative Assessment in Project-Based Computer Science Classrooms

Project-based learning is a popular method that is widely applied in Computer Science (CS) classes. Unlike traditional education, where students engage in projects after learning all required knowledge as a practice, in this method, students can learn new things by actively engaging in real-world and personally meaningful projects (Buck Institute for Education, n.d.). This definition has an explicit strategy on how to organize the learning activities in the class. However, the process of assessing students in the project-based learning method has less guidance. The assessment process cannot simply be based on whether the student finished the project or not. Thus, in this paper, I will focus on the assessment aspect of the project-based learning method and propose three strategies to implement formative assessment in the context of CS classes: making clear learning goals for each lesson, encouraging students on self -assessment, and actively using assessment results to design the next lessons.

The reason for me to choose this topic is my computer science classes are designed based on the project-based learning method. Because doing projects, giving feedback, and doing revision are common activities for this class, there are many opportunities for teachers to apply formative assessments. However, my current assessment process contains a lot of summative evaluations and focuses mainly on grading students. Thus, I want to use my computer science class as an example to think about how one might promote formative assessments in the current classroom setting.


My Experience with Computer Science Classes

I have created four courses for students from 6-15 years old to learn about computer science. My main focus in the courses is computational thinking and programming skills. Each course includes twelve lessons, and each lesson is ninety minutes long. Students will complete a project that is a game or software after one or two lessons based on the complexity of the project. By doing the analysis part, students will apply four steps in computational thinking (decomposition, pattern recognition, abstraction, algorithm) to create a coding strategy. Then, when students can come up with a clear algorithm, they will start programming based on it. These four computational thinking steps will be repeated in all lessons. Students will practice applying computational thinking to different problems to form their actual problem-solving skills based on these steps. In regard to coding skills, each lesson will focus on only one or two new concepts. If there are more than three new concepts, the code will be given to students, and the additional concepts will be learned in the following lessons.

In my courses, the assessment process includes four parts. The first step is to assess students’ projects in each lesson. Projects will be rated as not complete when students did not finish the main requirement functions; complete when students finished all of the main requirements; and excellent when students implemented upgrade functions for the project. Teachers often give students feedback during student work time in class and to ensure all students achieve at least the complete level. Teachers usually do not provide feedback on students’ final submissions because this feedback is not effective (Chappuis & Stiggins, 2020, p.35). In the next class, students will work on other projects, so they will skip teachers’ feedback. Only in the case that the final submissions are at the incomplete level will the teachers give these students feedback, and they also will have extra class sessions to revise their work until they reach the complete level.

Second, students will have a small quiz that includes ten multiple-choice questions after each lesson. Bloom’s Taxonomy, a scale identity difference of cognitive levels (Gogus, 2012) in the learning and understanding process, is used to assess different levels of understanding. There are six levels in Bloom’s Taxonomy, from the simplest to the most complex behavior: knowledge, comprehension, application, analysis, synthesis, and evaluation. The quiz usually has two questions at the knowledge level, three questions at the comprehension level, and five questions at the application level. There are no questions in analysis, synthesis, and evaluation levels. These high levels of understanding are usually assessed through doing the project.

Third, in the middle of the course, students will be given a specific requirement of a game or an animation, and they will need to follow that requirement to create their projects. The requirements for the project are very detailed and included steps for students to follow, so this assessment only focuses on programming skills. I usually format the requirement as a checklist of all functions that the students need to implement in their projects. When students do the test, they also can self-assess their projects and check the functions that they finished. Teachers also collect the students’ self-assessment sheets and compare them with their results. After the test, teachers will return the results and feedback to the students. Students can revise and resubmit their projects to get a higher score, but it is optional. Based on my experience, most of the students do not submit the revision because this is an extra class, so the grade is not a big deal for them. 

The final assessment in the course is the final project. Students will choose an idea, then practice computational thinking to analyze and use learned programming skills to implement it. The final project will be assessed based on four criteria: the applicability of the idea, computational thinking skills, coding skills, and presentation. These criteria are public for students as an explanation for expectations for the final project. Students will receive verbal feedback after they present their projects from peers and teachers. After that, they will receive their final project grade and an overall grade for the course.

In conclusion, the current assessment process in my classroom includes four different assessments: assessing the completion of the project and quiz in each lesson, the mid-term project, and the final project. In the next part, I will discuss the difference between formative and summative assessments and categorize my current assessment into these groups. 


Defining Formative and Summative Assessment 

Based on the different evaluation purposes, there are two kinds of assessments: summative and formative assessments. They are also called assessments of learning and assessments for learning (Chappuis & Stiggins, 2020, p.2-3). Summative assessments are traditional assessments that are widely known and used in education (Chappuis and Stiggins, 2020, p.3). The primary purpose of summative assessments is to grade and evaluate students’ learning. Chappuis and Stiggins (2020) define summative assessments as “the use of information to make an overall judgment about the level of achievement or program effectiveness” (p.9). This kind of assessment focuses on students’ achievement after the learning process, so it usually happens at the end of the unit, semester, or school year. It is considered an independent process from teaching and learning. For example, summative assessments often appear in traditional learning environments as midterm exams, end-of-term tests, or standardized tests. In general, all assessments which are aimed at assigning a score for students are categorized as summative assessments. 

Formative assessment was introduced by Michael Scriven in 1967 (Hattie, 2003). The concept of formative assessments comes from the argument that “teachers need to know about their pupils’ progress and difficulties with learning so that they can adapt their own work to meet pupils’ needs” (Black & Wiliam, 2010). To obtain this information, teachers can observe, ask students questions, or read students’ work, which all count as forms of assessment. When teachers use this information to improve their teaching, it is called formative assessment. Indeed, Chappuis and Stiggins (2020) write that a formative assessment is “a collection of formal and informal processes teachers and students use to gather and share evidence for the purpose of guiding the next step in learning” (p.3). Unlike summative assessments, the results of formative assessments are not used to make judgments about students — they focus on feedback and revision to improve both teaching and learning activities. In addition, assessments do not only come from the teachers. Students also engage in self-assessment to gauge their own learning progress and in peer assessment to learn from one another. Formative assessment is an essential part of the teaching and learning process. 

Substantial research has shown that formative assessment improves student achievement, especially for low achieving students (Hattie, 2009). Furthermore, William (2017) describes formative assessment as a bridge to connect teaching and learning in that it “occupies such a central position in good teaching because we cannot predict what students will learn, no matter how we design our teaching” (p.52). Indeed, traditional education, which is teacher-centered and lecture-based, has been shown to be ineffective for learning (Díaz-Maggioli, 2004). If teachers do not center learning around students and put systems in place to receive feedback from them, teachers cannot truly know what students have or have not learned. Formative assessments help teachers to “pay attention to what students’ questions, conversations, and work show us they are and aren’t learning” (Chappuis and Stiggins, 2020, p.7). 

Formative assessments and summative assessments also differ in how teachers use assessment results. If teachers use the summative results to adjust their lessons, summative assessments can become formative assessments. For example, instead of giving students only numerical results, teachers can provide students feedback to let them know what they need to do to improve their learning. Of course, it would be ideal for teachers to use formative assessments at the beginning of a class period. However, even if teachers cannot change the timing and process of assessments, aspects of formative assessment can improve the way teachers use students’ evaluation results.

The assessment process for the computer science class that I described above is a mix of formative and summative assessments. Evaluating and giving feedback on each project is an aspect of formative assessment because students may act on feedback and have a chance to improve their projects. The quizzes, the mid-term, and the final project are all aimed at providing summative results. Besides, self-assessments and peer-assessments are missing from the course — only teachers can assess students. Thus, because of the lack of intention to utilize formative assessments, teachers miss out on many opportunities to improve their teaching and support student learning. In the following section, I will propose ways to enhance formative assessments to increase student engagement and learning opportunities within the classroom.


Applying Formative Assessment in Computer Science Classes

There are many opportunities to apply formative assessment in project-based learning classes. However, they need to be carefully planned before the class. If teachers do not intend to use assessments as formative assessments, they will rely more heavily on summative assessments. As a result, teachers will lose the opportunity to understand their students and improve their learning. Thus, I am proposing three changes to the current computer science learning environment to improve the learning experience for all students. These include making clear learning goals for each lesson, encouraging students to engage in self-assessment, and actively using assessment results to design the following lessons.


Suggestion 1: Make Clear Learning Goals for Each Lesson.

Ideally, in project-based lessons, students learn by doing and applying ideas (Krajcik & Blumenfeld, 2005, p.317). However, sometimes “the ‘doing’ of an activity takes precedence over ‘doing with understanding’” (Barron et al., 1998, p.274). Indeed, many students finish projects without knowing what they have learned. In most cases, the only learning goal for them is to create a complete project. The reasons behind engaging in the project, such as learning how to make something work or to understand why it works, are looked over altogether. Thus, assessments for projects should not only focus on the level of completion to categorize a project as “incomplete,” “complete,” or “excellent.” In other words, the learning goal should not only be to complete a project — teachers and students should create clear learning goals for what they will learn through engaging in the project process. These goals will remind students about what they need to look for during the doing project process. Chappuis & Stiggins (2020) agree that “students’ chances of success improve when they start out with a vision of where they are headed” (p.12).

In practice, instead of giving students a goal to create an application to solve a specific problem, teachers should go into specific details about the computational thinking aspects and programming concepts that students need to learn to fully understand a particular project. For example, in a lesson where students need to create an application to support children in practicing addition and subtraction within 100, the learning goal should not be to finish coding and have a product that children can use to learn. Finishing the product is just one goal — students also need to be able to use computational thinking to analyze the requirements and create algorithms for the project. Furthermore, students should learn about variables and the random function in programming. By achieving these goals, students will have a deeper understanding of the project. If they want to modify their projects to addition and subtraction within 1000 or expand their projects to multiplication afterward, they will have the necessary tools to do so. Thus, project completion is essential, but what students learn through the process of project-based learning is more important. Teachers should guide this process so that students can have clear goals to aim towards.

In conclusion, my first suggestion to the current class setting is to make detailed learning goals for both teachers and students. The learning goals for each lesson should be more than simply completing a project: The project is the vehicle for teaching the critical knowledge and skills that students need to learn (Buck Institute for Education, n.d.). Importantly, students need to know what they need to achieve besides finishing the project. At the same time, teachers can use these goals to provide suitable scaffolding questions and feedback to help students reach their own learning goals.


Suggestion 2: Encouraging Students on Self-Assessments. 

My second suggestion is to encourage students to engage in self-assessment. Chappuis & Stiggins (2020) point out three benefits of involving students in the assessment process. First, students can understand the relationship between their effort and their results. The idea is that when they try harder, they will get higher achievements. As a result, students may put more effort into reaching higher achievements. Second, students are more motivated when they see their achievements in the learning process: “improvement can become its own reward” (Chappuis & Stiggins, 2020, p.363). Indeed, when students see themselves reaching challenging goals, they will gain more confidence and motivation in learning. Third, the achievement records make students’ self-reflection easier. If students do not record their achievements in each class, it will be hard for them to reflect on their own personal journey of learning. However, if they log all of their small achievements in each lesson, they may be motivated by recollecting on their long journey that documents the many wins that they have gone through (Chappuis & Stiggins, 2020, p.363). Thus, it is essential to engage students in the assessment process. In computer science classes, teachers can encourage students to self-assess through writing journals to reflect on their achievements in each lesson and creating portfolios to show their significant accomplishments throughout the course.

There are multiple kinds of journals that support different purposes in the classroom. I have found that the types of journals that are most suitable for reflecting on students’ learning in each lesson are dialogue journals and learning logs (Chappuis & Stiggins, 2020, p.371). The dialogue journal is called dialogue because it is meant to be shared and for the writer to receive feedback from teachers and other students. In dialogue journals, students usually share about what they have learned and achieved, what they are still wondering, and what they are still struggling with. By answering these questions in written format, students have a chance to reflect on their learning. This reflection is not only beneficial for the writer, but it is also useful for teachers and other students. Teachers can understand the current status of the student and what he/she has learned (or has not). It will help teachers give students appropriate feedback and adjust their teaching in subsequent lessons to help students reach the stated learning goals. For students, reading friends’ journals can help them learn different perspectives about the same learning activity that they have all experienced. At the same time, if they have trouble in learning, they can feel more confident and validated when they see everyone has their own unique challenges.

Learning logs are more straightforward than dialogue journals. Learning logs are only for students to note down everything they did in the class (Chappuis & Stiggins, 2020, p.371). For example, students will answer some questions such as, what did you learn today? What resources or methods are helpful for you? What do you want to improve on in the next lesson? Although students do not share their logs with other people, the writing process helps them reflect and think about their learning. Reflection combined with clear learning goals will give students more focus and direction in their learning and prevent situations where students do not know what they are doing.

Besides dialogue journals and learning logs, in order to invite deeper reflection on the whole course, teachers can encourage students to create their own coding portfolios. Chappuis & Stiggins (2020) define a portfolio as “a collection of artifacts put together to tell a story” (p.373). With the characteristics of a project-based learning class, students should have many projects throughout the course. Thus, students can build their growth portfolios by collecting the projects that they have done and thoughtfully reflecting on them. The portfolio has the potential to showcase two significant achievements. First is the student’s growth in coding skills: students’ projects become more and more complex and gradually fill out all the learning targets. Second, students’ computational thinking becomes more and more competent. From the detailed guided analysis throughout the very first projects to the final project, they can use their own computational thinking to analyze their ideas. In addition, students’ portfolios should be widely shared with other people outside the classroom. Sharing works with interested audiences will likely help students to “generate additional learning and insight into themselves as learners as well as increase motivation to keep working” (Chappuis & Stiggins, 2020, p. 384). Thus, self-assessments play an essential role in student learning. Self-assessments of any kind are likely to help students keep track of their learning, answer questions about what they are doing, and create intrinsic motivation for students to keep learning.


Suggestion 3: Actively Using Assessment Results to Design the Following Lessons.

The ways in which teachers use assessment results will determine the kind of assessment.  If teachers want to apply formative assessment in their classes to improve teaching and learning, they need to actively and intentionally use the assessment results to make decisions about the next learning steps. There are two characteristics of computer sciences classes that allow teachers to easily adjust their lesson plans to adapt to students’ current knowledge without changing too much in the whole curriculum. First, computation thinking skills should be repeated in all lessons. If teachers notice students have trouble understanding computational thinking concepts in the first lesson, they can try other methods in the following classes. When teachers find a suitable way forward, they can enhance it in many tasks to help students apply computational thinking skills in different situations. Second, each project should include many coding concepts. These concepts are usually constructed through many lessons. Therefore, there is an opportunity for teachers to use formative assessments. Formative assessments allow teachers to understand students’ current knowledge and form the following lessons based on this information as a result, students will see the construction and the continuing in their learning.

Using assessment results to make decisions on the following teaching steps is critical. Both teachers and students have clear learning goals at the beginning; if there is no assessment during the teaching and learning process, teachers and students cannot know they are on the right track or not. The truth is that “feedback and instructional correctives are central to learning; without them, little effective instruction can take place” (Willian, 2013, p.197). Thus, formative assessments and the ways in which teachers use them to inform the next teaching steps can create more effective teaching by giving students exactly what they need to improve their learning.



The use of formative assessment is proven to significantly improve teaching and learning. Even in project-based learning classes, there are many opportunities to apply formative assessments; if teachers do not seize these opportunities, they will miss out on the chance to take advantage of the many benefits of formative assessment. Thus, teachers should have a clear intention to use formative assessments by having explicit learning goals for students to achieve rather than merely finishing a project. In addition, teachers should encourage students to engage in self-assessment to initiate their intrinsic motivation for learning. Finally, the ways in which teachers use assessment results is very important — they should actively use the assessment results as a guideline for designing subsequent lessons to provide the best supports for their students in reaching all the learning goals.



Black, P. & Wiliam, D. (1998) Assessment and Classroom Learning, Assessment in Education: Principles, Policy & Practice, 5:1, 7-74, DOI: 10.1080/0969595980050102.


Black, P. & Wiliam, D. (2010). Inside the Black Box: Raising Standards through Classroom Assessment. Phi Delta Kappan, 92(1), 81–90.


Buck Institute for Education. (n.d.). What is PBL?


Krajcik, J. & Blumenfeld, P. (2005). Project-Based Learning. In R. Sawyer (Ed.), The Cambridge Handbook of the Learning Sciences (Cambridge Handbooks in Psychology, pp. 317-334). Cambridge: Cambridge University Press. DOI:10.1017/CBO9780511816833.020.


Chappuis J. & Stiggins R. (2020) Classroom Assessment for Student Learning: Doing It Right – Using It Well 3rd edition. Pearson Assessment Training Institute.  


Díaz-Maggioli, G. (2004). Teacher-centered Professional Development. Association for Supervision and Curriculum Development (ASCD).


Gogus, A. (2012) Bloom’s Taxonomy of Learning Objectives. In: Seel N.M. (eds) Encyclopedia of the Sciences of Learning. Springer, Boston, MA.


Hattie, J. (Jan 2003). Formative and Summative Interpretations of Assessment Information. 


Wiliam, D. (2013). Feedback and instructional correctives. In McMillan, J. H., ed. The SAGE handbook of research on classroom assessment (pp. 197–214). Los Angeles, CA: SAGE Publications, Inc.

svgApplying Culturally Sustaining Pedagogy & Ambitious Science Teaching in Computer Science Education in Vietnam
svgThe Gap Between Computational Thinking and Computer Science Education in K-9

Leave a reply