Skip to content
CP4CPP logo
CP4CPP/EDU
App settings
Installation and offline settings

Preparing update checks...

Workspaces

12

Reading record

Reading statistics
Reading progress
-
Words
-
Reading estimate
-
Preset chosen
-
Code blocks
-
Images and diagrams
-
Preferences and widgets

    Shared across workspaces

    Heading markersPercentage markers

    edu - Guided Learning Paths

    cp4.vn/edu is for guided lessons, learning paths, and classroom-oriented content.

    It separates learning order from the handbook so learners can study in a coherent progression instead of jumping through isolated articles.

    Preface preview

    Guided learning preface preview
    • Separate learning-oriented content from reference docs.
    • Grow each topic step by step, from small examples to complete templates.
    • Guide students from first exposure to harder problems and confident contest solving.

    This is the first ordered path on cp4cpp.com/edu. It assumes no prior C syntax knowledge, and it assumes a working C setup that can build and run a single source file. Installing a compiler or an editor is outside this path.

    1. Lesson 1 - Your First C++ Program covers how source becomes a running program, then prints one fixed line.
    2. Lesson 2 - Input, Variables, Computation, And Output reads two integers into named variables and prints their sum.
    3. Lesson 3 - First Judge-Style Arithmetic Task reads a rectangle length and width in a fixed format and prints the perimeter.

    Work through them in order. Each lesson depends on the one before it.

    ProjectMeaningTimeForm
    C2G2Coder To Geometry 2DJun 2023HackMD
    EDUExplain Demonstrate UseFeb 2022Discord
    KDTKnapsack Da TutorialJul 2021Codeforces
    MLSRMinimal Lexicographical String RotationApr 2021Codeforces
    A347221Number of nonnegative ordered triples with a+b+c <= S and a*b*c <= TAug 2021OEIS
    VAICPRTSPAVariant of a counting problem related to square productAug 2021Discord
    ShortProjectUse
    USACO-GUIDEUSACO GuideCurated resources, roadmap, and modules.
    CF-EDU-COURSECodeforces EDUTopic lessons for competitive programming.
    CSES-PROBLEMSETCSES Problem SetStructured classical practice.
    EDU-ATCODER-DPEducational DP ContestFocused DP progression.
    CF-BLOG-88660Knapsack Da TutorialKnapsack learning path.
    CF-BLOG-90035LMSRLexicographically minimal string rotation.
    CF-BLOG-93981A347221Counting triples.
    CF-BLOG-96498VAICPRTSPASquare-product counting variants.

    DFS-like learning: users follow a path whose lessons depend on earlier lessons and raise difficulty over time.

    • Guided paths reduce confusion for beginners and save review time for advanced learners.
    • Progress signals help people study steadily with a coherent roadmap.
    • Platforms often point to problems without explicitly modeling what skill changed after solving them.
    • Every new lesson implies prerequisites, exercises, progression logic, and update cost.
    • Each lesson should state prerequisites, target skills, practice tasks, and next steps.
    • Each problem should have nested and consistent subtasks when later subtasks are strict supersets.
    • edu may reuse doc pages, but should not duplicate them line-for-line.

    Reader layout

    Col / Left

    Left column

    LEFT
    Width
    Rail
    ...
    CENTER
    Width
    Rail
    ...
    RIGHT
    Width
    Rail
    ...
    TOP
    NAV
    MID
    BOT

    Theme settings

    Preset 0 · Default · Locked

    Advanced colors · OKLCH

    Choose preset 1-9 to edit. Changes save on this device. Each color inherits in this order: cell → row → column → app → base theme.

    Editing All

    Selected scope

    Chroma 0 is neutral gray. Displayable colors depend on your screen; the browser maps colors outside its gamut. Grayscale also affects images and charts.

    Progress appearance

    Loading controls…

    Forest0.88 kB
    Slate0.88 kB

    Font settings

    Preset 0 · Default · Locked

    Font typography
    Advanced typography

    Auto uses the selected spacing mode. Variants and available weights depend on the font. The browser may synthesize missing weights or styles.

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    0 1 2 3 4 5 6 7 8 9

    ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

    Iosevka Extended10.76 MB
    Inter297.90 kB
    Source Sans 3197.90 kB
    Lora138.11 kB
    Source Serif 4216.02 kB
    JetBrains Mono130.64 kB
    Fira Code53.67 kB

    Keybinds

    Choose a binding, press up to 4 keys together, then release to save. Modifiers count as keys. Esc clears the selected binding. Unsupported keys show Unknown.

    Reader

    Forbidden key combinations

    Windows / Linux reference. These combinations are reserved by this app to avoid browser, system and editing conflicts. Some are intercepted before a page can receive them. Browser extensions and other operating systems may reserve additional keys.

    Fixed navigation: Ctrl + K opens Search. Alt + F6-F9 selects a row; Alt + F10-F12 selects a column. Combine both to select a cell. While selected, F1 captures a screenshot and F2 downloads PNG. Esc cancels dialogs and navigation when a binding is not being recorded.