diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 2f0f34a..7e2262c 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -37,7 +37,26 @@ export default withMermaid({ { text: 'テキスト', link: '/text/chapter-0/' } ], - sidebar: [ + sidebar: { + '/cpp/': [ + { + text: 'はじめに', + link: '/cpp/preface/', + items: [ + { text: 'この講習会について', link: '/cpp/preface/1' }, + { text: 'このテキストについて', link: '/cpp/preface/2' }, + ] + }, + { + text: '1. 環境構築', + link: '/cpp/chapter-1/', + items: [ + { text: '1.1-A Macの環境構築', link: '/cpp/chapter-1/1-A' }, + { text: '1.1-B Windowsの環境構築', link: '/cpp/chapter-1/1-B' }, + ] + }, + ], + '/text/': [ { text: 'About', items: [ @@ -203,10 +222,11 @@ export default withMermaid({ // { text: 'Chapter 6', link: '/guide/chapter-6' }, ] }, - { + { text: 'プライバシーポリシー', link: '/privacy-policy' } - ], + ], + }, socialLinks: [ { diff --git a/docs/cpp/chapter-1/1-A.md b/docs/cpp/chapter-1/1-A.md index 28aba6c..50cdff6 100644 --- a/docs/cpp/chapter-1/1-A.md +++ b/docs/cpp/chapter-1/1-A.md @@ -1 +1,108 @@ -# 1.1-A Macの環境構築 + +# Macの環境構築手順 + +## Step 1: Clang Install + +1. 「⌘ + スペース」 +2. 「Spotlight を検索」が表示される +![](https://md.trap.jp/uploads/upload_adc9c2a774516259a1da6fe5b39d8644.png) + +3. **ターミナル** と入力 +4. ターミナルを起動する。 +5. `clang --version` と入力 + +::: tip +なにかインストールを求められた時は、指示に従ってインストールしてください。心配なら TA を呼んでください。 +::: + +6. `command not found` と表示されなければOK +![](https://md.trap.jp/uploads/upload_3ba7721f3d474e631fa3d24018524aff.png) + + +7. traQ の tasks チャンネルで :cpp: スタンプをつける + +## Step 2: Install VSCode + +1. https://code.visualstudio.com/download でダウンロード + +2. `⌘+Shift+P` を同時押しして、出てきた画面に `shell command` と入力する。 `Install 'code' command in PATH` を選択。 + +![](https://md.trap.jp/uploads/upload_2abb6541a6553eba592d6ebb50d48f42.png) + +3. ターミナルで `code hello.txt` を入力し、VSCode が起動できたら成功! +![](https://md.trap.jp/uploads/upload_4fedaae551ed06599c053eab0df1961a.png) +![](https://md.trap.jp/uploads/upload_b0f12162818c84b840635422dcb0b2e5.png) + +4. `⌘+,` を押して、出てきた画面に「Auto Save」と入力 + +5. 「Files: Auto Save」の項目を探して、「afterDelay」に変更する +![](https://md.trap.jp/uploads/upload_8a51ad57ec7b6d396cb610c9bbb17040.png) + + +6. `⌘+Shift+X` を押して、出てきた画面に `Japanese` と入力。 `Japanese Language Pack for Visual Studio Code` をインストールする。インストール完了後、右下の `Change Language and Restart` を押して VSCode を再起動する。 +![](https://md.trap.jp/uploads/upload_6c5cfaf6aadcc679382c966d4bccb753.png) + +5. 日本語でVSCode が表示されるようになったら :vscode: スタンプをつける + +## Step 3: 拡張機能の設定 + +1. VSCodeの 画面で `⌘` + `Shift` + `X` + +2. 「C++」と入力し、「C/C++ Extension」の拡張機能を追加 + +3. `Code Runner` と入力して、「Code Runner」拡張機能を追加 + +4. `⌘` + `,` で設定を開く。下記画像の赤丸で囲んだ部分を押して `settings.json` を開く。 +![](https://md.trap.jp/uploads/upload_bbdd65cb92c5c57bb38f797676aaea8f.png) + +5. もし`"cpp": `で始まる行がなければ、一番最後の行の1つ前の行( `}` の前!)に次のコードを追加する。その前の行に `,` がなかったら追加する。 + +``` +"code-runner.executorMap": { + "cpp": "cd $dir && clang++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", +}, +``` + +![](https://md.trap.jp/uploads/upload_6123c7ce669910790a06b98cc664b827.png) + +::: tip + +もしすでに`"cpp": ` で始まる行があった場合、以下のように`g++` を `clang++` に置き換える。 + +```diff +- "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", ++ "cpp": "cd $dir && clang++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", +``` + +::: + +6. `"code-runner.executorMap": {` の行の前に `"code-runner.runInTerminal": true,` を書く(コピペ推奨!!) + +7. こんな感じになっていれば OK +![](https://md.trap.jp/uploads/upload_1444ef8d082128cc2723db31555f3960.png) + +8. ターミナル を開き、 `code main.cpp` と入力する + +9. 次のように書く(コピペでも OK ) + +```cpp +#include +using namespace std; + +int main() { + cout << "Hello, World!" << endl; +} +``` + +10. 画像の赤丸で実行してみる。下側の画面に `Hello, World!` が出れば成功! +![](https://md.trap.jp/uploads/upload_750a50362d2ae00ffcf2f4b041446ed9.png) + +::: tip +なにか出てきた場合は、代わりに三角の隣の`v` を押して、「Run Code」を押す! + +![](https://md.trap.jp/uploads/upload_2b042cfaa37207457e419a5380ccd466.png) +::: + +11. traQ の tasks チャンネルで :done: を押す + +12. 環境構築はこれで完了です!お疲れ様でした。 :blob_pyon: diff --git a/docs/cpp/chapter-1/1-B.md b/docs/cpp/chapter-1/1-B.md index 3ab66f7..e9ce952 100644 --- a/docs/cpp/chapter-1/1-B.md +++ b/docs/cpp/chapter-1/1-B.md @@ -1 +1,164 @@ -# 1.1-B Windowsの環境構築 + +# 環境構築 Windows + +## Step 1: Install WSL + +1. https://apps.microsoft.com/detail/9N0DX20HK701?hl=ja-jp&gl=JP&ocid=pdpshare で Windows Terminal をインストール(既にインストールされていれば飛ばしてOKです) + +1. アプリ検索の画面で、 `Terminal` と入力し 「管理者として実行」 +![](https://md.trap.jp/uploads/upload_367dc95b2cd3e74c808320a907977237.png) + + +2. `wsl --install -d Ubuntu` と入力して、エンターキーを押す。 +![](https://md.trap.jp/uploads/upload_7266a7465d2df1dbc341237b2e4983b3.png) + +:::warning TA向け +WSL インストールトラブルシューティング +https://learn.microsoft.com/ja-jp/windows/wsl/troubleshooting + +`wsl --install` に失敗した際の手動インストールマニュアル +(Windowsバージョンの要件なども書いてあります) +https://learn.microsoft.com/ja-jp/windows/wsl/install-manual +::: + +:::warning TA向け +極稀に、BIOS で virtualization 設定が切られている為に WSL がインストールできない事があります(`Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.` と表示されます) +この場合は BIOS に入って、 Advanced -> Virtualization の順で有効化してください。 +::: + +3. Ubuntu のアカウント設定 + 1. ターミナルの下部に `Enter new UNIX username:` と表示されていなければ `wsl -d Ubuntu` と入力してエンターキーを押す。 + 1. それでも `Enter new UNIX username` が表示されない場合(例えば「ディストリビューションが見つからない」という内容のエラーが表示される場合)は、インストールが失敗している可能性があるので Step 1 の 1. からやり直してみる(これでも上手くいかない場合は TA を呼んでください) + 1. `Enter new UNIX username:` が表示されるので、**半角英数小文字** でユーザーネームを入れる。( `take` とか `takemura` とか `ryugo` とか短い方が良い。フォルダの名前になります) + 2. `New Password:` WSL 内で使いたいパスワードを入力。何も表示されませんが入力されています。入力できたら エンターキーを押す。 + 3. `Retype New password:` もう一度入力。 + +![](https://md.trap.jp/uploads/upload_0fb105e906b7670d57ba0d0810418a95.png) + +4. ウィンドウを閉じる + +6. スタートから Windows Terminal を起動 + +7. `Ctrl` + `,` で設定画面を開く + +8. 「規定のプロファイル」を「Ubuntu」に変更(複数あるならどれでも良い) +![](https://md.trap.jp/uploads/upload_0ce2e7b6aa4468178d034ffc65934316.png) + +9. 「保存」ボタンを押す + +10. Windows Terminal を閉じて、もう一度開く + +11. traQ の tasks チャンネルで :wsl: スタンプを押す + +## Step 2: Install Clang + +1. WSL上で `sudo apt update` + +3. パスワードを求められるので、WSLで設定したパスワードを入力 +4. WSL上で `sudo apt install clang zip curl -y` を実行する +5. `clang --version` で clang のバージョンが表示されれば成功 +6. traQ の tasks チャンネルで :cpp: を押す + +## Step 3: VSCode Install & Init + +1. https://code.visualstudio.com/download から VSCode をインストール + +2. 起動後、 `Ctrl` + `Shift` + `X` を押す + +3. `Japanese` と入力し、 `Japanese Language Pack for Visual Studio Code` をインストール。 +![](https://md.trap.jp/uploads/upload_b54bb733b3bf68010e033d30f2bf57c2.png) + +4. VSCode の右下「Change Language and Restart」を押してインストール。 + +5. もう一度、 `Ctrl` + `Shift` + `X` を押す + +6. `WSL` を入力し、 `WSL` をインストール +![](https://md.trap.jp/uploads/upload_80d3b7bc083b103d30d372ba8dabbe5b.png) + +7. `Ctrl+,` を押して、出てきた画面に「Auto Save」と入力 + +8. 「Files: Auto Save」の項目を探して、「afterDelay」に変更する +![](https://md.trap.jp/uploads/upload_8a51ad57ec7b6d396cb610c9bbb17040.png) + +9. ターミナルで `code hello.txt` を入力し、VSCode が起動できたら成功! +![](https://md.trap.jp/uploads/upload_b00fe65803252e719a394f50527731d9.png) + +::: tip +VSCode が起動しない場合は、一度ターミナルを閉じて開きなおしてからコマンドを再度実行してみてください。 +::: + +8. traQ の tasks チャンネルで :vscode: スタンプを押す + +## Step 4: 拡張機能の設定 + +1. VSCodeの 画面で `Ctrl` + `Shift` + `X` + +2. 「C++」と入力し、「C/C++ Extension Pack」の拡張機能を追加 + +3. `Code Runner` と入力して、「Code Runner」拡張機能を追加 + +4. `Ctrl` + `,` で設定を開く。下記画像の赤丸で囲んだ部分を押して `settings.json` を開く。 +![](https://md.trap.jp/uploads/upload_bbdd65cb92c5c57bb38f797676aaea8f.png) + +5. もし`"cpp": `で始まる行がなければ、一番最後の行の1つ前の行( `}` の前!)に次のコードを追加する。その前の行に `,` がなかったら追加する。 + +``` +"code-runner.executorMap": { + "cpp": "cd $dir && clang++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", +}, +``` + +![](https://md.trap.jp/uploads/upload_6123c7ce669910790a06b98cc664b827.png) + +::: tip + +もしすでに`"cpp": ` で始まる行があった場合、以下のように`g++` を `clang++` に置き換える。 + +```diff +- "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", ++ "cpp": "cd $dir && clang++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", +``` + +::: + +6. `"code-runner.executorMap": {` の行の前に `"code-runner.runInTerminal": true,` を書く(コピペ推奨!!) + +6. 編集画面に赤い波線が出ていないことを確認する。出ている場合は入力にミスがある可能性が高いので、もう一度確認してみる。 (それでも解決しない場合はTAを呼んでください) + +7. こんな感じになっていれば OK +![](https://md.trap.jp/uploads/upload_1444ef8d082128cc2723db31555f3960.png) + +8. WSL を開き、 `code main.cpp` と入力する + +9. 次のように書く(コピペでも OK ) + +```cpp +#include +using namespace std; + +int main() { + cout << "Hello, World!" << endl; +} +``` + +10. 画像の赤丸で実行してみる。下側の画面に `Hello, World!` が出れば成功! +![](https://md.trap.jp/uploads/upload_750a50362d2ae00ffcf2f4b041446ed9.png) + +::: tip +三角のボタンが表示されない場合、ウィンドウの左下に「制限モード」と表示されていないか確認してみてください。 + +表示されている場合にはそこをクリックして、その先の画面で「信頼する」をクリックしてください。 +(画像の赤枠部分) + +![](https://md.trap.jp/uploads/upload_90b63cfdbe22831b9c2f838152fab403.png) +::: + +::: tip +ボタンを押してもうまくいかない場合は、代わりに三角の隣の `v` を押して、「Run Code」を押してみてください! + +![](https://md.trap.jp/uploads/upload_2b042cfaa37207457e419a5380ccd466.png) +::: + +11. traQ の tasks チャンネルで :done: スタンプを押す + +12. 環境構築はこれで完了です!お疲れ様でした。 :blob_pyon: diff --git a/docs/cpp/chapter-1/index.md b/docs/cpp/chapter-1/index.md index 555e13f..3e10f3e 100644 --- a/docs/cpp/chapter-1/index.md +++ b/docs/cpp/chapter-1/index.md @@ -1 +1,18 @@ # 1. 環境構築 + +プログラミングとは、という話をする前にまず**環境構築**を行っていきます。これにかなり時間がかかると考えられるので、環境構築を済ませてから講習を進めていきます。 + +:::tip +プログラミングをする為の**環境**を**構築**する → **環境構築** +::: + +基本的に各自で資料を読みながら、進めてください。 + +**もし手が止まった・わからない所があったらすぐに手を上げるか何かしてTAを呼んでください。** +**終わったら隣の人の様子を見てみてください。** + +使用しているパソコンの種類によって、環境構築の手順が異なります。自分のパソコンに対応するページに進み、環境構築をしていきましょう。 + +[**Mac** の環境構築手順](/cpp/chapter-1/1-A) + +[**Windows** の環境構築手順](/cpp/chapter-1/1-B) diff --git a/docs/cpp/preface/1.md b/docs/cpp/preface/1.md index d0dee87..963b172 100644 --- a/docs/cpp/preface/1.md +++ b/docs/cpp/preface/1.md @@ -1 +1,122 @@ # この講習会について + +## 0.1.1. 講習の目的・目標 + +本講習は、新入生の皆さんが今後プログラミングを用いて色々学ぶために、そもそも「プログラミングとはなにか」ということ、そして「プログラミングの楽しさ」を理解してもらうことを目標とした講習会です。 + +受講者の皆さんは様々な目的を持っていると思います。たとえば、「ゲームを作りたい」「ウェブアプリを作りたい」とか、「競技プログラミングを学びたい」、「機械学習をしたい」とか。それとも単に「プログラミングがどんなものか知りたい」かもしれないですし、あるいは大学の授業のためかもしれません。 + +受講者の中には、早くウェブアプリを作ってみたいのに(早く競プロしたいのに)、長々と今後使わないかもしれない言語で勉強することに意味はあるのか?と思っている人もいるかもしれませんが、皆さん全員にぜひ受けてもらいたいと思っている理由がいくつかあります。 + +まず 1 つは、これから何をするにしろ、「プログラミングの基礎知識」を無視して勉強することは難しいということ。全て合わせると 400-500分程度の講習内容になりますが、どれも最低限かつ必要不可欠な知識です。(必要不可欠と言いましたが、今すぐに覚える必要はないです。まずは一回聞くことが大事。) + +次に 2 つめ、各班で個別にプログラミングの講習会を開くのはあまりに非効率ということ。ほぼ同じ内容の講習会を 5 つも立てることになってしまいます……。 + +3 つめ、一つの言語を会得してしまえば、他の言語も容易に習得できること。特に、本講習で扱う「C++」言語は、今主流の様々な言語の元になっている言語といっても過言ではなく、他の言語を学ぶと意外と似てると何度も感じることになります。 + +そして 4 つめ、ゲームを作るにしろ何をするにしろ、「プログラミング」そのものを無視して先に進むことは難しいです。現在はプログラミングをせずともゲームを作れるような仕組みがたくさんありますが、自分の想像通りに作ろうとするとやはりプログラミングの知識は必要になるでしょう。 + +現在では全てのプログラミング系の班で、このプログラミング基礎講習の受講を推奨しています。そのため内容もどの班に行っても問題なく役に立つ内容になっていますので、ぜひ C++ を習得してください。 + +---- + +本講習の目的は、大きく分けて2つです。 + +1. C++ 言語を用いて、プログラミング言語というのはどういう物かを知ること。 +2. 作りたいものを作るために使う「プログラミング」の基礎や、考え方を学ぶこと。(プログラミングのための下準備をする) + +それっぽく目的を立ててしまいましたが、とりあえず頑張って勉強する、というのが良いと思います(メインはこれに続く講習会たちです)。 + +目的の部分で1つ覚えて欲しいのは、**この講習の内容をすべて覚えなくても良い** という事です。 +これらの話は他の講習で必ず出てくる話なので、出てきたときに「そういえばこの講習会で勉強したなー」って思ってテキストを開いて思い出す、というところまでできれば十分でしょう。 + +---- + +## 0.1.2. 今後の講習との関連 + +* プログラミング基礎講習の途中で「Git 講習会」が開催されます。本講習と合わせてプログラミングをしたい人は受講してください。(今後traPで過ごすのなら受講必須です) + * ただし、普段からGit/GitHubを使用している場合は受講不要です。この講習会では、Git の概念からコミット、プッシュなどの基本的な操作を扱います。 +* 本講習が終わったあとは、各班で講習会が開催されます。2班以上同時に所属もできるので、自分が興味のある分野をある程度決めておくと良いでしょう。 +* 全部を受けるのもアリですが、すごく大変になります。(講習会の詳細は traQ を確認してください;講習会内でも説明するかも?) +* 6 月ごろにはサークル内のハッカソンが開催されます。5-6人のチームになってなにか作ろう、というイベントですが、講習会にあまり参加できてない、という場合でも先輩が丁寧に教えてくれるので、ぜひご参加ください!こちらも詳細は traQ でお知らせします。 + +## 0.1.3. 講習の心構え + +講習を受けるにあたってのアドバイス?です。 + +1. 講習を受けるにあたって、モチベーションを見つけましょう。 + * サラッと書いていますが、これが一番むずかしい要求です。 + * 作りたいもの・やりたいものを探してみてください。 + * ゲームを作りたい・Webサービスを作ってみたい・競技プログラミングをやりたい・プログラミングそのものが楽しい……とか + * 受ける理由を作る・目標を作った方が、より勉強が身に入ると思います。 + * 困ったら先輩に相談すると、いろんなアドバイスがあるかも。 +2. エラーを読んでみる + * エラーが出てきたら、まずエラーを読んでみてください。あまり親切じゃない時もありますが、英語を頑張って読むと「〇〇が違うよー・足りないよー」と教えてくれます。 + * 詰まった時は、2-3分くらい原因を探してみてください。そうすると、30%くらいの問題は解決します。 +3. わからない事があったらすぐ聞く + * 逆に、3分考えても分からなかったらすぐ TA に聞いてください。30%は原因を自分で探して解決できると言いましたが、逆に、70%くらいの問題は解決しません。3分考えても分からないなら、聞いた方が良いでしょう。その為にTAが居ます。 + * traP の講習会でよく貼られてるやつ + ![質問する奴は偉い](https://md.trap.jp/uploads/upload_668e33bd8d1a00d55c4e9b00f9e31738.png) + * 帰ってから分からない事が出てきたら traQ で聞いてください。先輩が答えてくれます。 + * Google で調べるのもアリですが、今どきの Google は欲しい情報を探すのも若干難しいところがあるので、最初のうちは無理せず traQ で聞くのがおすすめです(大抵2~3分で返事がきます) + * 先輩がどのようにして問題を解決しているのかを見ると、次から自分でも解決できるようになるでしょう。 +4. 練習問題を解いて理解する + * 練習問題では、講習会の内容でできる問題たちを用意しています。無理に覚えるより、実際に使ってみましょう。問題を実際に解いた方が楽しいと思います。たまに難しい問題(一筋縄ではいかない問題)も入っていますが、ぜひチャレンジしてください。 + * 講習内で時間を取るので、ぜひ手を動かしてください。 + * 自習できるように問題を沢山用意してるので、時間があればぜひ使ってください(やらなくても問題ないですが不安な人たち用)。 + * あとは自分の説明より先に進んじゃって暇だな、ってなった時にもぜひ練習問題を活用してください。 +5. 友達と、隣の人と仲良くしましょう。 + * 大学の授業っぽく感じるかもしれませんが、ただのサークルの活動です。隣の人はあなたと同じようにサークルに興味を持って入部してくれた部員だし、教えてる人・TA もただのサークルの先輩です。traQ の ID を聞いて、times のチャンネルに通知をつけて、そして LINE なり X なり Discord のアカウントを交換しておくと良いと思います。 + +## 0.1.4. 生成 AI との付き合い方について + +ChatGPT などの生成 AI との付き合い方についてですが、一般的な付き合い方はさておき、本講習では「基本的に使わない」ことを強く推奨します。 + +理由は大きく2つあります。一つは、学習の教材として使うにはまだ精度に劣る部分があること(時々誤った情報を学んでしまうこと)。もう一つは、質問すると一発で答えが出てしまうために、教師として向いていない(皆さんが理解に達する前にコードが書けてしまうことがしばしば)こと。本講習会は使いこなせるようにすることではなく皆さんが理解することを目標としているので、ぜひ使わずに学習してみることをおすすめします。 + +また、本講習会では沢山の TA が参加しているので、ぜひ手をあげて聞いてみてください。 + +## 0.1.5. 講習を欠席する時(都合がつかない時) + +まず、欠席連絡は不要です。(点数を付けたりしてる訳じゃないので、僕らでは出席状況を管理していません) + +次の回の講習で前回欠席したと伝えてくれれば、TAがサポートします。 +すべての回に出席できる前提で講習を組んでないので、焦らずに次の回に出席してください。 + +全ての回で Youtube Live での配信を予定しているので、それの録画を確認してもよいでしょう。 +ただし、オンラインでの参加はおすすめしません(演習時の質問対応が難しいです) + +更に、本講習では同じ内容の講習会を 2 回実施します。 +都合の付く日程にご参加ください。 + +また、講習外の日はぜひ進捗部屋を使ってください( [**#services/knoQ/daily**](https://q.trap.jp/channels/services/knoQ/daily) 参照)。 +講習のある日は人が多くて他の人に話しかけづらいと思うので、進捗部屋でぜひ先輩や同級生と交流を深めてください。 + +## 0.1.6. 講習・テキストの進め方 + +講習は以下の流れで進行します。 + +(日程は後日追記) + +教室などの案内は、[**講習会Wiki** (部内のみ)](https://wiki.trap.jp/Event/welcome/26/lecture/pg-basic) をご確認ください。 + +各章末に、練習問題A,B,C を用意しています。 + +* **練習問題A:** **できれば解いて理解して欲しい練習問題**です。とにかく手を動かしましょう。 +* **練習問題B:** ぜひ解いて欲しいですが、解けなくても問題はありません。 +* **練習問題C:** ややトリッキーな問題が並んでいます。余裕があれば取り組んでみましょう。 + +:::tip traP 外の方へ +2026年度講習会のため、章の分割や構成の変更などを行いました。内容に大幅な変更はありません。 +::: + +## 0.1.7. 講習に関連した traQ チャンネル + +* [**#event/workshop/pg-basic**](https://q.trap.jp/channels/event/workshop/pg-basic) 講習会のチャンネルです。お知らせはここでします。 + * [**jikkyo**](https://q.trap.jp/channels/event/workshop/pg-basic/jikkyo):コメントとか適当にする雑談チャンネルです。 + * [**sodan**](https://q.trap.jp/channels/event/workshop/pg-basic/sodan):質問チャンネルです。質問はここでしてください。TA に手伝ってもらいたい時は手を挙げてください。帰宅後、自習してて詰まった時・わからなかった時もここを使ってください。 + * [**tasks**](https://q.trap.jp/channels/event/workshop/pg-basic/tasks):講習中の進捗確認とか、練習問題を解いた数の確認に使います。 +* **#gps/times/あなたのID** あなたのチャンネルです。 + * 「〇〇できた!」「練習問題解いた!」とか、講習を受け終わったらここに投稿してみると褒められます。別に講習と関係なく適当につぶやいても良いです。 + +それでは皆さん、4日間頑張っていきましょう! diff --git a/docs/cpp/preface/2.md b/docs/cpp/preface/2.md index 4141a5a..25893d7 100644 --- a/docs/cpp/preface/2.md +++ b/docs/cpp/preface/2.md @@ -1 +1,199 @@ + # このテキストについて + +これは、traP にて開催された「プログラミング基礎講習」のテキストです。 + +:::warning 経験者の方へ + +本講習では、初学者が理解しやすいように一部不正確な表現・説明をしていることがあります。完全な誤りでは無いはずですし、基礎講習の範囲では十二分な説明と考えていますので、何卒ご容赦ください。 +::: + +:::info traP 外の方へ + +本テキストのうち、一部 traP 内部のみに公開しているものがあります。予めご了承ください。 + +::: + +なお、本テキスト(の公開部分)は、CC BY-SA 4.0 ライセンスの下公開しています。 +また、ソースコードは https://github.com/traP-jp/pg-basic からご確認いただけます。 + +## traP について + +東京科学大学デジタル創作同好会 traP は、2026年4月現在 600 人以上が在籍する東京科学大学の中で随一の規模を誇る創作・プログラミングの総合サークルです。 + +「アルゴリズム班」「CTF班」「ゲーム班」「グラフィック班」「サウンド班」「SysAd 班」「Kaggle 班」の 7 班が存在し、各々好きな分野で活動しています。 + +弊サークルについての詳細は https://trap.jp/about/ をご覧ください。 + +## 講習会運営陣 + +### 主催サークル + +- traP https://trap.jp + +### 講師 + +(後日追記) + +### TA 協力 + +(後日追記) + +::: spoiler 2025 年度講師陣 + +### 講師 + +- @akimo +- @Luke256 +- @Oxojo +- @tidus +- @TwoSquirrels + +### TA 協力 + +- @akimo +- @Alt--er +- @comavius +- @eoa_te +- @Futadaruma +- @gurukun41 +- @ikura-hamu +- @inutamago_dogegg +- @jupiter_68 +- @kenken +- @Kentaro1043 +- @Luke256 +- @meshi-meshi +- @mumumu +- @ogu_kazemiya +- @Oxojo +- @ramdos +- @Takeno_hito +- @tidus +- @TwoSquirrels +- @zoi_dayo + +::: + +::: spoiler 2024 年度講師陣 + +### 講師 + +- @Takeno_hito +- @Pugma +- @comavius +- @ogu_kazemiya + +### テキスト製作・制作協力 + +- [@Takeno_hito](https://trap.jp/author/Takeno_hito) (Twitter: [@Takeno_hito](https://twitter.com/Takeno_hito) ) +- [@tatyam](https://trap.jp/author/tatyam) (Twitter: [@tatyam_prime](https://twitter.com/tatyam_prime) ); 練習問題の製作 +- [@comavius](https://trap.jp/author/comavius) (Twitter: [@comavius](https://twitter.com/comavius)); 練習問題の製作 +- [@zer0-star](https://trap.jp/author/zer0-star) (Twitter: [@0x_zer0star](https://twitter.com/0x_zer0star) ); Section 7 +- その他 traP 内 Contributor の皆様 + +### TA 協力 + +- @inutamago_dogegg +- @Pina641 +- @ramdos +- @cp20 +- @s9 +- @H1rono_K +- @Pugma +- @Alt--er +- @mehm8128 +- @helgev +- @o_ER4 +- @Hueter +- @comavius +- @Dye +- @ogu_kazemiya +- @soumen +- @sohokro +- @Takeno_hito +- @pirosiki +- @tax_free +- @Sotatsu +- @Qro +- @masky5859 +- @zer0-star + +::: + +::: spoiler 2023 年度講師陣 + +### 講師 + +- [@Takeno_hito](https://trap.jp/author/Takeno_hito) (Twitter: [@Takeno_hito](https://twitter.com/Takeno_hito) ) +- [@helgev](https://trap.jp/author/helgev) (Twitter: [@helgev_](https://twitter.com/helgev_) ); Day 4 に臨時で講師を務めて頂きました + +### テキスト制作・制作協力 + +- [@Takeno_hito](https://trap.jp/author/Takeno_hito) (Twitter: [@Takeno_hito](https://twitter.com/Takeno_hito) ); + Section 0~6, 8 +- [@tatyam](https://trap.jp/author/tatyam) (Twitter: [@tatyam_prime](https://twitter.com/tatyam_prime) ); 練習問題の製作 +- [@zer0-star](https://trap.jp/author/zer0-star) (Twitter: [@0x_zer0star](https://twitter.com/0x_zer0star) ); Section 7 + +### TA 協力 + +各 TA の Twitter アカウントについては、各リンクからご確認ください。 +また、ブログをまだ投稿していない TA については 404 が表示されます。 + +- [@oribe](https://trap.jp/author/@oribe) +- [@chebrinko](https://trap.jp/author/@chebrinko) +- [@sea314](https://trap.jp/author/@sea314) +- [@HF](https://trap.jp/author/@HF) +- [@kegra](https://trap.jp/author/@kegra) +- [@ebi](https://trap.jp/author/@ebi) +- [@DarkRay](https://trap.jp/author/@DarkRay) +- [@Ras](https://trap.jp/author/@Ras) +- [@dan_dan](https://trap.jp/author/@dan_dan) +- [@tatyam](https://trap.jp/author/@tatyam) +- [@mehm8128](https://trap.jp/author/@mehm8128) +- [@itt](https://trap.jp/author/@itt) +- [@irori](https://trap.jp/author/@irori) +- [@inutamago_dogegg](https://trap.jp/author/@inutamago_dogegg) +- [@helgev](https://trap.jp/author/@helgev) +- [@zer0-star](https://trap.jp/author/@zer0-star) +- [@s9](https://trap.jp/author/@s9) +- [@karo](https://trap.jp/author/@karo) +- [@H1rono_K](https://trap.jp/author/@H1rono_K) +- [@DO_885](https://trap.jp/author/@DO_885) +- [@kenken](https://trap.jp/author/@kenken) +- [@Series_205](https://trap.jp/author/@Series_205) +- [@Eraxyso](https://trap.jp/author/@Eraxyso) +- [@comavius](https://trap.jp/author/@comavius) +- [@Pugma](https://trap.jp/author/@Pugma) + +TA 以外にも様々な方にお手伝い頂きました。 + +::: + +## 謝辞 + +### 2023年 + +traP OB である [@OrangeStar](https://trap.jp/author/OrangeStar) さんが過去に開催した講習会を参考にさせて頂きました。 +更に、練習問題に当該講習会の問題を使用することを快くご承諾いただきました。 + +また、友人 [twitter:su8ru_](https://twitter.com/su8ru_) と [twitter:ibuki2003](https://twitter.com/ibuki2003) +にもテキスト制作にご協力いただきました。 + +どちらも初年度講習会を開催するにあたって必要不可欠な協力でした。この場を借りて御礼申し上げます。 + +### 2024年 + +2024 年の講習会開催時には、サークル部員の皆様に練習問題の製作をお願いし、章末問題を用意することができました。問題執筆者・協力者に関しては、リポジトリのコントリビューターをご覧ください。 + +2024 年 6 月に、プログラミング能力検定協会様にテキストをレビューをしていただく機会があり、細部まで非常に丁寧にレビューして頂きました。膨大なテキストの中にあった細かな誤植や、十分でなかった表現とその改善方法をご提案頂き、テキストのさらなるブラッシュアップを行うことができました。 +心より御礼申し上げます。 + +今後のテキスト制作・改善に活かしてまいります。 +心より御礼申し上げます。 + +## 関連リンク + +- 開催報告ブログ記事:公開予定 +- [traP ホームページ](https://trap.jp) +- [Webエンジニアになろう講習会 テキスト](https://traptitech.github.io/naro-text/) diff --git a/docs/cpp/preface/index.md b/docs/cpp/preface/index.md index c8da318..32172de 100644 --- a/docs/cpp/preface/index.md +++ b/docs/cpp/preface/index.md @@ -1 +1,18 @@ + # はじめに + +これは「プログラミング基礎講習」のテキストです。これから全9章に渡ってプログラミングの基礎を学ぶ講習会になっています。 + +:::info traP外の方へ + +このテキストは traP 内での講習会のために作成されたテキストです。 +第0章は traP の講習会に関するガイダンスも含まれるために、一部 traP の内部向けにしか伝わらない情報が入っています。ご注意ください。 + +::: + +::: info 経験者の方へ + +本講習では、初学者が理解しやすいように一部不正確な表現・説明をしていることがあります。完全な誤りでは無いはずですし、基礎講習の範囲では十二分な説明と考えていますので、何卒ご容赦ください。 + +::: +