Skip to content

はじめに

この講習会について

講習会の目的・目標

プログラミング基礎講習会は、新入生の皆さんが今後プログラミングを用いて色々学ぶために、そもそも「プログラミングとはなにか」ということ、そして「プログラミングの楽しさ」を理解してもらうことを目標とした講習会です。

受講者の皆さんは様々な目的を持っていると思います。たとえば、「ゲームを作りたい」「ウェブアプリを作りたい」とか、「競技プログラミングを学びたい」、「機械学習をしたい」とか。それとも単に「プログラミングがどんなものか知りたい」かもしれないですし、あるいは大学の授業のためかもしれません。

受講者の中には、早くウェブアプリを作ってみたいのに(早く競プロしたいのに)、長々と今後使わないかもしれない言語で勉強することに意味はあるのか?と思っている人もいるかもしれませんが、皆さん全員にぜひ受けてもらいたいと思っている理由がいくつかあります。

まず1つは、これから何をするにしろ、「プログラミングの基礎知識」を無視して勉強することは難しいということ。全て合わせると400-500分程度の講習内容になりますが、どれも最低限かつ必要不可欠な知識です。(必要不可欠と言いましたが、今すぐに覚える必要はないです。まずは一回聞くことが大事。)

次に2つめ、各班で個別にプログラミングの講習会を開くのはあまりに非効率ということ。ほぼ同じ内容の講習会を5つも立てることになってしまいます……。

3つめ、一つの言語を会得してしまえば、他の言語も容易に習得できること。特に、本講習で扱う「C++」言語は、今主流の様々な言語の元になっている言語といっても過言ではなく、他の言語を学ぶと意外と似てると何度も感じることになります。

そして4つめ、ゲームを作るにしろ何をするにしろ、「プログラミング」そのものを無視して先に進むことは難しいです。現在はプログラミングをせずともゲームを作れるような仕組みがたくさんありますが、自分の想像通りに作ろうとするとやはりプログラミングの知識は必要になるでしょう。

現在では全てのプログラミング系の班で、このプログラミング基礎講習の受講を推奨しています。そのため、内容もどの班に行っても問題なく役に立つものになっていますので、ぜひC++を習得してください。


本講習の目的は、大きく分けて2つです。

  1. C++言語を用いて、プログラミング言語というのはどういう物かを知ること。
  2. 作りたいものを作るために使う「プログラミング」の基礎や、考え方を学ぶこと。(プログラミングのための下準備をする)

それっぽく目的を立ててしまいましたが、とりあえず頑張って勉強する、というのが良いと思います(メインはこれに続く講習会たちです)。

目的の部分で1つ覚えて欲しいのは、この講習の内容をすべて覚えなくても良い という事です。 これらの話は他の講習で必ず出てくる話なので、出てきたときに「そういえばこの講習会で勉強したなー」って思ってテキストを開いて思い出す、というところまでできれば十分でしょう。

今後の講習との関連

  • プログラミング基礎講習会の途中で「Git講習会」が開催されます。プログラミングをしたい人はぜひ受講してください。(今後traPで過ごすのなら受講必須です)
    • ただし、普段からGit/GitHubを使用している場合は受講不要です。この講習会では、Gitの概念からコミット、プッシュなどの基本的な操作を扱います。
  • 本講習が終わったあとは、各班で講習会が開催されます。2班以上同時に所属もできるので、自分が興味のある分野をある程度決めておくと良いでしょう。
  • 全部を受けるのもアリですが、すごく大変になります。(講習会の詳細はtraQを確認してください)
  • 6月ごろにはサークル内のハッカソンが開催されます。5-6人のチームになってなにか作ろう、というイベントですが、講習会にあまり参加できてない、という場合でも先輩が丁寧に教えてくれるので、ぜひご参加ください! こちらも詳細はtraQでお知らせします。

講習の心構え

