Skip to content · ⁨コンテンツへスキップ⁩

Learn to code · ⁨プログラミングを学ぶ⁩

Code · ⁨コード⁩

Write real code and see it run — HTML, CSS, Python, Java, C, SQL, LaTeX, and Linux — with nothing to install. · ⁨HTML, CSS, Python, Java, C, SQL, LaTeX, Linuxなど、インストール不要で本格的なコードを書いて実行できます。⁩

17 coursesHTML/CSS · Python · Java · C · SQL · LaTeX · LinuxRuns in your browser · ⁨ブラウザ内で動作⁩
Foundations · ⁨基礎⁩
Python Basics
Your very first steps in programming — no experience needed. · ⁨プログラミングへの最初のステップ — 経験不要。⁩
22 Lessons · ⁨レッスン⁩
Course overview and progress →
JavaScript
The language of the web. Make things happen — runs right in your browser. · ⁨ウェブの言語です。ブラウザ内で動作させ、アクションを起こすことができます。⁩
15 Lessons · ⁨レッスン⁩
C Programming · ⁨Cプログラミング⁩
From printf to pointers, memory, and data structures — compile and run in your browser. · ⁨printfからポインタ、メモリ、データ構造まで — ブラウザ内でコンパイルして実行⁩
23 Lessons · ⁨レッスン⁩
Course overview and progress →
A short history of C · ⁨Cの簡易な歴史⁩
What C is used for · ⁨Cがどのような用途に使われているか⁩
Where to learn more · ⁨さらに学ぶ場所⁩
Set up your computer · ⁨コンピュータをセットアップする⁩
C basics: main, printf, and functions
Variables, types, and arithmetic
Booleans and selection: if, else, switch
Loops: while, for, and accumulation
Functions, parameters, and return values
Nested loops and patterns · ⁨ネストされたループとパターン⁩
1-D arrays: store, index, and traverse
Pointers: &, *, and pass-by-pointer
Strings: char arrays and the null terminator
Array algorithms: max, count, search, average · ⁨配列アルゴリズム:最大値、カウント、検索、平均⁩
2-D arrays: working with a grid · ⁨2次元配列:グリッドとの操作⁩
Searching: linear and binary · ⁨検索:線形検索と二項検索⁩
Sorting: bubble, selection, and insertion · ⁨ソート:バブルソート、選択ソート、挿入ソート⁩
Recursion: base case and recursive case
Structs and typedef: . vs ->
Dynamic memory: malloc, free, and realloc
Linked lists · ⁨リンクドリスト⁩
Stacks and queues (array-backed) · ⁨スタックとキュー(配列 backed)⁩
Text files: write then read · ⁨テキストファイル:書き込み然后读取⁩
Error handling with return codes
Bits, binary, and bitwise operators
Run-length encoding (compression)
Preprocessor, const, static, and enum
Web Basics — HTML & CSS · ⁨Web基礎 — HTML & CSS⁩
Start from zero. Short steps. Build a real web page. · ⁨ゼロから始めます。短いステップで、実際のウェブページを構築します。⁩
21 Lessons · ⁨レッスン⁩
Course overview and progress →
Exam courses · ⁨試験対策コース⁩
Python for IGCSE CS · ⁨IGCSE CSのためのPython⁩
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · ⁨Cambridge IGCSE 0478のためのプログラミング、アルゴリズム、データベース、論理⁩
14 Lessons · ⁨レッスン⁩
IGCSE CS Pseudocode · ⁨IGCSE CS 疑似コード⁩
Write and run the pseudocode in the Cambridge IGCSE 0478 syllabus for 2026, 2027 and 2028. · ⁨Cambridge IGCSE 0478 syllabus 用(2026年、2027年、2028年)の疑似コードを作成して実行せよ。⁩
19 Lessons · ⁨レッスン⁩
Course overview and progress →
Python for A-Level CS · ⁨A-Level CS用Python⁩
Data structures, algorithms, and OOP for Cambridge 9618. · ⁨Cambridge 9618のためのデータ構造、アルゴリズム、およびOOP。⁩
15 Lessons · ⁨レッスン⁩
AS-level CS Pseudocode · ⁨AS-level CS 擬似コード⁩
Write and run the pseudocode in the Cambridge 9618 guide for exams in 2026, and for 2027, 2028 and 2029. · ⁨Cambridge 9618 ガイドの疑似コードを書き、2026 、2027、2028、2029 の試験用を実行する。⁩
19 Lessons · ⁨レッスン⁩
Course overview and progress →
Python for AP CS Principles · ⁨AP CS PrinciplesのためのPython⁩
Big ideas of computing — data, algorithms, the Internet, and impact. · ⁨コンピューティングのビッグイデア — データ、アルゴリズム、インターネット、および影響。⁩
15 Lessons · ⁨レッスン⁩
Java for AP CS A · ⁨AP CS AのためのJava⁩
Java programming for the AP Computer Science A exam. · ⁨AP Computer Science A試験のためのJavaプログラミング。⁩
19 Lessons · ⁨レッスン⁩
Course overview and progress →
A short history of Java · ⁨Javaの短い歴史⁩
What Java is used for · ⁨Javaが何に使われるか⁩
Where to learn more · ⁨さらに学ぶ場所⁩
Set up your computer · ⁨コンピュータをセットアップする⁩
Java basics: classes, main, and output · ⁨Javaの基礎:クラス、main、および出力⁩
Using objects: String, Math, and wrappers
Booleans and selection: if/else and logic
Loops: while, for, and accumulation · ⁨ループ:while、for、および累加⁩
Strings and nested loops · ⁨文字列とネストループ⁩
Writing a class: fields, constructor, methods · ⁨クラス定義:フィールド、コンストラクタ、メソッド⁩
Encapsulation: private fields, getters, setters · ⁨カプセル化:private フィールド、ゲッター、セッター⁩
1-D arrays: store, index, and traverse
Array algorithms: max, count, search, average · ⁨配列アルゴリズム:最大値、カウント、検索、平均⁩
ArrayList: a list that grows · ⁨ArrayList:成長するリスト⁩
ArrayList algorithms: filter and the remove bug
2-D arrays: working with a grid · ⁨2次元配列:グリッドとの操作⁩
Searching: linear and binary · ⁨検索:線形検索と二項検索⁩
Sorting: selection and insertion sort
Recursion: base case and recursive case · ⁨再帰:ベースケースと再帰ケース⁩
Text files: write and read with Scanner · ⁨テキストファイル:Scannerによる書き込みと読み込み⁩
Inheritance: extends, super, and overriding
Polymorphism: dynamic dispatch and toString()
FRQ workshop: the 4 question types · ⁨FRQワークショップ:4つの問題タイプ⁩
Topics & tools · ⁨トピック & ツール⁩
Databases & SQL · ⁨データベースとSQL⁩
Query, design, and change relational databases — right in your browser, no setup. · ⁨クエリ、設計、リレーショナルデータベースの変更 — ブラウザ内で直接実行、セットアップ不要。⁩
17 Lessons · ⁨レッスン⁩
Course overview and progress →
Linux & the command line · ⁨Linux & コマンドライン⁩
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · ⁨キーボード入力によってコンピュータを操作します。安全なブラウザ内ターミナルで実際のシェルコマンドを練習してください。⁩
14 Lessons · ⁨レッスン⁩
Course overview and progress →
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · ⁨美しい文書と数学をタイプセット — LaTeX を書き、サーバーでコンパイルし、PDF を見る。⁩
14 Lessons · ⁨レッスン⁩
Course overview and progress →
Cyber security · ⁨サイバーセキュリティ⁩
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · ⁨攻撃の仕組みと対処法 — 暗号、ハッシュ、安全なコンピューティング、実践的な学習⁩
16 Lessons · ⁨レッスン⁩
Course overview and progress →

