[[2016/自主ゼミ]] * プログラミング講座 [#d2dacd32] #contents ** 概要 [#tccd124c] :代表者 | [[角田]](ゴジラ)(連絡先:gojiraebon-kuあっとやふー.しーおー.じぇーぴー) :TA | ゴジラ、m西、すずしめ :内容 | C言語入門 :日程 | 8月25日(木)、26日(金)、29日(月) :時限 | 3~5限(1日目の3限のみ講義、あとは実習にする予定) :場所 | 講義は理学部6号館302号室、演習は208号室 - C言語でプログラミングしたい人向けにゼロから教えます。 - インターネット上の教材で自分で勉強を進めてもらいます。 -- 分からないことがあれば、すぐにTAに質問することができます。 - 参加表明していなくても、当日飛び入り参加OKです。 //- お願い:C言語をある程度学習済みの方で、実習中に参加者から出た質問に答えてくれる人(TA)を募集します。参加表明は下の日程調整欄で。 //- 開催日程は3日連続(土日はやらない)の予定ですが、参加希望者の都合に合わせて変更するかもしれません。 - 主に自習で勉強する形式なので、3日間全てに参加できなくても構いません。 ** 日程調整 [#re22f1cc] - 参加可能な日時に"o"を不可能な日時に"x"をつけてください。 -- TAとして参加する場合はその旨を明記してください。 //- 8月4日に参加日程を決めます。 // |は12本 |8月|18(木)|19(金)|22(月)|23(火)|24(水)|''25(木)''|''26(金)''|''29(月)''|30(火)|31(水)|h |[[角田]](TA)|o|o|o|o|o|o|o|o|o|o| |[[circle/西田]](TA)|o|x|x|x|o|o|x|x|o|o| |[[おくだ]]||||||||x|x|| |[[中桐]]|x|x|o|o|x|o|o|o|x|x| |[[中田]]|x|o|o|o|o|o|o|o|x|x| |[[田中]]||||||||||| |[[後藤]]||||||||||| |サラコナ||||||||||| |[[川上]]|x|x|o|o|o|o|o|o|o|o| |田中宏樹|o|o|x|x|x|o|o|o|x|o| ** 詳細 [#mef57d27] - 1日目の3限のみ講義で、他の時間は実習にする予定です。 //-- 講義室が使えるのは18日、19日、22日、25日、26日のみなので、場合によっては講義を行わないかもしれません。 - 実習は208演習室にある大学のパソコンを使うので、自分のノートパソコンを持っていなくても構いません。 -- もちろん自分のノートパソコンを用いて実習に参加しても構いませんが、環境導入は事前に済ませてください。(環境導入の方法についてはググるか人に聞くなどしてください) - C言語の文法を学習するのに併せて、コンピュータ基礎演習(現:情報基礎演習[理学部])の問題も解いてもらいます。 -- 希望者は、自分の回答をTAに採点してもらうことができます。(詳細は後述) - 3日間で、[[Programming Place Plus C言語編>http://ppp-lab.sakura.ne.jp/ProgrammingPlacePlus/c/index.html]](以下、"教材"と呼ぶ)の第25章までを学習することと、[[2015年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra15/ex.html]]のCプログラミングの課題を解くことを一応の目標とします。そのための進度の目安を以下に書きます。 -- あくまでも目安なので、参加者はマイペースに学習を進めてください。余裕のある人は、どんどん先取りして学習を進めていってください。 *** 1日目 [#k5d780e1] - 3限に、302号室でこのプログラミング講座のガイダンスを兼ねた講義を行います。コンパイラの使い方や、C言語プログラミングの初歩を教えます。 - 4,5限は、208演習室で実習を進めてもらいます。 - まずは、[[2015年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra15/ex.html]]に載っている以下のビデオ教材を見てLinuxやEmacsやC言語のコンパイラの使い方に慣れてください。 -- [[Linuxのマウス操作>http://youtu.be/LWsZjvvrVfM]] -- [[Linuxのコマンド操作>http://youtu.be/x8BmnY45G8E]] -- [[ファイルシステムとコマンド操作1>http://youtu.be/-xZZDwTa-5M]] -- [[Cプログラム作成の手順>http://youtu.be/FAeDM7shJbY]] - 教材の第8章まで進めるのを目安とします。 *** 2日目 [#acd0bf4b] - 208演習室で実習を進めてもらいます。 - 教材の第18章まで進めるのを目安とします。 - [[2015年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra15/ex.html]]のC-A-1とC-A-2を解いてください。 *** 3日目 [#l5052bbd] - 208演習室で実習を進めてもらいます。 - 教材の第25章まで進めるのと、第51章の「乱数」の項目を読むのを目安とします。 - [[2015年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra15/ex.html]]のC-B-1とC-B-2を解いてください。 - 余裕のある人は、C-X-1を解いてください。 - さらに余裕のある人は、[[2014年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra14/ex.html]]のCプログラミングの課題も解いてください。また、興味のある人は教材の第26章以降も学習してみてください。 *** 教材の進め方 [#vad3d7e3] - 教材は、[[Programming Place Plus C言語編>http://ppp-lab.sakura.ne.jp/ProgrammingPlacePlus/c/index.html]]です。 - 教材の各章のサンプルプログラムと解説を読み、理解してください。サンプルプログラムは自分で実際に入力して実行してみるとよいでしょう。 -- 大学のパソコンに入っているコンパイラはC99に対応していますが、「C99」と書かれた項目については読んでも読まなくても構いません。 - 各章の末尾には練習問題がついています。プログラミングは自力でソースコードを書けてナンボなので、是非やってみましょう。 -- 練習問題には解答が用意されています。解答はあくまでも一例なので、題意に沿ったプログラムが作れればそれは全て正解です。 -- 第8章と第18章の練習問題は数が多いので、全てやる必要はありません。章の内容を概ね理解できたと思ったら、次の章に進んでよいでしょう。 - Emacsおよび端末はLinux側で開いているので、教材はWindows側のブラウザで開くとよいでしょう。画面の半分をLinux、半分をWindowsのブラウザ、という感じで分けて使うと見やすいかもしれません。 ** コンピュータ基礎演習の課題について [#k861242b] - 昨年度のコンピュータ基礎演習(現:情報基礎演習[理学部])という授業で扱った課題を解いて、簡単な数値計算を実践しましょう。 -- 難しい課題もありますので、TAに解き方を質問したり、友達同士で教えあったり、ググって調べるなどして構いません。 -- 課題を解いても正しく解けているか分からないと思うので、TAに添削してもらいましょう。 - [[2015年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra15/ex.html]]の一番下の「課題群C: Cプログラミング」に記載されている5つの問題を扱います。各課題を解くのに必要な知識は以下の通りです。 |課題コード|必要な知識| |C-A-1|教材の第13章まで| |C-A-2|教材の第13章まで| |C-B-1|教材の第18章まで| |C-B-2|教材の第25章まで| |C-X-1|教材の第25章まで| - 余裕があれば、一昨年度の課題[[2014年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra14/ex.html]]も解いてみてください。 *** 課題の提出方法 [#a4e604fd] - [[Ideone>https://ideone.com/]]というWebサービスを使います。 - これはソースコードを書くとWeb上でプログラムが実行されるもので、その際にhttps://ideone.com/bxkz8Oのようにリンクが生成されるので、そのURLを課題添削担当のTA(すずしめ)にメールで送れば添削してくれます。 -- 課題添削担当のメールアドレスは tamagawajousuiroあっとgmailどっとcom (あっとは@、どっとは.に変えてください) です。 -- メールを送る際は、「提出者の名前(ハンドルネーム可)」と「課題コード」と「ソースコードを書いたURL」と「入出力結果(2015年度のC-B-2とC-X-1では要求されている画像を添付)」を明記してください。 - [[Ideone>https://ideone.com/]]の上の方にある「new code」をクリックして、ソースコードを貼り付け、左下の言語選択欄でCを選択し、「Run」を押すと実行結果が表示されURLが生成されます。「enter input」欄は入力せず、入力データの内容はメールの本文に書いてください。 * 参考文献 / 関連リンク [#h09fda6f] - [[Programming Place Plus C言語編>http://ppp-lab.sakura.ne.jp/ProgrammingPlacePlus/c/index.html]] -- 今回のプログラミング講座のメイン教材にする予定。 - [[2014年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra14/ex.html]] - [[2015年度後期 コンピュータ基礎演習 課題>https://www.math.kyoto-u.ac.jp/~susumu/lecture/compra15/ex.html]] - [[2013/自主ゼミ/プログラミング講座2013夏]]