0% found this document useful (0 votes)
17 views

Specification Programming 12 v4.0

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Specification Programming 12 v4.0

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Specification of the Internal Summative Assessment (ISA) on the

subject of “Programming”

Grade 12
2024-2025 academic years
CONTENTS

1. Aim of the summative assessment for the term..............................................................................................3


2. The document defining the content of the summative assessment for the term.............................................3
3. Expected outcomes on the subject .................................................................................................................3
4. Distribution(%) of objectives based on various thinking skills in each term:................................................3
5. Administration rules........................................................................................................................................3
6. Moderation and marking.................................................................................................................................4
SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 1.............................................................5
SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 2...........................................................14
SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 3...........................................................24
SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 4...........................................................33

2
1. AIM OF THE SUMMATIVE ASSESSMENT FOR THE TERM

Summative assessment (SA) is aimed to assess learners’ success in terms of the learning
objectives achievement and reveal their level of knowledge and skills acquired during the term.
Summative assessment checks the achievement of learning objectives for the term planned in the
course plan.

2. THE DOCUMENT DEFINING THE CONTENT OF THE SUMMATIVE ASSESSMENT


FOR THE TERM

Subject program for “Programming”, High school (Grades 11-12)

3. EXPECTED OUTCOMES ON THE SUBJECT

As they learn programming, students will understand that:


 complex systems can be analysed and modeled using abstraction, algorithms and
programming;
 application of programming knowledge can have a key impact on the development of
science, engineering, medicine, education and culture;
 the computational thinking and modeling skills acquired in teaching programming can be
used to automate complex algorithms and in a variety of contexts;
 the use of programming skills allows you to create applications that can improve current
activities and encourage the birth of new ideas.

4. DISTRIBUTION(%) OF OBJECTIVES BASED ON VARIOUS THINKING SKILLS IN


EACH TERM:

Term Knowledge and Application Higher order thinking


comprehension skills
I 14% 57% 29%
II 14% 43% 43%
III 12% 44% 44%
IV 33% 33% 34%
Total 16% 44% 40%

5. ADMINISTRATION RULES
During the Assessment cover all visual materials like, diagram, schemes, posters and maps that can
serve as prompts for the learners.
At the beginning of the Assessment read out the instructions and inform the learners about the
assessment duration. Remind learners that they are not allowed to talk with each other during the
Summative Assessment. After the instructions, make sure they have understood given instructions
and ask if they have any questions before the start of the assessment.
Ensure that the learners are working individually and not helping each other. During the Summative
Assessment learners should not have any access to additional recourses that can help them, for
example, dictionaries (excluding the cases when it is allowed in specification).
Recommend learners to cross the wrong answers instead of using an eraser.

3
During the assessment you can answer learners’ questions, regarding the instructions and the
assessment duration. You should not spell, paraphrase or provide any information that could give
the learner an advantage.
Always tell the learners that they have 5 minutes left before the end of the Summative Assessment.
Tell the learners to stop writing and put down their pens/pencils on the desks at the end of the
Summative Assessment.

6. MODERATION AND MARKING


All teachers use the same version of the mark scheme. During the moderation process it is
necessary to check learner sample papers with the marks awarded to ensure there are no deviations
from the standardized mark scheme.

4
SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 1
Review of the summative assessment term 1
Duration of the summative assessment - 40 minutes
Total marks – 30

Types of the questions:


SAQ – Short-answer question;
EAQ – Extended answer question.
The structure of the summative assessment
This option consists of 11 questions, including tasks with a brief and detailed answers.
In questions requiring a short answer, the student writes down the answer in the form of a
numerical value, a word or a short sentence. In questions requiring a detailed answer, the trainee
must show the entire sequence of actions in solving tasks to obtain the maximum score. A task can
contain several structural parts / sub-questions.

5
Characteristics of tasks of summative assessment for term 1

