Mathematical Knowledge

Number Theory

  • Divisibility Rules: 2, 3, 4, 5, 6, 8, 9, 10, 11
  • Prime Numbers: Basic primality testing, simple sieve
  • GCD/LCM: Euclidean algorithm
  • Digit Operations: Sum, reverse, manipulate digits
  • Modular Arithmetic: Basic remainder operations

Combinatorics & Counting

  • Factorials: n! calculations
  • Permutations: P(n,r) = n!/(n-r)!
  • Combinations: C(n,r) = n!/(r!(n-r)!)
  • Basic Probability: Simple calculations
  • Counting Principles: Addition/multiplication rules

Geometry & Coordinates

  • Distance Formulas: Euclidean, Manhattan distance
  • Basic Shapes: Area, perimeter (rectangles, circles, triangles)
  • Grid Navigation: 4-directional, 8-directional movement
  • Coordinate Manipulation: Translation, rotation basics

Core Algorithms

Searching & Sorting

  • Linear Search: Sequential search through arrays
  • Binary Search: Divide-and-conquer on sorted data
  • Built-in Sorting: Arrays.sort(), custom comparators
  • Bubble/Selection Sort: Simple O(n^2) algorithms

String Processing

  • String Basics: Length, charAt, substring operations
  • Pattern Matching: indexOf, contains, simple patterns
  • Character Operations: isVowel, isDigit, case conversion
  • Palindrome Checking: Two-pointer technique
  • Anagram Detection: Sorting, frequency counting

Simulation & Implementation

  • Game Mechanics: Board games, turn-based systems
  • State Tracking: System simulation, command processing
  • Process Modeling: Step-by-step problem execution
  • Rule Implementation: Following complex specifications

Basic Recursion

  • Simple Recursion: Factorial, Fibonacci
  • Tree Traversal: DFS basics
  • Backtracking: Generate permutations, combinations
  • Divide & Conquer: Break problems into subproblems

Data Structures

Arrays & Lists

  • 1D Arrays: Basic operations, rotation, reversal
  • 2D Arrays: Matrix operations, grid traversal
  • ArrayList: Dynamic arrays, add/remove operations
  • Array Algorithms: Maximum subarray, prefix sums

Hash Structures

  • HashMap: Key-value mapping, frequency counting
  • HashSet: Unique elements, duplicate detection
  • Frequency Analysis: Character/number counting
  • Set Operations: Intersection, union basics

Stacks & Queues

  • Stack: LIFO operations, bracket matching
  • Queue: FIFO operations, BFS simulation
  • Application: Expression evaluation, level-order processing

Problem Types by Level

J1-J2
  • Basic I/O and arithmetic
  • Simple conditionals and loops
  • Elementary string manipulation
J3-J4
  • Array and string algorithms
  • Basic optimization problems
  • Simulation and implementation
J5
  • Recursive problem solving
  • Advanced data structure usage
  • Complex algorithmic thinking

Timeline & Target Success Rates

Fall 2025

Math foundations, basic algorithms, data structures

Spring 2026 Pre-CCC

Advanced techniques, integration practice

Target Success Rates

  • J1-J2: 100%
  • J3-J4: 85%
  • J5: 60%

Start Your CCC Journey

Join CS1 or CS2 to master these foundations.