This student-focused guide outlines the exact strategies, common pitfalls, and architectural insights required to excel in the Cambridge International AS & A Level Computer Science (9618) examination, based on rigorous analysis of the 2023-2025 papers and examiner reports.
読了時間 4 分更新日: 2026年6月21日
試験の概要
試験数
4
満点
300
制限時間
7時間 30分
出題形式
4
試験
時間
配点
問題数
配点比率
出題形式
Paper 1 Theory Fundamentals
1時間 30分
75
8
25%
Short Answer / Definition, Logic Circuit and Truth Table Drawing, SQL and Database Definition, Assembly Logic Tracing
Paper 2 Fundamental Problem-solving and Programming Skills
2時間
75
8
25%
Tracing Logic and Dry Run Tables, Structure Charts and State Diagrams, Syllabus Pseudocode Writing
OOP Class Structure / Inheritance Declaring, Linear / Queue manipulation logic implementation, Recursive iteration counting code block, String Custom Processing Engine without split()
評価段階
A*ABCDEU
電卓の規定
A silent scientific calculator is required where the syllabus permits one. It must NOT be graphical, programmable, or capable of symbolic algebra (CAS), and it must contain no stored programs or notes.
AO1: AO1 Knowledge and Understanding (35%)
AO2: AO2 Application (35%)
AO3: AO3 Design, Programming, and Problem-Solving (30%)
過去問と採点基準にもとづいて作成(2023–2025)。
電卓プログラム
Table mode for roots & turning points
Scientific calculator (e.g. Casio fx-991 series)
目的: Tabulate \(y\) across a range of \(x\) to locate sign changes (roots) and approximate maxima/minima.
使う場面: Solving or sketching a function when you want to find where its graph crosses or turns.
手順
Enter the function in TABLE mode, set the start, end and step, then read where the sign of \(y\) changes or where it peaks.
試験での注意: Allowed, but the calculator must be silent, non-graphical, non-programmable and free of stored content; always show the working the mark scheme requires.
Statistics mode (mean, SD & regression)
Scientific calculator (e.g. Casio fx-991 series)
目的: Read the mean \(\bar{x}\) and standard deviation directly, and the gradient/intercept (and \(r\)) of a linear regression for bivariate data.
使う場面: Any data-handling, statistics, or required-practical analysis question.
手順
Enter the data in STAT mode (1-VAR or A+BX), then recall \(\bar{x}\), \(\sigma\) or the regression coefficients.
試験での注意: Allowed, but the calculator must be silent, non-graphical, non-programmable and free of stored content; always show the working the mark scheme requires.
Carry exact values with Ans & memory
Scientific calculator (e.g. Casio fx-991 series)
目的: Keep full-precision intermediate values to avoid rounding errors.
使う場面: Multi-step calculations where premature rounding loses the final accuracy mark.
手順
Use Ans, STO/RCL or the M+ memory to reuse the unrounded result of each step; round only the final answer.
試験での注意: Allowed, but the calculator must be silent, non-graphical, non-programmable and free of stored content; always show the working the mark scheme requires.
Equation solver — to CHECK your working
Scientific calculator (e.g. Casio fx-991 series)
目的: Use the built-in EQN/SOLVE mode to verify roots of quadratics or simultaneous equations you have already solved by algebra.
使う場面: As a check only, after solving by hand.
手順
Enter the coefficients in EQN mode (or use SOLVE) and confirm they match your worked solution.
試験での注意: Allowed, but the calculator must be silent, non-graphical, non-programmable and free of stored content; always show the working the mark scheme requires.
よくあるミス
1high影響する配点: 2Programming (AS Level content)
Using procedural language 'OUTPUT' or print commands inside functions instead of utilizing the 'RETURN' keyword.
回避方法: Always check the subroutine header. If it is a FUNCTION, it must use RETURN to send back a value. Use OUTPUT only for procedures or when explicitly asked to print directly.
2high影響する配点: 1Algorithm Design and Problem-solving (AS Level content)
Attempting to use the string concatenation operator '+' in pseudocode instead of the standard ampersand '&' operator.
回避方法: Remember that pseudocode is language-agnostic. Use the ampersand '&' for all string concatenations (e.g., ResultString <- String1 & String2).
3medium影響する配点: 1Programming (AS Level content)
Opening or closing text files without enclosing literal filenames in quotation marks, e.g. writing OPENFILE Stock.txt instead of OPENFILE "Stock.txt".
回避方法: Treat literal filenames as strings in all file pseudocode blocks. Always write OPENFILE "filename.txt" FOR READ/WRITE.
4high影響する配点: 4Further Programming (A Level content)
Declaring class fields as public during Paper 4 OOP tasks, ignoring the requirement that attributes must be private.
回避方法: Always declare class attributes as private (e.g., using two leading underscores in Python '__AttributeName' or using private modifier in Java/VB). Access them solely via getter and setter methods.
5medium影響する配点: 3Further Programming (A Level content)
Failing to implement index wrap-around in circular queue functions, leading to linear out-of-bounds pointer increments.
回避方法: Apply modular arithmetic when incrementing the head or tail pointers of circular queues: Pointer <- (Pointer + 1) MOD MaxQueueSize.
6high影響する配点: 2Algorithm Design and Problem-solving (AS Level content)
Omitting conditional loop terminators (such as ENDWHILE, ENDIF, and ENDPROCEDURE) in Paper 2 handwritten pseudocode.
回避方法: Develop a structured habit of writing the terminating keyword (e.g., ENDIF) at the same time you write its opening keyword (e.g., IF), keeping formatting indented and balanced.
Conflating direct and indirect addressing modes in assembly language tracing, loading actual addresses rather than target pointers.
回避方法: Remember that LDI (indirect load) looks up the value inside the memory address, treats that value as a new target address, and then loads data from that target address.
8medium影響する配点: 2Further Programming (A Level content)
Failing to specify parent-class constructors using 'super().__init__()' when constructing derived subclass objects in Python during Paper 4.
回避方法: In OOP inheritance, always make sure to call parent constructor explicitly from the child class constructor using super().__init__(parameter1, parameter2).