In response to the coronavirus (COVID-19) situation, Microsoft is implementing several temporary changes to our training and certification program. Learn more.


Microsoft logo

  • Published:
    January 27, 2017
  • Languages:
  • Audiences:
  • Technology:
  • Credit toward certification:

Introduction to Programming Using Block-Based Languages (Touch Develop)

This exam has been retired

For currently available options, please see the Microsoft Certification exam list.

* Pricing does not reflect any promotional offers or reduced pricing for Microsoft Imagine Academy program members, Microsoft Certified Trainers, and Microsoft Partner Network program members. Pricing is subject to change without notice. Pricing does not include applicable taxes. Please confirm exact pricing with the exam provider before registering to take an exam.

Effective May 1, 2017, the existing cancellation policy will be replaced in its entirety with the following policy: Cancelling or rescheduling your exam within 5 business days of your registered exam time is subject to a fee. Failing to show up for your exam appointment or not rescheduling or cancelling your appointment at least 24 hours prior to your scheduled appointment forfeits your entire exam fee.

Skills measured

This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Apply Strategies to Solve Computational Problems (15-20%)
  • Identify basic algorithmic steps to solve simple problems
    • Decompose simple problems into steps, sequence processes in the appropriate order, describe storyboards, resolve challenges and errors related to logic or pseudocode
  • Decompose a computational problem into sub-problems
    • Describe computer programs that use logical subdivisions, describe solutions that use programmable strategies such as objects, functions, and parameters in the pseudo code provided, identify situations when code can be reviewed
Design Algorithms (25-30%)
  • Create Algorithms
    • Differentiate problems as easy or hard for computers to solve, apply the concept of iteration, create simple algorithms
  • Analyze game play to identify the algorithmic sequences
    • Analyze a game and create a sequence of instructions for playing it, identify an event, create the code for an event in block-based editors, explain the “on every frame” code and event handlers
  • Create and analyze algorithms used to implement animation and movement in code
    • Describe animation that uses a series of individual frames, resolve errors in algorithms, create algorithms that can be translated into pseudocode or block-based code, use code to command items on the screen or device
  • Explain sequence, selection, and iteration
    • Define loops, identify the control variable, predict the output of loop, random number, and control variable constructs, identify conditional statements; choose the appropriate Boolean logic for specific results
Work with Data Representation in Block-Based Programming Languages (15-20%)
  • Represent data in text, sounds, pictures, and numbers
    • Create code to add and position objects, such as sprites on a screen or device, identify data examples as text, sound, pictures, or numbers, change the parameters of “set frame grid” to work with different sprite sheets, explain the role of cloud variables, explain the impact of variable scope, including cloud variables, global variables, and local or temporary variables, design, create, and populate a table or two-dimensional array, describe multiple uses for data
  • Employ simple data structures to solve computational problems
    • Declare and use variables in a program, use input and variables to calculate new information, describe arrays, lists, and collections, explain the differences between variables and arrays
  • Describe how data is accessed in apps and games
    • Distinguish among variable data types, add, remove, and insert elements in a collection, iterate through collections using for loops and for-each loops, describe how random numbers are used
Solve Computational Problems by Using Modeling and Simulation (5-10%)
  • Solve computational problems by using computer and non-computer methods
    • Use algorithms and Boolean logic, use games and apps to simulate practical tasks such as converting currencies
  • Represent events observed in the physical world by coding simulation and modeling programs
    • Create programs and apps that mimic random occurrences, create programs and apps that demonstrate fundamentals of physics such as gravity, acceleration, and bounce
Code Programs in Block-Based Programming (15-20%)
  • Implement solutions using code
    • Identify the basic coding elements of the programming environment, create code for conditional statements, create conditional statements using AND, OR, and NOT, create loops, use counting variables
  • Use libraries and built-in functions to facilitate programming solutions
    • Code by using ready-made functions related to objects including the game board, wall, obstacle, sprite, string, textbox, collection, and turtle
  • Make connections between elements of mathematics and computer science
    • Plot points on a gaming coordinate system, analyze a game to discover how random numbers are used, use the random range function to generate random numbers, evaluate random numbers by using conditionals
Assess Personal Security in Internet Communications (5-10%)
  • Explain the basic components of Internet communication
    • Explain how information travels across the Internet, define cloud computing, describe the Internet of Things, describe the roles of cloud computing and cloud storage and their uses
  • Explain the principles of security
    • Describe how personal information can be used in inappropriate ways, describe how to prevent someone from gaining access to an online account, describe steps that websites take to keep passwords secure, describe the Caesar Cipher
  • Implement encryption and authentication strategies
    • Encode and decode messages using Unicode, evaluate passwords based on security criteria, describe how hashed passwords enhance Internet security
Examine the Software Development Process (5-10%)
  • Plan and create programs
    • Analyze problems in relation to your audience and identify which apps or games can be part of the solution and how they can be used, describe user-experience principles, gather user input, use code or text to create instructions for using a program
  • Describe software development processes used to solve problems
    • Plan project tasks and delegate responsibilities, describe a cycle of create, evaluate, and revise
  • Analyze and evaluate completed programs
    • Evaluate for readability and usability, give and receive feedback, evaluate feedback and revise the program accordingly

Preparation options

Self-paced training

Creative Coding Through Games and Apps

"Creative Coding Through Games and Apps" is a first-semester course that introduces programming in the early secondary grades. Students learn by creating real games or apps and by working in the same way as a professional programmer, in a real software development environment.

Practice test

Take a Microsoft Official Practice Test for Exam 98-380

Who should take this exam?

Candidates for this exam should understand algorithmic flow and implementing common program control structures. Candidates should have experience with block-based programming languages such as Touch Develop, Scratch, and Blockly.

Candidates are expected to have some hands-on experience designing, creating, and publishing code within a block-based programming language.

More information about exams

Preparing for an exam

We recommend that you review this exam preparation guide in its entirety and familiarize yourself with the resources on this website before you schedule your exam. See the Microsoft Certification exam overview for information about registration, videos of typical exam question formats, and other preparation resources. For information on exam policies and scoring, see the Microsoft Certification exam policies and FAQs.


This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format. To help you prepare for this exam, Microsoft recommends that you have hands-on experience with the product and that you use the specified training resources. These training resources do not necessarily cover all topics listed in the "Skills measured" section.