Practice · ⁨実践⁩

Sharpen your skills with challenges from 1★ to 5★. Pick a language. · ⁨1★から5★までのチャレンジでスキルを磨きましょう。言語を選んでください。⁩

01
Print a word · ⁨単語を表示する⁩
★☆☆☆☆
02
Print another word · ⁨別の単語を表示する⁩
★☆☆☆☆
03
Print a sentence · ⁨文を表示する⁩
★☆☆☆☆
04
Print with a ! · ⁨!付きで表示する⁩
★☆☆☆☆
05
Print two lines · ⁨2行表示する⁩
★☆☆☆☆
06
Print three lines · ⁨3行表示する⁩
★☆☆☆☆
07
Print a number · ⁨数字を表示する⁩
★☆☆☆☆
08
Print a bigger number · ⁨大きな数字を出力⁩
★☆☆☆☆
09
Add two numbers · ⁨2つの数字を加算する⁩
★☆☆☆☆
10
Add bigger numbers · ⁨大きな数字を加算⁩
★☆☆☆☆
11
Subtract · ⁨引き算⁩
★☆☆☆☆
12
Multiply · ⁨掛け算⁩
★☆☆☆☆
13
Divide · ⁨割り算⁩
★☆☆☆☆
14
Remainder
★☆☆☆☆
15
Use a variable · ⁨変数を使う⁩
★☆☆☆☆
16
A number variable · ⁨数字変数⁩
★☆☆☆☆
17
Change a variable · ⁨変数を更新⁩
★☆☆☆☆
18
Add two variables · ⁨2つの変数を加算する⁩
★☆☆☆☆
19
Multiply two variables · ⁨2つの変数を掛け合わせる⁩
★☆☆☆☆
20
Join two words · ⁨2つの単語をつなぐ⁩
★☆☆☆☆
21
Greet a name · ⁨名前へ挨拶⁩
★☆☆☆☆
22
Repeat text · ⁨テキストを反復⁩
★☆☆☆☆
23
Ask for a name · ⁨名前を質問⁩
★☆☆☆☆
24
Echo a number
★☆☆☆☆
105
Call a function · ⁨関数を呼び出す⁩
★☆☆☆☆
106
Use what it gives back · ⁨戻り値を使う⁩
★☆☆☆☆
107
Finish the function · ⁨関数を完成させる⁩
★☆☆☆☆
108
Write one yourself · ⁨自分で書く⁩
★★☆☆☆
25
Your first function · ⁨最初の関数⁩
★☆☆☆☆
26
Is it positive?
★☆☆☆☆
27
The bigger one · ⁨大きい方⁩
★☆☆☆☆
28
The last item · ⁨最後の要素⁩
★☆☆☆☆
29
Is it even?
★☆☆☆☆
30
Sum a list · ⁨リストの合計⁩
★☆☆☆☆
31
Reverse a string · ⁨文字列を逆にする⁩
★★☆☆☆
32
Count the vowels · ⁨母音の数を数える⁩
★★☆☆☆
33
FizzBuzz
★★★☆☆
34
Letter frequencies · ⁨文字の頻度⁩
★★★☆☆
35
Remove duplicates · ⁨重複を削除⁩
★★★☆☆
36
Second largest
★★★☆☆
37
Group anagrams · ⁨アナグラムをグループ化⁩
★★★★☆
38
Flatten a nested list · ⁨ネストリストの平坦化⁩
★★★★☆
39
RPN calculator · ⁨RPN計算機⁩
★★★★★
40
Run-length encoding · ⁨ランルースエンコーディング⁩
★★★★★
41
Count to ten · ⁨10まで数える⁩
★★☆☆☆
42
Even numbers · ⁨偶数のみ⁩
★★☆☆☆
43
Liftoff
★★☆☆☆
44
Star triangle · ⁨星の三角形⁩
★★☆☆☆
45
The 3 times table · ⁨3の掛け算表⁩
★★☆☆☆
46
Running total · ⁨累計合計⁩
★★★☆☆
47
Largest without max · ⁨maxを使わず最大値を求める⁩
★★★☆☆
48
Smallest without min · ⁨minを使わず最小値を求める⁩
★★★☆☆
49
Count the positives
★★☆☆☆
50
Average of a list · ⁨リストの平均⁩
★★★☆☆
51
Add up 1 to 100
★★☆☆☆
52
Upside-down triangle · ⁨逆三角形⁩
★★☆☆☆
53
FizzBuzz with 4 and 6 · ⁨4と6のFizzBuzz⁩
★★★☆☆
54
Until you type stop · ⁨stopを入力するまで⁩
★★★☆☆
55
A list of squares · ⁨二乗のリスト⁩
★★☆☆☆
56
Count a value
★★☆☆☆
57
Keep the evens
★★☆☆☆
58
Find the position
★★★☆☆
59
Smallest and largest
★★★☆☆
60
Above average
★★★☆☆
61
Binary to denary
★★★★☆
62
Denary to binary
★★★★☆
63
Digital root
★★★★☆
64
Caesar cipher
★★★★☆
65
Bank account · ⁨銀行口座⁩
★★★★☆
66
Transpose a grid · ⁨グリッドの転置⁩
★★★★☆
67
Most common word
★★★★★
68
Sieve of Eratosthenes
★★★★★
69
A row of Pascal's triangle
★★★★★
70
Tic-tac-toe winner · ⁨ tic-tac-toe の勝者判定⁩
★★★★★
71
Is it big?
★☆☆☆☆
72
Pass or fail
★☆☆☆☆
73
Positive, negative or zero
★☆☆☆☆
74
The bigger number · ⁨より大きな数⁩
★☆☆☆☆
75
Even or odd
★☆☆☆☆
76
Is it in range?
★★☆☆☆
77
Free entry · ⁨無料入場⁩
★★☆☆☆
78
Grade letter
★★☆☆☆
79
Divisible by both
★★☆☆☆
80
Ticket price
★★☆☆☆
81
Finish the countdown · ⁨カウントダウンを終了する⁩
★☆☆☆☆
82
The loop that never ends · ⁨永遠に終わらないループ⁩
★☆☆☆☆
83
Count up to five · ⁨5まで数える⁩
★☆☆☆☆
84
Add up to five · ⁨5まで足し合わせる⁩
★☆☆☆☆
85
Double until it passes 100 · ⁨100を超えるまで倍増させる⁩
★★☆☆☆
86
Stop at the first over fifty · ⁨50を超えた瞬間に停止する⁩
★★☆☆☆
87
Count down in twos
★★☆☆☆
88
Until they type stop · ⁨stopが入力されるまで⁩
★★☆☆☆
89
How many halvings? · ⁨何回半分に分割したか?⁩
★★☆☆☆
90
A row of the times table
★★☆☆☆
91
The first letter · ⁨最初の文字⁩
★☆☆☆☆
92
The last letter · ⁨最後の文字⁩
★☆☆☆☆
93
The first three letters · ⁨最初の3文字⁩
★☆☆☆☆
94
How long is it? · ⁨長さはいくつですか?⁩
★☆☆☆☆
95
Shout it · ⁨大声で言う⁩
★☆☆☆☆
96
Initials · ⁨イニシャル⁩
★★☆☆☆
97
Ask for a name · ⁨名前を質問⁩
★☆☆☆☆
98
Ask for two things · ⁨2つのものを聞く⁩
★☆☆☆☆
99
A number from input
★☆☆☆☆
100
Add two numbers you were given · ⁨与えられた2つの数字を加算⁩
★★☆☆☆
101
Each letter on its own line · ⁨各文字を別々の行に⁩
★☆☆☆☆
102
Zero to four · ⁨0から4まで⁩
★☆☆☆☆
103
Count the letters · ⁨文字の数を数える⁩
★☆☆☆☆
104
Add up one to five · ⁨1から5までの合計⁩
★☆☆☆☆
01
Print a word · ⁨単語を表示する⁩
★☆☆☆☆
02
Print another word · ⁨別の単語を表示する⁩
★☆☆☆☆
03
Print a sentence · ⁨文を表示する⁩
★☆☆☆☆
04
Print with a ! · ⁨!付きで表示する⁩
★☆☆☆☆
05
Print two lines · ⁨2行表示する⁩
★☆☆☆☆
06
Print a number · ⁨数字を表示する⁩
★☆☆☆☆
07
Add two numbers · ⁨2つの数字を加算する⁩
★☆☆☆☆
08
Subtract · ⁨引き算⁩
★☆☆☆☆
09
Multiply · ⁨掛け算⁩
★☆☆☆☆
10
Divide · ⁨割り算⁩
★☆☆☆☆
11
Remainder · ⁨剰余⁩
★☆☆☆☆
12
A number variable · ⁨数字変数⁩
★☆☆☆☆
13
A text variable · ⁨文字列変数⁩
★☆☆☆☆
14
Add two variables · ⁨2つの変数を加算する⁩
★☆☆☆☆
15
Your first method · ⁨最初のメソッド⁩
★☆☆☆☆
16
Is it positive?
★☆☆☆☆
17
Cube a number · ⁨立方する⁩
★☆☆☆☆
18
The smaller one · ⁨小さい方を選ぶ⁩
★☆☆☆☆
19
Square a number · ⁨二乗する⁩
★☆☆☆☆
20
Largest of three · ⁨3つの数の最大値⁩
★☆☆☆☆
21
Count the vowels · ⁨母音の数を数える⁩
★★☆☆☆
22
Reverse the word order · ⁨単語の順序を逆にする⁩
★★☆☆☆
23
Palindrome check
★★★☆☆
24
Running sum · ⁨累計和⁩
★★★☆☆
25
Most frequent character · ⁨最も頻度の高い文字⁩
★★★☆☆
26
Binary search
★★★☆☆
27
Factorial (mind the size) · ⁨階乗(サイズに注意)⁩
★★★★☆
28
Count primes below n · ⁨n未満の素数を数える⁩
★★★★☆
29
Roman numerals
★★★★★
30
Longest common prefix · ⁨最長共通接頭辞⁩
★★★★★
01
Print a word · ⁨単語を表示する⁩
★☆☆☆☆
02
Print another word · ⁨別の単語を表示する⁩
★☆☆☆☆
03
Print a sentence · ⁨文を表示する⁩
★☆☆☆☆
04
Print with a ! · ⁨!付きで表示する⁩
★☆☆☆☆
05
Print two lines · ⁨2行表示する⁩
★☆☆☆☆
06
Print three lines · ⁨3行表示する⁩
★☆☆☆☆
07
Print a number · ⁨数字を表示する⁩
★☆☆☆☆
08
Add two numbers · ⁨2つの数字を加算する⁩
★☆☆☆☆
09
Subtract · ⁨引き算⁩
★☆☆☆☆
10
Multiply · ⁨掛け算⁩
★☆☆☆☆
11
Remainder · ⁨剰余⁩
★☆☆☆☆
12
A number variable · ⁨数字変数⁩
★☆☆☆☆
13
Add two variables · ⁨2つの変数を加算する⁩
★☆☆☆☆
14
Multiply two variables · ⁨2つの変数を掛け合わせる⁩
★☆☆☆☆
15
Your first function · ⁨最初の関数⁩
★☆☆☆☆
16
Is it positive?
★☆☆☆☆
17
Cube a number · ⁨立方する⁩
★☆☆☆☆
18
The smaller one · ⁨小さい方を選ぶ⁩
★☆☆☆☆
19
Square a number · ⁨二乗する⁩
★☆☆☆☆
20
Sign of a number
★☆☆☆☆
21
Largest of three · ⁨3つの数の最大値⁩
★★☆☆☆
22
Factorial · ⁨階乗⁩
★★☆☆☆
23
Greatest common divisor · ⁨最大公約数⁩
★★☆☆☆
24
Count the 1-bits · ⁨1ビットを数える⁩
★★☆☆☆
25
Sum an array · ⁨配列の和⁩
★★★☆☆
26
Swap two values · ⁨2つの値を交換する⁩
★★★☆☆
27
String length · ⁨文字列の長さ⁩
★★★☆☆
28
Count a character
★★★☆☆
29
Reverse in place · ⁨インプレイス逆転⁩
★★★★☆
30
Palindrome
★★★★☆
31
Bubble sort · ⁨バブルソート⁩
★★★★☆
32
Points with a struct
★★★★☆
33
Binary search
★★★★★
34
Parse an integer · ⁨整数を解析する⁩
★★★★★
All courses, one page each · ⁨全コース、各1ページ⁩

Log in or create account · ⁨ログインまたはアカウント作成⁩

IGCSE, A-Level & AP