講習会ガイダンス
0.1. 講習の目的・目標
本講習は、新入生の皆さんが今後プログラミングを用いて色々学ぶために、そもそも「プログラミングとはなにか」ということ、そして「プログラミングの楽しさ」を理解してもらうことを目標とした講習会です。
受講者の皆さんは様々な目的を持っていると思います。たとえば、「ゲームを作りたい」「ウェブアプリを作りたい」とか、「競技プログラミングを学びたい」、「機械学習をしたい」とか。それとも単に「プログラミングがどんなものか知りたい」かもしれないですし、あるいは大学の授業のためかもしれません。
受講者の中には、早くウェブアプリを作ってみたいのに(早く競プロしたいのに)、長々と今後使わないかもしれない言語で勉強することに意味はあるのか?と思っている人もいるかもしれませんが、皆さん全員にぜひ受けてもらいたいと思っている理由がいくつかあります。
まず 1 つは、これから何をするにしろ、「プログラミングの基礎知識」を無視して勉強することは難しいということ。全て合わせると 400-500分程度の講習内容になりますが、どれも最低限かつ必要不可欠な知識です。(必要不可欠と言いましたが、今すぐに覚える必要はないです。まずは一回聞くことが大事。)
次に 2 つめ、各班で個別にプログラミングの講習会を開くのはあまりに非効率ということ。ほぼ同じ内容の講習会を 5 つも立てることになってしまいます……。
3 つめ、一つの言語を会得してしまえば、他の言語も用意に習得できること。特に、本講習で扱う「C++」言語は、今主流の様々な言語の元になっている言語といっても過言ではなく、他の言語を学ぶと意外と似てると何度も感じることになります。
そして 4 つめ、ゲームを作るにしろ何をするにしろ、「プログラミング」そのものを無視して先に進むことは難しいです。現在はプログラミングをせずともゲームを作れるような仕組みがたくさんありますが、自分の想像通りに作ろうとするとやはりプログラミングの知識は必要になるでしょう。
現在では全てのプログラミング系の班で、このプログラミング基礎講習の受講を推奨しています。そのため内容もどの班に行っても問題なく役に立つ内容になっていますので、ぜひ C++ を習得してください。
本講習の目的は、大きく分けて2つです。
- C++ 言語を用いて、プログラミング言語というのはどういう物かを知ること。
- 作りたいものを作るために使う「プログラミング」の基礎や、考え方を学ぶこと。(プログラミングのための下準備をする)
それっぽく目的を立ててしまいましたが、とりあえず頑張って勉強する、というのが良いと思います(メインはこれに続く講習会たちです)。
目的の部分で1つ覚えて欲しいのは、この講習の内容をすべて覚えなくても良い という事です。 これらの話は他の講習で必ず出てくる話なので、出てきたときに「そういえばこの講習会で勉強したなー」って思ってテキストを開いて思い出す、というところまでできれば十分でしょう。
0.2. 今後の講習との関連
- プログラミング基礎講習の途中で「Git 講習会」が開催されます。本講習と合わせてプログラミングをしたい人は受講してください。(今後traPで過ごすのなら受講必須です)
- ただし、普段からGit/GitHubを使用している場合は受講不要です。この講習会では、Git の概念からコミット、プッシュなどの基本的な操作を扱います。
- 本講習が終わったあとは、各班で講習会が開催されます。2班以上同時に所属もできるので、自分が興味のある分野をある程度決めておくと良いでしょう。
- 全部を受けるのもアリですが、すごく大変になります。(講習会の詳細は traQ を確認してください;講習会内でも説明するかも?)
- 6 月ごろにはサークル内のハッカソンが開催されます。5-6人のチームになってなにか作ろう、というイベントですが、講習会にあまり参加できてない、という場合でも先輩が丁寧に教えてくれるので、ぜひご参加ください!こちらも詳細は traQ でお知らせします。
0.3. 講習の心構え
講習を受けるにあたってのアドバイス?です。
- 講習を受けるにあたって、モチベーションを見つけましょう。
- サラッと書いていますが、これが一番むずかしい要求です。
- 作りたいもの・やりたいものを探してみてください。
- ゲームを作りたい・Webサービスを作ってみたい・競技プログラミングをやりたい・プログラミングそのものが楽しい……とか
- 受ける理由を作る・目標を作った方が、より勉強が身に入ると思います。
- 困ったら先輩に相談すると、いろんなアドバイスがあるかも。
- エラーを読んでみる
- エラーが出てきたら、まずエラーを読んでみてください。あまり親切じゃない時もありますが、英語を頑張って読むと「〇〇が違うよー・足りないよー」と教えてくれます。
- 詰まった時は、2-3分くらい原因を探してみてください。そうすると、30%くらいの問題は解決します。
- わからない事があったらすぐ聞く
- 逆に、3分考えても分からなかったらすぐ TA に聞いてください。30%は原因を自分で探して解決できると言いましたが、逆に、70%くらいの問題は解決しません。3分考えても分からないなら、聞いた方が良いでしょう。その為にTAが居ます。
- traP の講習会でよく貼られてるやつ
- 帰ってから分からない事が出てきたら traQ で聞いてください。先輩が答えてくれます。
- Google で調べるのもアリですが、今どきの Google は欲しい情報を探すのも若干難しいところがあるので、最初のうちは無理せず traQ で聞くのがおすすめです(大抵2~3分で返事がきます)
- 先輩がどのようにして問題を解決しているのかを見ると、次から自分でも解決できるようになるでしょう。
- 練習問題を解いて理解する
- 練習問題では、講習会の内容でできる問題たちを用意しています。無理に覚えるより、実際に使ってみましょう。問題を実際に解いた方が楽しいと思います。たまに難しい問題(一筋縄ではいかない問題)も入っていますが、ぜひチャレンジしてください。
- 講習内で時間を取るので、ぜひ手を動かしてください。
- 自習できるように問題を沢山用意してるので、時間があればぜひ使ってください(やらなくても問題ないですが不安な人たち用)。
- あとは自分の説明より先に進んじゃって暇だな、ってなった時にもぜひ練習問題を活用してください。
- 友達と、隣の人と仲良くしましょう。
- 大学の授業っぽく感じるかもしれませんが、ただのサークルの活動です。隣の人はあなたと同じようにサークルに興味を持って入部してくれた部員だし、教えてる人・TA もただのサークルの先輩です。traQ の ID を聞いて、times のチャンネルに通知をつけて、そして LINE なり X なり Discord のアカウントを交換しておくと良いと思います。
0.4. 講習を欠席する時(都合がつかない時)
まず、欠席連絡は不要です。(点数を付けたりしてる訳じゃないので、僕らでは出席状況を管理していません)
次の回の講習で前回欠席したと伝えてくれれば、TAがサポートします。 すべての回に出席できる前提で講習を組んでないので、焦らずに次の回に出席してください。
全ての回で Youtube Live での配信を予定しているので、それの録画を確認してもよいでしょう。 ただし、オンラインでの参加はおすすめしません(演習時の質問対応が難しいです)
更に、本講習では同じ内容の講習会を 2 回実施します。 (Aターム / Bターム) 都合の付く日程にご参加ください。
また、講習外の日はぜひ進捗部屋を使ってください( #services/knoQ/daily 参照)。
講習のある日は人が多くて他の人に話しかけづらいと思うので、進捗部屋でぜひ先輩や同級生と交流を深めてください。
0.5. 講習・テキストの進め方
講習は以下の流れで進行します。
- 平日日程 (お好きな方にご参加ください)
- 第一回:4/30 水 16:00- or 5/1 木 13:30-
- 講習予定:環境構築・ガイダンス (0, I章)
- 第二回:5/2 木 or 5/7 火 16:00-
- 講習予定:II 章 III 章
- 第三回:5/8 水 16:00-
- 講習予定: IV 章
- 第四回:5/9 木 16:00- or 5/14 火 16:00-
- 講習予定: V 章, VI 章
- 第一回:4/30 水 16:00- or 5/1 木 13:30-
- 講習B
- 第一回&第二回:5/11 土 10:00-16:00
- 講習予定:環境構築含む 0 章から III 章まで
- 第三回&第四回:5/12 日 10:00-17:00 (Git講習会 17:30-19:30)
- 講習予定: IV 章から VII 章まで
- 第一回&第二回:5/11 土 10:00-16:00
教室などの案内は、講習会 wiki の 2024 年度 pg-basic ページ(部内のみ) をご確認ください。
各章末に、練習問題A,B,C を用意しています。
- 練習問題A: できれば解いて理解して欲しい練習問題です。とにかく手を動かしましょう。
- 練習問題B: ぜひ解いて欲しいですが、解けなくても問題はありません。
- 練習問題C: ややトリッキーな問題が並んでいます。余裕があれば取り組んでみましょう。
traP 外の方へ
2024 年度より、練習問題をすべて刷新し公開することになりました。
0.6. 講習に関連した traQ チャンネル
- #event/workshop/pg-basic 講習会のチャンネルです。お知らせはここでします。
- jikkyo:コメントとか適当にする雑談チャンネルです。
- sodan:質問チャンネルです。質問はここでしてください。TA に手伝ってもらいたい時は手を挙げてください。帰宅後、自習してて詰まった時・わからなかった時もここを使ってください。
- tasks:講習中の進捗確認とか、練習問題を解いた数の確認に使います。
- #gps/times/あなたのID あなたのチャンネルです。
- 「〇〇できた!」「練習問題解いた!」とか、講習を受け終わったらここに投稿してみると褒められます。別に講習と関係なく適当につぶやいても良いです。
それでは皆さん、4日間頑張っていきましょう!