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 · ブラウザ内で動作
Today's work · 今日の作業
Foundations · 基礎
Python Basics
Your very first steps in programming — no experience needed. · プログラミングへの最初のステップ — 経験不要。
22 Lessons · レッスン
Python Basics
Your very first steps in programming — no experience needed. · プログラミングへの最初のステップ — 経験不要。
Course overview and progress →
00
Run it! · 実行!
Your first program
Variables
Numbers & operators · 数と演算子
Getting input · 入力の取得
Working with strings · 文字列の操作
Project: Mad Libs · プロジェクト: Mad Libs
Making decisions
Counting loops · カウントループ
While loops
Project: Guess the number · プロジェクト: 数字当てゲーム
Lists (1-D arrays)
Project: Quiz with a score
Functions
Project: Rock, paper, scissors
Scope & arguments
Dictionaries (records)
Project: Text adventure
Planning & pseudocode
Errors & testing
Putting it all together
Project: Hangman
A short history of Python · Pythonの短い歴史
What Python is used for
Where to learn more · さらに学ぶ場所
Set up your computer · コンピュータをセットアップする
Where to learn more · さらに学ぶ場所
- freeCodeCamp — Learn Python Free, hands-on Python certification · 無料の実践的なPython認定
- PyChallenger Learn Python by solving bite-size challenges · 小規模なチャレンジを解いてPythonを学ぶ
- CodeCombat Learn to code by playing a real game · 実際のゲームをプレイしながらコーディングを学ぶ
- Official Python Tutorial · 公式Pythonチュートリアル The clear, free, step-by-step intro from python.org · python.orgによる明確で無料の段階別入門
- Python for Everybody (free course) · Python for Everybody (無料コース) A beloved beginner course by Dr. Chuck · Chuck博士による愛される初心者向けコース
- Visual Studio Code The free editor for writing Python on your own computer · ローカルコンピュータでPythonを書くための無料エディタ
- A-Level Computer Science (this site) · A-Level Computer Science (このサイト) Take Python further, toward the Cambridge exam · Cambridge試験に向けてPythonをさらに進める
- AP CS Principles (this site) · AP CS Principles(このサイト) The big ideas of computing, in Python · 計算の主要なアイデア、Pythonで
JavaScript
The language of the web. Make things happen — runs right in your browser. · ウェブの言語です。ブラウザ内で動作させ、アクションを起こすことができます。
15 Lessons · レッスン
JavaScript
The language of the web. Make things happen — runs right in your browser. · ウェブの言語です。ブラウザ内で動作させ、アクションを起こすことができます。
Course overview and progress →
A short history of JavaScript · JavaScriptの短い歴史
What JavaScript is used for · JavaScriptの使用用途
Where to learn more · さらに学ぶ場所
Run JavaScript anywhere · どこでもJavaScriptを実行
console.log and comments · console.log とコメント
Variables — let and const · 変数 — let と const
Numbers and maths · 数値と数学
Strings
Template literals
Booleans and comparisons · ブール値と比較
if / else
for loops · for ループ
while loops · while ループ
Functions
Arrow functions
Arrays
Array methods · 配列メソッド
Objects
Putting it together · 統合
C Programming · Cプログラミング
From printf to pointers, memory, and data structures — compile and run in your browser. · printfからポインタ、メモリ、データ構造まで — ブラウザ内でコンパイルして実行
23 Lessons · レッスン
C Programming · Cプログラミング
From printf to pointers, memory, and data structures — compile and run in your browser. · printfからポインタ、メモリ、データ構造まで — ブラウザ内でコンパイルして実行
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
Where to learn more · さらに学ぶ場所
- Learn-C.org Free, hands-on C lessons you run in the browser · ブラウザ内で実行する、無料のHands-on C lessons
- Exercism — C track · Exercism — Cトレック Small exercises with friendly mentor feedback · 親切なメンターによるフィードバック付き的小型課題
- HackerRank — C Practice problems, from easy to hard · 易しいものから難しいものまで、演習問題
- cppreference — C The careful, free reference for every C function · すべてのC関数に対応した、丁寧で無料のリファレンス
- The C Programming Language (K&R) The classic book by the makers of C · Cの生み出し者による古典的書籍
- Visual Studio Code The free editor for writing C on your own computer · 自身のコンピュータ上でCを記述するための無料エディタ
- C practice problems (this site) · C演習問題(このサイト) Extra C challenges to test yourself · ご自身の実力を試すための追加Cチャレンジ
- AP CS A (this site) · AP CS A(このサイト) Learn Java, another close cousin of C · Cに closely related な別の言語であるJavaを学ぶ
Web Basics — HTML & CSS · Web基礎 — HTML & CSS
Start from zero. Short steps. Build a real web page. · ゼロから始めます。短いステップで、実際のウェブページを構築します。
21 Lessons · レッスン
Web Basics — HTML & CSS · Web基礎 — HTML & CSS
Start from zero. Short steps. Build a real web page. · ゼロから始めます。短いステップで、実際のウェブページを構築します。
Course overview and progress →
A short history of the web · ウェブの簡易な歴史
What a web page is made of · ウェブページは何で作られているか
Where to learn more · さらに学ぶ場所
What you need (almost nothing) · 必要なもの(ほとんど何もない)
Your first web page
Headings and paragraphs · 見出しと段落
Bold, italic and line breaks · 太字、イタリック、改行
Lists · リスト
Links
Images
Make it a real page
Comments and neat nesting · コメントと整然としたネスト
Tables
Forms · 形態
Boxes and sections
Add some style · スタイルを追加する
Selectors — class and id · セレクター — クラスとID
Colours and backgrounds · 色と背景
Styling text · テキストのスタイリング
The box model
Spacing — margin and padding
Showing and hiding (display) · 表示と非表示 (display)
Width and centering
Rows with Flexbox
Mini-project: a profile card
Where to learn more · さらに学ぶ場所
- MDN — Learn web development · MDN — ウェブ開発を学ぶ The clear, free reference from Mozilla · Mozillaによる明確で無料のリファレンス
- web.dev — Learn HTML · web.dev — HTMLを学ぶ A free, modern HTML course from Google · Google提供の無料でモダンなHTMLコース
- web.dev — Learn CSS · web.dev — CSSを学ぶ A free, modern CSS course from Google · Google提供の無料でモダンなCSSコース
- freeCodeCamp — Responsive Web Design · freeCodeCamp — レスポンシブ・ウェブデザイン Free, hands-on HTML + CSS certification · 無料で実践的なHTML + CSS認定コース
- W3Schools — HTML Tutorial · W3Schools — HTMLチュートリアル Try-it-yourself examples for every tag · すべてのタグに対する試して作る例子
- Python Basics (this site) · Python基礎(このサイト) New to coding? Try Python next · コーディングが初めての方?次はPythonを試してみてください
Exam courses · 試験対策コース
Python for IGCSE CS · IGCSE CSのためのPython
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Cambridge IGCSE 0478のためのプログラミング、アルゴリズム、データベース、論理
14 Lessons · レッスン
Python for IGCSE CS · IGCSE CSのためのPython
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Cambridge IGCSE 0478のためのプログラミング、アルゴリズム、データベース、論理
Course overview and progress →
Sequence, input & output · 順序、入力・出力
Variables, constants & data types · 変数、定数、数据类型
Selection — IF and CASE · 選択 — IF文とCASE文
Iteration — loops · 反復 — ループ
Totalling & counting · 合計とカウント
Procedures & functions
Validation & verification
1-D arrays (lists)
2-D arrays · 2次元配列
Searching & max / min
Bubble sort · バブルソート
Text files · テキストファイル
Databases & SQL
Boolean logic & truth tables
Where to learn more · さらに学ぶ場所
- IGCSE CS handouts (this site) · IGCSE CS 資料(本サイト) Read the theory behind these topics — exam revision · これらのトピックの理論を読み取る——試験復習
- IGCSE CS Pseudocode (this site) · IGCSE CS 擬似コード(このサイト) The 0478 exam writes algorithms in pseudocode — practise it here · 0478試験ではアルゴリズムを擬似コードで記述します — ここで練習してください
- Cambridge IGCSE Computer Science 0478 · Cambridge IGCSE コンピュータサイエンス 0478 The official syllabus and past papers · 公式カリキュラムと過去問
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 · レッスン
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年)の疑似コードを作成して実行せよ。
Course overview and progress →
OUTPUT and sequence · 出力と順序
Variables, DECLARE and CONSTANT
INPUT and data types
Arithmetic, DIV and MOD
Selection: IF
Selection: CASE
Iteration: FOR · 反復:FOR
Iteration: WHILE and REPEAT
String handling · 文字列処理
1-D arrays · 1次元配列
2-D arrays · 2次元配列
Procedures
Functions
Putting it together
Text files
16
Logic: AND, OR, NOT
17
Nested decisions
18
ROUND, RANDOM and a trace · ROUND、RANDOM およびトレース
19
Bubble sort · バブルソート
Where to learn more · さらに学ぶ場所
- Pseudocode handout (this site) · 擬似コードハンドアウト(このサイト) The 0478 appendix for 2026–2028, with every example runnable · 0478の付録は2026–2028に対応しており、すべての例が実行可能である
- Python for IGCSE CS (this site) · IGCSE CS 向けのPython(このサイト) The same ideas, written in Python you can run · 同じ考え方をPythonで記述し、実際に実行できるもの
- IGCSE CS handouts (this site) · IGCSE CS 資料(本サイト) Algorithm design and programming theory · アルゴリズム設計とプログラミング理論
- AS-level CS Pseudocode (this site) · AS-level CS擬似コード(このサイト) The 9618 guide, for the AS paper — different rules · AS試験用の9618ガイド — 異なるルールがある
Python for A-Level CS · A-Level CS用Python
Data structures, algorithms, and OOP for Cambridge 9618. · Cambridge 9618のためのデータ構造、アルゴリズム、およびOOP。
15 Lessons · レッスン
Python for A-Level CS · A-Level CS用Python
Data structures, algorithms, and OOP for Cambridge 9618. · Cambridge 9618のためのデータ構造、アルゴリズム、およびOOP。
Course overview and progress →
Nested loops & 2-D lists · ネストループと 2次元リスト
Text files · テキストファイル
Exceptions · 例外処理
Stacks
Queues
Linked lists · リンクドリスト
Searching
Sorting · ソート
Recursion · 再帰
Classes & objects · クラス & オブジェクト
Inheritance & encapsulation · 継承 & エンカプゼーション
Programming paradigms · プログラミングパラダイム
Hash tables · ハッシュテーブル
Binary search trees
Graphs · グラフ
Where to learn more · さらに学ぶ場所
- AS-level CS Pseudocode (this site) · AS-level CS擬似コード(このサイト) The 9618 exam writes algorithms in pseudocode — practise it here · 9618試験ではアルゴリズムを擬似コードで記述する——ここで練習する
- Pseudocode handout (this site) · 擬似コードハンドアウト(このサイト) Every construct, and where 9618 differs from 0478 · すべての構文と、9618が0478と異なる点
- A-Level CS handouts (this site) · A-Level CS ハンドアウト(このサイト) Read the theory behind these topics — exam revision · これらのトピックの理論を読み取る——試験復習
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 · レッスン
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 の試験用を実行する。
Course overview and progress →
OUTPUT and sequence · 出力と順序
Variables and DECLARE · 変数と宣言(DECLARE)
Types and constants · 型と定数
Arithmetic, DIV and MOD · 演算、DIV(整数除算)とMOD(剰余)
Selection: IF
Selection: CASE
Iteration: FOR · 反復:FOR
Iteration: WHILE and REPEAT · 反復:WHILEとREPEAT
String handling · 文字列処理
1-D arrays · 1次元配列
2-D arrays · 2次元配列
Procedures and BYREF · 手続とBYREF(参照渡し)
Functions · 関数
Records
Text files
Putting it together · 統合
17
Linear search and bubble sort
18
Built-in functions from the insert
19
Logic: AND, OR, NOT
Where to learn more · さらに学ぶ場所
- Pseudocode handout (this site) · 擬似コードハンドアウト(このサイト) Topic 11 is where the 9618 guide differs from IGCSE 0478 · トピック11は、9618ガイドとIGCSE 0478が異なる部分です。
- Python for A-Level CS (this site) · A-Level CS 向けのPython(このサイト) The same ideas, written in Python you can run · 同じ考え方をPythonで記述し、実際に実行できるもの
- A-Level CS handouts (this site) · A-Level CS ハンドアウト(このサイト) Programming and data structures for 9618 · 9618向けのプログラミングとデータ構造
- IGCSE CS Pseudocode (this site) · IGCSE CS 擬似コード(このサイト) The 0478 rules for 2026–2028 — they are not the same · 0478 における 2026–2028 のルールは、同じではありません
Python for AP CS Principles · AP CS PrinciplesのためのPython
Big ideas of computing — data, algorithms, the Internet, and impact. · コンピューティングのビッグイデア — データ、アルゴリズム、インターネット、および影響。
15 Lessons · レッスン
Python for AP CS Principles · AP CS PrinciplesのためのPython
Big ideas of computing — data, algorithms, the Internet, and impact. · コンピューティングのビッグイデア — データ、アルゴリズム、インターネット、および影響。
Course overview and progress →
What computing is · 計算とは何か
Bits and binary
Data compression · データ圧縮
Variables and expressions
Lists and data abstraction · リストとデータ抽象化
Selection
Iteration · 反復構造
Procedures and abstraction · 手続と抽象化
Algorithms: searching
Randomness and simulation · ランダム性とシミュレーション
Algorithmic efficiency · アルゴリズムの効率性
The Internet and how data travels
Parallel and distributed computing
Impact of computing · コンピューティングの影響
The Create Performance Task (guided)
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 · レッスン
Java for AP CS A · AP CS AのためのJava
Java programming for the AP Computer Science A exam. · AP Computer Science A試験のためのJavaプログラミング。
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つの問題タイプ
Where to learn more · さらに学ぶ場所
- Exercism — Java track · Exercism — Javaトラック Free coding exercises with friendly feedback · 親切なフィードバック付きの無料コーディング演習
- CodinGame Learn Java by solving fun coding games · 楽しいコーディングゲームを解くことでJavaを学ぶ
- HackerRank — Java Short challenges, from easy to hard · 易しいものから難しいものまで、短いチャレンジ
- dev.java (official) · dev.java(公式) The official Java site, with clear guides for learners · 学習者向けの明確なガイドがある公式Javaサイト
- The Java Tutorials · Javaチュートリアル Oracle's step-by-step lessons · Oracleの段階別レッスン
- Visual Studio Code The free editor for writing Java on your own computer · 自分のコンピュータでJavaを書くための無料エディタ
- Java practice problems (this site) · Javaの演習問題(このサイト) Exam-style questions to test your Java · Javaのスキルを試すための試験形式の問題
- AP CS Principles (this site) · AP CS Principles(このサイト) The big ideas of computing, in Python · 計算の主要なアイデア、Pythonで
Topics & tools · トピック & ツール
Databases & SQL · データベースとSQL
Query, design, and change relational databases — right in your browser, no setup. · クエリ、設計、リレーショナルデータベースの変更 — ブラウザ内で直接実行、セットアップ不要。
17 Lessons · レッスン
Databases & SQL · データベースとSQL
Query, design, and change relational databases — right in your browser, no setup. · クエリ、設計、リレーショナルデータベースの変更 — ブラウザ内で直接実行、セットアップ不要。
Course overview and progress →
A short history of SQL · SQLの短い歴史
What SQL is used for · SQLの用途
Where to learn more · さらに学ぶ場所
Set up your computer · コンピュータをセットアップする
Databases and SELECT
Choosing columns
Filtering with WHERE
AND, OR, NOT
Sorting with ORDER BY · ORDER BYによるソート
Counting and averaging · カウントと平均値
LIKE, IN and BETWEEN
Grouping with GROUP BY · GROUP BYによるグループ化
Tables, keys and relationships · テーブル、キー、関係性
INNER JOIN
Joins with grouping · グループ化付きジョイン
Creating tables · テーブルの作成
Changing the schema
Inserting rows · 行の挿入
Updating rows · 行の更新
Deleting rows · 行の削除
Normalisation
Where to learn more · さらに学ぶ場所
- SQLBolt Learn SQL step by step with interactive exercises · インタラクティブな演習問題で段階的にSQLを学ぶ
- SQLZoo Practice real queries on real tables in your browser · ブラウザ内で実際のテーブルに対する実用的なクエリを練習
- Mode SQL Tutorial A friendly, hands-on tutorial from basic to advanced · 基礎から応用まで、親しみやすく実践的なチュートリアル
- W3Schools SQL Short, clear pages for every SQL keyword · すべてのSQLキーワードに対して、短く明瞭なページ
- PostgreSQL Tutorial A thorough guide using a popular database · 人気のあるデータベースを使用した包括的なガイド
- SQLite documentation The official docs for the database this course uses · このコースで使用しているデータベースの公式ドキュメント
- A-Level Computer Science (this site) · A-Level Computer Science (このサイト) Includes a unit on databases and SQL · データベースとSQLに関するユニットを含む
Linux & the command line · Linux & コマンドライン
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · キーボード入力によってコンピュータを操作します。安全なブラウザ内ターミナルで実際のシェルコマンドを練習してください。
14 Lessons · レッスン
Linux & the command line · Linux & コマンドライン
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · キーボード入力によってコンピュータを操作します。安全なブラウザ内ターミナルで実際のシェルコマンドを練習してください。
Course overview and progress →
What is Linux? · Linuxとは何か?
Why learn the command line? · なぜコマンドラインを学ぶのか?
Helpful resources · 役立つリソース
Get a real terminal · 実際のターミナルを取得する
01
The shell and the prompt · シェルとプロンプト
02
Moving around · 移動
03
Reading files · ファイルを読む
04
Creating and removing · 作成と削除
05
Wildcards · ワイルドカード
06
Saving output to files · 出力をファイルに保存する
07
Pipes — joining commands · パイプ — コマンドをつなぐ
08
Searching with grep · grep で検索する
09
Finding files with find · find でファイルを探す
10
Sorting and columns · ソートと列
11
File permissions
12
Users and sudo · ユーザーとsudo
13
Programs and processes
14
Software, settings, next steps · ソフトウェア、設定、次のステップ
Where to learn more · さらに学ぶ場所
- explainshell Paste a command, see what every part does · コマンドを貼り付けると、各部分が何をするか表示されます
- The man pages · manページ The official manual for every command · すべてのコマンド公式マニュアル
- tldr pages · tldrページ Short, practical examples instead of long manuals · 長いマニュアルの代わりに、短く実用的な例
- OverTheWire: Bandit Learn the shell by playing a hacking game · ハッキングゲームを通じてシェルを学ぶ
- Linux Journey A friendly, free Linux course · 親切で無料のLinuxコース
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · 美しい文書と数学をタイプセット — LaTeX を書き、サーバーでコンパイルし、PDF を見る。
14 Lessons · レッスン
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · 美しい文書と数学をタイプセット — LaTeX を書き、サーバーでコンパイルし、PDF を見る。
Course overview and progress →
What is LaTeX? · LaTeX とは何か?
Where LaTeX is used · LaTeX が使われている場所
Helpful resources · 役立つリソース
Use LaTeX on your own computer · 自分のコンピュータで LaTeX を使う
01
Your first document · 最初のドキュメント
02
Sections and titles · セクションとタイトル
03
Bold, italic and emphasis · 太字、イタリック、強調表示
04
Bulleted and numbered lists · 箇条書きと番号付きリスト
05
Maths — your first formula · 数学 — 最初の数式
06
Fractions, roots and sums · 分数、ルート、和
07
Aligning equations
08
Tables · テーブル
09
Drawing with TikZ · TikZによる描画
10
Labels and cross-references · ラベルとクロスリファレンス
11
Citations and bibliography
12
Page layout and margins
13
Colour and links · 色とリンク
14
Capstone: a one-page report · Capstone:1ページのレポート
Where to learn more · さらに学ぶ場所
- Overleaf Write and compile LaTeX in your browser — no install · ブラウザで LaTeX を書いてコンパイルする — インストール不要
- Learn LaTeX in 30 minutes · 30分で LaTeX を学ぶ Overleaf's friendly getting-started guide · Overleaf の親しみやすいスタートガイド
- Detexify Draw a symbol, get its LaTeX command · 記号を描き、対応する LaTeX コマンドを取得する
- CTAN The archive of LaTeX packages · LaTeX パッケージのアーカイブ
Cyber security · サイバーセキュリティ
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · 攻撃の仕組みと対処法 — 暗号、ハッシュ、安全なコンピューティング、実践的な学習
16 Lessons · レッスン
Cyber security · サイバーセキュリティ
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · 攻撃の仕組みと対処法 — 暗号、ハッシュ、安全なコンピューティング、実践的な学習
Course overview and progress →
What is cyber security? · サイバーセキュリティとは何か?
Why it matters · なぜそれが重要なのか
Helpful resources · 役立つリソース
Nothing to install · インストール不要
01
Security, privacy and integrity · セキュリティ、プライバシー、および完全性
02
Malware · マルウェア
03
Attacks and brute force · 攻撃とブルートフォース
04
Social engineering · サイバーセキュリティにおける社会的エンジニアリング
05
Defending a system · システムの防御
06
Passwords and authentication · パスワードと認証
07
Storing passwords safely
08
Encoding is not encryption · エンコーディングは暗号化ではありません
09
Symmetric encryption · 対称暗号化
10
Asymmetric encryption · 非対称暗号化
11
Hashing and digital signatures · ハッシュ化とデジタル署名
12
HTTPS, SSL/TLS and certificates
13
Data integrity
14
SQL injection · SQLインジェクション
15
Access control and least privilege · アクセス制御と最小権限
16
Ethics, law and staying safe · 倫理法、法規制、および安全対策
Where to learn more · さらに学ぶ場所
- A-Level CS security handouts (this site) · A-Level CS セキュリティ資料(本サイト) Topics 6 Security, 7 Ethics, 17 Encryption — exam revision · トピック6 セキュリティ、7 倫理、17 暗号化 — 試験復習
- IGCSE CS handouts (this site) · IGCSE CS 資料(本サイト) Topics 2.3 Encryption and 5.3 Cyber security · トピック2.3 暗号化 と 5.3 サイバーセキュリティ
- OWASP Top 10 The most common web security risks, explained · 最も一般的なWebセキュリティリスクの説明
- picoCTF Learn security by solving fun challenges · 楽しいチャレンジを解いてセキュリティを学ぶ
- Have I Been Pwned Check if your email appeared in a data breach · メールアドレスがデータ漏洩に含まれているか確認
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ページ
- Python Basics
- Python for IGCSE CS · IGCSE CSのためのPython
- IGCSE CS Pseudocode · IGCSE CS 疑似コード
- Python for A-Level CS · A-Level CS用Python
- AS-level CS Pseudocode · AS-level CS 擬似コード
- Databases & SQL · データベースとSQL
- Python for AP CS Principles · AP CS PrinciplesのためのPython
- Java for AP CS A · AP CS AのためのJava
- C Programming · Cプログラミング
- Web Basics — HTML & CSS · Web基礎 — HTML & CSS
- JavaScript
- LaTeX
- Linux & the command line · Linux & コマンドライン
- Cyber security · サイバーセキュリティ
- Python Practice · Python練習
- Java Practice · Java練習
- C Practice · Cの練習