Unit Learning objectives to be checked Levels of thinking Task Type Time to Score* Score
skills number* of perform for
task* (min)* section
Unit 12.1А: 12.6.1.1 use the functions of the library Random Applying 1, 2 SAQ 3 4 30
Python libraries. to get a pseudo-random number.
12.6.1.3 identify code snippets that use random Higher order thinking 3 EAQ 7 3
sequence generation. skills
12.6.2.1 determine standard colors by RGB code. Knowledge and 4 SAQ 1 1
comprehension
12.6.2.2 use commands of module Image in PIL Applying 5, 6 SAQ 4 4
library (load, create, size, save) to manipulate
images.
12.6.2.3 apply graphic primitives to create Applying 7, 11 SAQ 12 10
drawings.
12.6.2.4 create filters for image processing. Higher order thinking 8 SAQ 8 5
skills
12.6.3.1 use commands of the Wave library to Knowledge and 9, 10 EAQ, 5 3
process sound files. Comprehension, SAQ
Applying
Total: 40 30 30

6
Notes: The tasks use Python code.

1. Specify two correct ways to include libraries.

Circle the correct numbers to answer:

a) import random
b) import choice from random
c) def choice import from random
d) from random import choice as ch
e) use random.choice

Answer:
…………………………………………………………………………………………………………
………………………………

[2]

2. Write a procedure to generate random integers from 100 to 999.

Answer:
…………………………………………………………………………………………………………
………………………..

[2]

3. Explain the next code snippet

Line 3
…………………………………………………………………………………………………………
……………………………
…………………………………………………………………………………………………………
………………………………………

Line 4
…………………………………………………………………………………………………………
……………………………

7
…………………………………………………………………………………………………………
………………………………………

Line 5
…………………………………………………………………………………………………………
……………………………

…………………………………………………………………………………………………………
………………………………………

[3]

4. Fill the gaps to get “blue” color.

color = (……, ……, ……)

[1]

5. Write a command to install the Pillow library.

…………………………………………………………………………………………………………
………………………………………

[1]

6. Anar needs to load the graphic file below into the program and save it with a new name
“python.jpeg”.

icon.jpeg

(a) Write line of code to connect module Pillow.


…………………………………………………………………………………………………
…………………………………………
[1]
(b) Write line of code to upload graphic file.
…………………………………………………………………………………………………
…………………………………………
[1]

8
(c) Write line of code save file with new name.
…………………………………………………………………………………………………
…………………………………………

[1]

7. Complete program to get graphic file below:

- green filled bar


- outline of bar is white
- distance from edge 10px

from PIL import Image, ImageDraw

new_image = Image.new("RGB", (400, 400), (0, 0, 0))

draw = ImageDraw.Draw(new_image)

draw. _____________((____, ____, ____, ____), fill=(____, ____, ____), __________=(255, 255,
255))

new_image.save('new.png', "PNG")

[5]

8. Complete code snippet. Apply a filter to the picture:

- red divided by two;

- green equate to 100;

- blue increase by 100 and decrease by three times.

pixels = file.load()

x, y = file.size

for i in range(……):

for j in range(……):

…………………………………………

9
…………………………………………

…………………………………………

…………………………………………

…………………………………………

[5]

9. Explain that does mean “frame” in *.wav file.

…………………………………………………………………………………………………………
…………………………….

…………………………………………………………………………………………………………
…………………………….

[1]

10. Complete code snippet to reverse wave file.

source = wave.open("in.wav", mode="rb")

dest = wave.open("out.wav", mode="wb")

dest.setparams(source.getparams())

frames_count = source.getnframes()

data = struct.unpack("<" + str(frames_count) + "h", source.readframes(frames_count))

newdata ……………………………………………………………………….

newframes = struct.pack("<" + str(len(newdata)) + "h", *newdata)

dest.writeframes(newframes)

source.close()

dest.close()

[2]

11. Complete a program to output the picture below.

10
Note: you can apply any colors

from PIL import Image, ImageDraw

new_image = Image.new("RGB", (300, 200), (255, 255, 255))

draw = ImageDraw.Draw(new_image)

………………………………………………………………………………………………………
………………………………………….

………………………………………………………………………………………………………
………………………………………….

new_image.save('new.png', "PNG")

[5]

11
SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 2
Review of the summative assessment term 2
Duration of the summative assessment - 40 minutes
Total marks – 30

Types of the questions:


SAQ – Short-answer questions;
EAQ – Extended answer question.
The structure of the summative assessment
This option consists of 11 tasks, including tasks with a brief and detailed answers.
In questions requiring a short answer, the student writes down the answer in the form of a
numerical value, a word or a short sentence. In questions requiring a detailed answer, the trainee
must show the entire sequence of actions in solving tasks to obtain the maximum score. A task can
contain several structural parts / sub-questions.

