CCC Junior Foundations
Essential Math & Algorithms for CCC Junior J1-J5
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.