講習を受けるにあたってのアドバイス?です。

  1. 講習を受けるにあたって、モチベーションを見つけましょう。
    • サラッと書いていますが、これが一番むずかしい要求です。
    • 作りたいもの・やりたいものを探してみてください。
    • ゲームを作りたい・Webサービスを作ってみたい・競技プログラミングをやりたい・プログラミングそのものが楽しい……とか
    • 受ける理由を作る・目標を作った方が、より勉強が身に入ると思います。
    • 困ったら先輩に相談すると、いろんなアドバイスがあるかも。
  2. エラーを読んでみる
    • エラーが出てきたら、まずエラーを読んでみてください。あまり親切じゃない時もありますが、英語を頑張って読むと「〇〇が違うよー・足りないよー」と教えてくれます。
    • 詰まった時は、2〜3分くらい原因を探してみてください。そうすると、30%くらいの問題は解決します。
  3. わからない事があったらすぐ聞く
    • 逆に、3分考えても分からなかったらすぐTAに聞いてください。30%は原因を自分で探して解決できると言いましたが、逆に、70%くらいの問題は解決しません。3分考えても分からないなら、聞いた方が良いでしょう。その為にTAが居ます。
    • traPの講習会でよく貼られてるやつ 質問する奴は偉い
    • 帰ってから分からない事が出てきたらtraQで聞いてください。先輩が答えてくれます。
    • Googleで調べるのもアリですが、今どきのGoogleは欲しい情報を探すのも若干難しいところがあるので、最初のうちは無理せずtraQで聞くのがおすすめです(大抵2~3分で返事がきます)
    • 先輩がどのようにして問題を解決しているのかを見ると、次から自分でも解決できるようになるでしょう。
  4. 練習問題を解いて理解する
    • 練習問題では、講習会の内容でできる問題たちを用意しています。無理に覚えるより、実際に使ってみましょう。問題を実際に解いた方が楽しいと思います。たまに難しい問題(一筋縄ではいかない問題)も入っていますが、ぜひチャレンジしてください。
    • 講習内で時間を取るので、ぜひ手を動かしてください。
    • 自習できるように問題を沢山用意してるので、時間があればぜひ使ってください(やらなくても問題ないですが不安な人たち用)。
    • あとは自分の説明より先に進んじゃって暇だな、ってなった時にもぜひ練習問題を活用してください。
  5. 友達と、隣の人と仲良くしましょう。
    • 大学の授業っぽく感じるかもしれませんが、ただのサークルの活動です。隣の人はあなたと同じようにサークルに興味を持って入部してくれた部員だし、教えてる人・TAもただのサークルの先輩です。traQのIDを聞いて、timesのチャンネルに通知をつけて、そしてLINEなりXなりDiscordのアカウントを交換しておくと良いと思います。

生成AIとの付き合い方について

ChatGPTなどの生成AIとの付き合い方についてですが、一般的な付き合い方はさておき、本講習では「基本的に使わない」ことを強く推奨します。

理由は大きく2つあります。一つは、学習の教材として使うにはまだ精度に劣る部分があること(時々誤った情報を学んでしまうこと)。もう一つは、質問すると一発で答えが出てしまうために、教師として向いていない(皆さんが理解に達する前にコードが書けてしまうことがしばしば)こと。本講習会は使いこなせるようにすることではなく皆さんが理解することを目標としているので、ぜひ使わずに学習してみることをおすすめします。

また、本講習会では沢山のTAが参加しているので、ぜひ手をあげて聞いてみてください。

講習を欠席する時(都合がつかない時)

まず、欠席連絡は不要です。(点数を付けたりしてる訳じゃないので、僕らでは出席状況を管理していません)

次の回の講習で前回欠席したと伝えてくれれば、TAがサポートします。 すべての回に出席できる前提で講習を組んでないので、焦らずに次の回に出席してください。

全ての回でYouTube Liveでの配信を予定しているので、それの録画を確認してもよいでしょう。 ただし、オンラインでの参加はおすすめしません(演習時の質問対応が難しいです)

更に、本講習では同じ内容の講習会を複数回実施します。 都合の付く日程にご参加ください。

また、講習外の日はぜひ進捗部屋を使ってください( #services/knoQ/daily 参照)。 講習のある日は人が多くて他の人に話しかけづらいと思うので、進捗部屋でぜひ先輩や同級生と交流を深めてください。

講習・テキストの進め方

講習は以下の流れで進行します。

  • 平日日程 (各回①または②のお好きな方にご参加ください)
    • 第1回 環境構築
      • ①:4/30 (木) 7〜8限
      • ②:5/1 (金) 7〜8限
    • 第2回 変数・入出力・演算
      • ①:5/7 (木) 7〜8限
      • ②:5/8 (金) 7〜8限
    • 第3回 配列・繰り返し処理
      • ①:5/11 (月) 7〜8限
      • ②:5/12 (火) 7〜8限
    • 第4回 関数・構造体
      • ①:5/14 (木) 7〜8限
      • ②:5/15 (金) 7〜8限
  • 休日日程 (第1〜4回の内容を1日で集中的に学びます。①または②のどちらか、もしくは両方にご参加ください)
    • ①:5/9 (土) 10:00〜18:00
    • ②:5/10 (日) 10:00〜18:00

教室などの案内は、講習会Wiki (部内のみ) をご確認ください。

各章末に、練習問題A,B,Cを用意しています。

  • 練習問題A: できれば解いて理解して欲しい練習問題です。とにかく手を動かしましょう。
  • 練習問題B: ぜひ解いて欲しいですが、解けなくても問題はありません。
  • 練習問題C: ややトリッキーな問題が並んでいます。余裕があれば取り組んでみましょう。

traP外の方へ

2026年度より、章の分割や構成の変更などを行いました。内容に大幅な変更はありません。

講習に関連したtraQチャンネル

  • #event/workshop/pg-basic:講習会のチャンネルです。お知らせはここでします。
    • jikkyo:コメントとか適当にする雑談チャンネルです。
    • sodan:質問チャンネルです。質問はここでしてください。TAに手伝ってもらいたい時は手を挙げてください。帰宅後、自習してて詰まった時・わからなかった時もここを使ってください。
    • tasks:講習中の進捗確認とか、練習問題を解いた数の確認に使います。
  • #times/{学年}/{あなたのID}:あなたのチャンネルです。
    • 「〇〇できた!」「練習問題解いた!」とか、講習を受け終わったらここに投稿してみると褒められます。別に講習と関係なく適当につぶやいても良いです。

それでは皆さん、頑張っていきましょう!