12
Characteristics of tasks of summative assessment for term 2

Time to
Levels of Task Type of Score for
Unit Learning objectives to be checked perform Score*
thinking skills number* task* section
(min)*
12.5.1.1 connect the PyGame library Knowledge and
1 EAQ 2 1
and its modules. comprehension
12.5.1.2 create the game window.
Applying 2 SAQ 1 1

12.5.1.3 code the game loop of the


Applying 3 SAQ 1 2
application.
12.5.2.1 output graphic primitives to Applying,
the application window. Higher order 4, 5a, 5b EAQ 9 9
Unit 12.2A:
thinking skills 30
PyGame
12.5.3.1 code the movement of graphic Applying,
6a, 6b, SAQ,
objects. Higher order 7 5
7a, 7b EAQ
thinking skills
12.5.3.8 analyse the result of the Higher order
8a, 8b, 8c EAQ 11 6
programme execution. thinking skills
12.5.3.3 control characters with the Applying,
mouse. Higher order 9 SAQ 9 6
thinking skills

Total: 40 30 30

13
Notes: The tasks use Python code.

1. Explain the next line of code.

import pygame

Answer:
…………………………………………………………………………………………………………

[1]

2. Compose a sequence of letters to get the variable screen of the new game window.

A B C D E F G

pygame ((400,350)) display set_mode screen = .

Answer:
…………………………………………………………………………………………………………

[1]

3. State values for variable running. Fill the gaps.

running = ……………………

while running:

for event in pygame.event.get():

if event.type == pygame.QUIT:

running = ………………………

pygame.display.flip()

[2]

4. Draw schematically and describe output in detail of the next program.

14
Drawing Description

[4]

5. Complete the program to output window below.

(A)
…………………………………………………………………………………………………………

[1]

(B)
…………………………………………………………………………………………………………

…………………………………………………………………………………………………………

…………………………………………………………………………………………………………

[4]
15
6. The program has the next code snippet:

screen.fill((0, 0, 0))
pygame.draw.circle(screen, (255, 0, 0), (x_pos, y_pos), 20)

(a) Write a line of code to move the circle to the right.


…………………………………………………………………………………………………
…………………………………………

[1]

(b) Write a line of code to move the circle down left.


…………………………………………………………………………………………………
…………………………………………
…………………………………………………………………………………………………
…………………………………………

[2]

7. The program has the next code snippet:

x0 = 50
y0 = 100
k=0
while k == 0:
screen.fill((255, 255, 255))
for event in pygame.event.get():
if event.type == pygame.QUIT:
k=1
pygame.draw.circle(screen, (255, 0, 0), (x0, y0), 20)
x0 += 7
if y0 < 120:
y0 += 7

(a) Determine x0 after three iterations.


………………………………………………….
[1]
(b) Determine y0 after ten iterations.
………………………………………………….

[1]

16
8 The program has the next code snippet:

(a) Explain line 25.

…………………………………………………………………………………………………………
…………………………….

…………………………………………………………………………………………………………
…………………………….

…………………………………………………………………………………………………………
…………………………….

[2]

(b) Explain line 22.

…………………………………………………………………………………………………………
…………………………….

…………………………………………………………………………………………………………
…………………………….

[1]

(c) Explain line 19 and 20.

…………………………………………………………………………………………………………
…………………………….

…………………………………………………………………………………………………………
…………………………….

…………………………………………………………………………………………………………
…………………………….

17
[3]

9. Complete the code snippet using comments in the code:

dlina = 50
pos = (0, 0)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# check mouse button click event
if event.type == pygame. ……………………………………………………………:
# checking left mouse button press
if event.button == …………:
screen.fill((0, 0, 0))
# to get mouse pointer coordinates

…………………………………………………………………………………………………………
………………………
pygame.draw.circle(screen, (0, 0, 255), pos, dlina)
# checking left mouse button press
elif event.button == ………….:
screen.fill((0, 0, 0))
# to get mouse pointer coordinates

…………………………………………………………………………………………………………
………………………
# specify the coordinates of the rectangle using the code
pygame.draw.rect(screen, (255, 0, 0), (……………….., …………………., dlina, dlina))
pygame.display.flip()

