Practice A1.4 Translation (HL only) with authentic IB Computer Science (First Exam 2027) exam questions for both SL and HL students. This question bank mirrors Paper 1, 2, 3 structure, covering key topics like programming concepts, algorithms, and data structures. Get instant solutions, detailed explanations, and build exam confidence with questions in the style of IB examiners.
Programming languages require translation to execute on computer hardware.
Compare compilation and interpretation as methods of program translation.
State two advantages of using a compiler over an interpreter.
Explain why some programming languages use both compilation and interpretation.
Modern programming languages use sophisticated translation techniques.
Explain the concept of garbage collection and why it is important in memory management.
Compare mark-and-sweep with reference counting as garbage collection strategies.
State two programming languages that use automatic garbage collection.
A cross-platform development framework supports multiple target architectures.
Design a compilation target table for cross-platform deployment:
| Target Platform | Architecture | Instruction Set | ABI | Object Format | Linking Strategy | Runtime Requirements |
|---|---|---|---|---|---|---|
| Windows x64 | x86-64 | PE | ||||
| Linux ARM64 | ARM64 | AAPCS64 | Dynamic | |||
| macOS Intel | x86-64 | Mach-O | ||||
| Android ARM | ARMv7 | Android Runtime |
Evaluate the challenges of maintaining code compatibility across different target platforms and how abstraction layers help address these issues.
The compilation process involves several stages.
Outline the function of a lexical analyzer in the compilation process.
Describe the role of syntax analysis in compilation.
Explain the purpose of code optimization in a compiler.
State what is meant by "object code".
A scientific research facility processes large datasets.
Compare the advantages of GPU computing versus CPU computing for parallel data processing.
Explain why floating-point representation is necessary for scientific calculations and state one limitation.
Describe how distributed computing systems can improve processing efficiency for large datasets.
Evaluate the use of Just-In-Time (JIT) compilation for scientific computing applications.
An embedded system controls an automated car parking system.
State three characteristics that make embedded systems suitable for this application.
The system uses binary sensors to detect car presence. Create a truth table for a logic circuit that activates a barrier when sensors A OR B detect a car, but NOT when both detect simultaneously.
| A | B | Output |
|---|---|---|
| 0 | 0 | |
| 0 | 1 | |
| 1 | 0 | |
| 1 | 1 |
Explain why this system requires deterministic response times.
Discuss the advantages of using cross-compilation for developing embedded system software.
A cryptocurrency mining operation requires optimization across multiple system levels.
Explain why specialized ASIC processors are more efficient than general-purpose CPUs for cryptocurrency mining.
The mining process involves computing hash functions. Explain what a hash function is and why it requires significant computational power.
Describe how the operating system manages heat generation and power consumption during intensive mining operations.
Evaluate whether mining software should use compiled or interpreted languages, considering performance requirements.
A software localization project requires support for multiple programming language features.
Complete the language feature support table for internationalization:
| Programme Language | Unicode support | String Encoding | Memory Model | Garbage Collection | Locale Handling | Text Processing |
|---|---|---|---|---|---|---|
| C++ | Library-dependent | Manual | Complex | |||
| Java | Built-in | UTF-16 | Automatic | |||
| Python | UTF-8 | Automatic | Built-in | |||
| Rust | Built-in | None |
Explain how different string encoding schemes affect memory usage and processing performance in multilingual applications.
Modern development environments use various translation tools.
Outline the function of a linker in the software development process.
Explain the difference between static and dynamic linking.
State two benefits of using an Integrated Development Environment (IDE).
Assembly language serves as an intermediate level between high-level languages and machine code.
Define "assembly language" and explain its relationship to machine code.
State two reasons why programmers might choose to write in assembly language.
Explain the role of an assembler in the translation process.