AP Computer Science Principles: Topic 3.1 Variables and Assignments Study Notes

Course Context and Exam Structure

  • Institution: Mayar International Schools
  • Course: AP Computer Science Principles (CollegeBoard)
  • Academic Year: 2026/2027
  • Instructor: Teacher Foad Ajjawi
  • Curriculum Focus: Big Idea 3 — Algorithms and Programming
  • AP Exam Weighting: 30−35%30-35\% of total exam weight
  • Topic Focus: Topic 3.1 — Variables and Assignments

Learning Objectives

  • AAP-1.A: Represent a value with a variable.
    • AAP-1.A.1: A variable is an abstraction inside a program that can hold a value. Each variable has associated data storage that represents one value at a time, but that value can be a list or other collection that in turn contains multiple values.
    • AAP-1.A.2: Using meaningful variable names helps with the readability of program code and understanding of what values are represented by the variables.
    • AAP-1.A.3: Some programming languages provide types to represent data, which are referenced using variables. These types include numbers, Booleans, lists, and strings.
    • AAP-1.A.4: Some values are better suited to representation using one type of datum rather than another.

Fundamental Concepts of Variables and Data Types

  • Definition of a Variable: A variable is a high-level abstraction inside a program that holds a value.
  • Binary Representation: Computers store all data at the hardware level as binary digits (00s and 11s).
  • Role of Data Types: Data types provide the mechanism through which computers assign meaning to binary digits.
  • Mental Model: Variables act as containers that store information for access and retrieval at a later point in execution.

Variable Naming Conventions and Comparisons

  • Readability Principle: Selecting descriptive, meaningful names enhances code clarity and program understanding.
  • Specific Variable Naming Comparison Cases:
    • Storing a Project Mark:
    • Option 1: ProjectMark
    • Option 2: StudentProjectMarkInCSP
    • Storing a Student First Name:
    • Option 1: FirstName
    • Option 2: FN
    • Storing Student Pass/Fail Status:
    • Option 1: PassedFailed
    • Option 2: Passed-Failed
    • Storing a Student Phone Number:
    • Option 1: StuPhoneNum
    • Option 2: 078PhoneNum

Mapping Data Types to Sample Entities

  • Data Type Classifications:

    • ProjectMark →\rightarrow Number
    • FirstName →\rightarrow Text or String
    • PassedFailed →\rightarrow Boolean
    • PhoneNum →\rightarrow Text or String
    • StudentAvg →\rightarrow Number
  • Recommended Variable Names and Data Types for Specific Scenarios:

    • User's Age:
    • Variable Name: Age
    • Data Type: Number
    • Number of Students in Class:
    • Variable Name: NumStudents
    • Data Type: Number
    • Student Bus Subscription Status (whether a student has a bus subscription):
    • Variable Name: IsBusSub
    • Data Type: Boolean
    • Student Identification Number:
    • Variable Name: StudentID
    • Data Type: Text or String
    • Student Grade Average:
    • Variable Name: StuAvg
    • Data Type: Number

Practice Assessment and Analysis

  • Scenario Context: A teacher writes a code segment using variables to represent a student's name and whether or not the student is currently absent.
  • Multiple-Choice Options:
    • Option a: A string variable named s and a Boolean variable named a
    • Option b: A string variable named s and a numeric variable named n
    • Option c: A string variable named studentName and a Boolean variable named isAbsent
    • Option d: A string variable named studentName and a numeric variable named numAbsences
  • Correct Selection & Rationale: Option c is optimal. studentName (Text/String) clearly identifies the student's name, while isAbsent (Boolean) accurately models a binary status (true if absent, false if present), satisfying both readability requirements and proper data type selection.