[6]

SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 3


Review of the summative assessment term 3
Duration of the summative assessment - 40 minutes

18
Total marks – 30

Types of the questions:


SAQ – Short-answer questions;
EAQ – Extended answer question.
The structure of the summative assessment
This option consists of 10 tasks, including tasks with a brief and detailed answers.
In questions requiring a short answer, the student writes down the answer in the form of a
numerical value, a word or a short sentence. In questions requiring a detailed answer, the trainee
must show the entire sequence of actions in solving tasks to obtain the maximum score. A task can
contain several structural parts / sub-questions.

19
Characteristics of tasks of summative assessment for term 3

Unit Learning objectives to be checked Levels of thinking Task Type of Time to Score* Score for
skills number* task* perform section
(min)*
Unit 12.3A: 12.5.3.4 control characters with the Knowledge and 1, 2, 7c SAQ 8 6 30
PyGame keyboard; Comprehension,
(continuation) Applying
12.5.2.4 display graphic text on the Applying 3 SAQ 4 4
screen;
12.5.3.7 implement an algorithm Applying 4 SAQ 2 2
for calculating game results.
12.5.2.2 load ready-made Knowledge and 5a, 5b SAQ 2 3
characters for the game; Comprehension,
Applying
12.5.3.5 define parameters (x, y, Applying, 6 EAQ 2 2
width, height) of the current state of Higher order thinking
the object skills
12.5.3.1 code the movement of Applying, Higher order 7a, 7b SAQ, 6 4
graphic objects. thinking skills EAQ
12.5.3.6 check the relative position Higher order thinking 8, 9 EAQ 7 5
of objects on the screen. skills
12.5.3.9 implement the game in Applying, Higher order 10 SAQ 9 4
accordance with the scenario. thinking skills
Total: 40 30 30

20
Notes: The tasks use Python code.

1. State a method that gets the state of all keyboard buttons.

Answer:
…………………………………………………………………………………………………………
………………………………

[1]

2. Write a code snippet to control the movement of an object using the keys shown in the table
below.

Key Keyboard button


K_UP Up arrow
K_DOWN Down arrow
K_RIGHT Right arrow
K_LEFT Left arrow

Code snippet:

[4]

3. Complete the code snippet to create the graphic text "START", font size 20 and default font.

font = pygame.font.Font(……………………………, …………………………..)

graphic_text = font. …………………………..(…………………………., True, (100, 255, 100))

[4]

4. Add two lines of code to count the number of mouse clicks using the correct indentation.

