Welcome to PSTK
Based on the CSTA education standards, Programming Skills Test for Kids (PSTK) is an international placement test for kids who are learning to program. Those who pass the test will be awarded an international certificate issued by Prof. Thomas Gold at the University of California Berkeley to prove that they have the corresponding computer software programming capabilities.
PSTK is focused on the Algorithms & Programming part of the CSTA standards. Students need to learn the core principles of developing their own algorithms and implementing them in the programming languages such as Scratch, Python, and C++ . The test covers variables, control, modularity, algorithms, applications, and computational thinking.
PSTK Implements the Practices from CSTA
Fostering an Inclusive Computing Culture
Building an inclusive and diverse computing culture requires strategies for incorporating perspectives from people of different genders, ethnicities, and abilities. Incorporating these perspectives involves understanding the personal, ethical, social, economic, and cultural contexts in which people operate. Considering the needs of diverse users during the design process is essential to producing inclusive computational products.
Collaborating Around Computing
Collaborative computing is the process of performing a computational task by working in pairs and on teams. Because it involves asking for the contributions and feedback of others, effective collaboration can lead to better outcomes than working independently. Collaboration requires individuals to navigate and incorporate diverse perspectives, conflicting ideas, disparate skills, and distinct personalities.
Recognizing and Defining Computational Problems
The ability to recognize appropriate and worthwhile opportunities to apply computation is a skill that develops over time and is central to computing. Solving a problem with a computational approach requires defining the problem, breaking it down into parts, and evaluating each part to determine whether a computational solution is appropriate.
Developing and Using Abstractions
Abstractions are formed by identifying patterns and extracting common features from specific examples to create generalizations. Using generalized solutions and parts of solutions designed for broad reuse simplifies the development process by managing complexity. Abstractions are essential in programming.
Creating or Developing Computational Artifacts
The process of developing computational artifacts embraces both creative expression and the exploration of ideas to create prototypes and solve computational problems. Students create artifacts that are personally relevant or beneficial to their community and beyond. Computational artifacts can be created by combining and modifying existing artifacts or by developing new artifacts. Examples of computational artifacts include programs, simulations, visualizations, digital animations, robotic systems, and apps.
Testing and Refining Computational Artifacts
Testing and refinement is the deliberate and iterative process of improving a computational artifact. This process includes debugging (identifying and fixing errors) and comparing actual outcomes to intended outcomes. Students also respond to the changing needs and expectations of end users and improve the performance, reliability, usability, and accessibility of artifacts.
Communicating About Computing
Communication involves personal expression and exchanging ideas with others. In computer science, students communicate with diverse audiences about the use and effects of computation and the appropriateness of computational choices. Students write clear comments, document their work, and communicate their ideas through multiple forms of media. Clear communication includes using precise language and carefully considering possible audiences.