………………………………………………………………………………………………………
……………………………………………..
21
running = True
while running:
screen.fill((0, 0, 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.MOUSEBUTTONUP:

………………………………………………………………………………………………………
……………………………………………..
[2]

5. Askar needs to upload an image “fox.jpeg” that is in the py-file folder.

(a) Complete the code snippet to load the image into the surface picture.

fullname = os. _________.join('fox.jpeg')

picture = pygame.image. ____________(fullname)

[2]

(b) Specify the library to be imported in order for the code in 5(a) to be executed.
…………………………………………………………………………………………………………
………………………………………

[1]

6. Complete the code snippet in which you get the parameters () of the surface screen2 and output a
rectangle with the same parameters.

screen = pygame.display.set_mode((400, 400))

screen2 = pygame.Surface((200, 200))

p = screen2. __________________

pygame.draw.rect(screen, (255, 0, 0), (________________________________________), 2)

[2]

22
7. The program has the next code snippet:

(a) Comment the purpose of lines 22-24.


………………………………………………….……………………………………………
………………………………………………….……………………………………………
………………………………………………….……………………………………………
[2]
(b) Comment the purpose of lines 25-27.
………………………………………………….……………………………………………
………………………………………………….……………………………………………
………………………………………………….……………………………………………

[2]

(c) Comment the purpose of lines 28.


………………………………………………….……………………………………………
………………………………………………….……………………………………………
………………………………………………….……………………………………………
[1]
8 Write a piece of code to check if the point with coordinates (x0, y0) falls within the circle
described by the function below.
pygame.draw.circle(screen, (0, 255, 0), (150, 180), 40)

23
………………………………………………….………………………………………………….…..
…………………………………………………………………………………………………………

[1]

9 Find a match between the collide function and its description.

The collide function Descriptions

finds any sprites in a group that


A pygame.Rect.collidepoint() 1
collide with the given sprite

find sprites in a group that


B pygame.sprite.colliderect() 2
intersect another sprite

collision detection between


C pygame.sprite.collide_mask() 3
two sprites, using masks

detect collision between two


D pygame.sprite.spritecollideany() 4
sprites using circles

test if a point is inside a


5
rectangle

collision detection between


6
two sprites, using rects

A - ……… B - ……… C - ……… D - ………

[4]

10 Write the code snippet check if two rectangles intersect using coordinates. Comment it.

# for the first rectangle use x0, y0, x1, y1

24
# for the second rectangle use x2, y2, x3, y3

………………………………………………….………………………………………………….…..
………………………………………………….……………………………………………..…….…
………………………………………………….…………………………………………………...
……………………………………………………….……………………………………………..
…….
………………………………………………….………………………………………………….…..
………………………………………………….………………………………………………….…..
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………

[4]

25
SPECIFICATION OF SUMMATIVE ASSESSMENT FOR TERM 4
Review of the summative assessment term 4
Duration of the summative assessment - 40 minutes
Total marks – 30

Types of the questions:


SAQ – Short-answer questions;
EAQ – Extended answer question.
The structure of the summative assessment
This option consists of 10 tasks, including tasks with a brief and detailed answers.
In questions requiring a short answer, the student writes down the answer in the form of a
numerical value, a word or a short sentence. In questions requiring a detailed answer, the trainee
must show the entire sequence of actions in solving tasks to obtain the maximum score. A task can
contain several structural parts / sub-questions.

26
Characteristics of tasks of summative assessment for term 4

Unit Learning objectives to Levels of thinking skills Task Type of Time to Score* Score for
be checked number* task* perform section
(min)*
Unit 12.4: Chatbot 12.6.4.1 define the types Knowledge and 1 SAQ, 4 4 30
development. of chatbots. Comprehension EAQ
12.6.4.2 argue for the use Higher order thinking 2 EAQ 3 2
of chatbots. skills

12.6.4.3 explain the Knowledge and 3 EAQ 3 2


meaning of the API. Comprehension
12.6.4.4 get API Knowledge and 4, 5, 6 SAQ 5 5
configuration for a Comprehension,
chatbot. Applying
12.6.4.5 create a database Applying, 9a EAQ 5 2
of answers by keywords. Higher order thinking
skills
12.6.4.6 process chat Applying, Higher order 7, 8, 9b, 9c, 10 SAQ, 20 15
events. thinking skills EAQ
Total: 40 30 30

27
Notes: The tasks use Python code.

1. Describe two features of any two types of chatboots.

Type:
………………………………………………………………………
………….

Features:

1.
………………………………………………………………………
……………….
………………………………………………………………………
…………………..

2.
………………………………………………………………………
……………….
………………………………………………………………………
…………………..

Type:
………………………………………………………………………
………….

Features:

1.
………………………………………………………………………
……………….
………………………………………………………………………
…………………..

2.
………………………………………………………………………
……………….
………………………………………………………………………
…………………..

[4]
28
2. Give two reasons for using chatbots in online banking.

…………………………………………………………………………………………………………
…………………………………………..

…………………………………………………………………………………………………………
…………………………………………..

…………………………………………………………………………………………………………
…………………………………………..
[2]

3. Explain the purpose of the API when using chat bots.

…………………………………………………………………………………………………………
…………………………………………..

…………………………………………………………………………………………………………
…………………………………………..

…………………………………………………………………………………………………………
…………………………………………..
[2]

Practice

4. Create new bot and get API.

[2]

5. Importing required libraries.

[2]

6. Connect to API

[1]

7. Create a function to output message “Hello, {user_name}” when chose \start and nonstop
process.

[4]

8. Create three buttons for choosing language (English, Kazakh or Russian)

[5]

9(a). Create three dictionaries of three keywords and answers

[2]
29
9(b). If user input one of this keyword than chatbot should be output matching answer.

[4]

9(c). In other cases output “No idea”.

[1]

10. Provide screenshot of working chatbot.

[1]

30

You might also like