2016/自主ゼミ
プログラミング講座†
お知らせ†
- 208演習室は29日に使えないことが判明しました。(208演習室の扉の貼り紙を参照)
- 29日の実習をどうするか検討中。
- 代表者
- 角田(ゴジラ)(連絡先:gojiraebon-kuあっとやふー.しーおー.じぇーぴー)
- TA
- ゴジラ、m西、すずしめ
- 内容
- C言語入門
- 日程
- 8月25日(木)、26日(金)、29日(月)
- 時限
- 3~5限(1日目の3限のみ講義、あとは実習にする予定)
- 場所
- 講義は理学部6号館302号室、演習は208号室
- C言語でプログラミングしたい人向けにゼロから教えます。
- インターネット上の教材で自分で勉強を進めてもらいます。
- 分からないことがあれば、すぐにTAに質問することができます。
- 参加表明していなくても、当日飛び入り参加OKです。
- 主に自習で勉強する形式なので、3日間全てに参加できなくても構いません。
日程調整†
- 参加可能な日時に"o"を不可能な日時に"x"をつけてください。
- TAとして参加する場合はその旨を明記してください。
8月 | 18(木) | 19(金) | 22(月) | 23(火) | 24(水) | 25(木) | 26(金) | 29(月) | 30(火) | 31(水) |
角田(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 |
- 1日目の3限のみ講義で、他の時間は実習にする予定です。
- 実習は208演習室にある大学のパソコンを使うので、自分のノートパソコンを持っていなくても構いません。
- もちろん自分のノートパソコンを用いて実習に参加しても構いませんが、環境導入は事前に済ませてください。(環境導入の方法についてはググるか人に聞くなどしてください)
- C言語の文法を学習するのに併せて、コンピュータ基礎演習(現:情報基礎演習[理学部])の問題も解いてもらいます。
- 希望者は、自分の回答をTAに採点してもらうことができます。(詳細は後述)
1日目†
- 3限に、302号室でこのプログラミング講座のガイダンスを兼ねた講義を行います。コンパイラの使い方や、C言語プログラミングの初歩を教えます。
- 4,5限は、208演習室で実習を進めてもらいます。
- まずは、2015年度後期 コンピュータ基礎演習 課題に載っている以下のビデオ教材を見てLinuxやEmacsやC言語のコンパイラの使い方に慣れてください。
- Linuxのマウス操作
- Linuxのコマンド操作
- ファイルシステムとコマンド操作1
- Cプログラム作成の手順
- ビデオ教材「Cプログラム作成の手順」に出てくるコンパイラ「cc」は「gcc」に読み替えてください。(まあccでも支障ないとは思いますが…。)
- ビデオ教材の視聴の際は、演習室に用意されているヘッドホンを使用できます。なお、演習室のコンピュータはログイン直後は音声がミュート(消音)されていますので適切にボリュームを調整してください。耳の保護のため、いきなりボリュームを最大にしたりしないよう注意してください。
- 教材の第8章まで進めるのを目安とします。
2日目†
3日目†
教材の進め方†
- 教材は、Programming Place Plus C言語編です。
- 教材の各章のサンプルプログラムと解説を読み、理解してください。サンプルプログラムは自分で実際に入力して実行してみるとよいでしょう。
- 大学のパソコンに入っているコンパイラはC99に対応していますが、「C99」と書かれた項目については読んでも読まなくても構いません。
- 各章の末尾には練習問題がついています。プログラミングは自力でソースコードを書けてナンボなので、是非やってみましょう。
- 練習問題には解答が用意されています。解答はあくまでも一例なので、題意に沿ったプログラムが作れればそれは全て正解です。
- 第8章と第18章の練習問題は数が多いので、全てやる必要はありません。章の内容を概ね理解できたと思ったら、次の章に進んでよいでしょう。
- Emacsおよび端末はLinux側で開いているので、教材はWindows側のブラウザで開くとよいでしょう。画面の半分をLinux、半分をWindowsのブラウザ、という感じで分けて使うと見やすいかもしれません。
Emacsのコマンド†
- Emacsでは、様々なコマンドが使用できますが、普段Windowsで使用できるショートカットキーとは異なるものが多いので、注意してください。
- Emacsのコマンドは、操作の全てをマウスを使わずキーボードだけで可能にするためのものです。コマンドを使わない場合はマウスで操作を行えばよいので、いきなり全てを覚える必要はありません。
- よく使いそうなコマンドは以下の通りです。("Alt-"は"Escを押してから"でも可。)
Alt-w | コピー |
Ctrl-w | 切り取り |
Ctrl-y | 貼り付け |
Ctrl-x Ctrl-s | 保存 |
Ctrl-x h | 全て選択 |
Ctrl-x u | 最後の編集を取り消す(アンドゥ) |
Ctrl-g | 現在のコマンドを中断 |
- 他にも沢山のコマンドがあります。興味のある人はEmacsコマンド集をご覧ください。
Emacsを起動した時に下半分に出てくるウザい画面を消す方法†
- Emacsを起動すると、下半分にEmacsの説明のバッファ(startup screen)が出てきます。プログラミングをする際には邪魔でしかないので、非表示にする方法を紹介します。
- 1.ホームディレクトリ(a0から始まる自分のECS-IDが名前になっているフォルダ)を開く。
- 2.ツールバーの「表示」から、「隠しファイルを表示する」をクリックする。
- 3.ホームディレクトリにある「.emacs」というファイルを開く。(無ければ新規作成する。)
- 4.「.emacs」ファイルの末尾に「(setq inhibit-startup-screen -1)」と書く。
- 5.ファイルを保存して、Emacsを再起動する。
コンピュータ基礎演習の課題について†
- 昨年度のコンピュータ基礎演習(現:情報基礎演習[理学部])という授業で扱った課題を解いて、簡単な数値計算を実践しましょう。
- 難しい課題もありますので、TAに解き方を質問したり、友達同士で教えあったり、ググって調べるなどして構いません。
- 課題を解いても正しく解けているか分からないと思うので、TAに添削してもらいましょう。
- 教材には載っていない数学関数を使用する課題があります。数学関数についてはCプログラミング資料(PDFファイル)の1.7.2節を参照してください。
- 出力された結果をグラフ化して提出する課題があります。gnuplotという、データを座標軸に従ってプロットするグラフ描画ソフトを使用します。gnuplotの使い方についてはCプログラミング資料(PDFファイル)の付録Aを参照してください。
- 2015年度後期 コンピュータ基礎演習 課題の一番下の「課題群C: Cプログラミング」に記載されている5つの問題を扱います。各課題を解くのに必要な知識は以下の通りです。
課題コード | 必要な知識 |
C-A-1 | 教材の第13章まで |
C-A-2 | 教材の第13章まで |
C-B-1 | 教材の第18章まで |
C-B-2 | 教材の第25章まで |
C-X-1 | 教材の第25章まで |
- 余裕があれば、一昨年度の課題2014年度後期 コンピュータ基礎演習 課題も解いてみてください。
課題の提出方法†
- IdeoneというWebサービスを使います。
- これはソースコードを書くとWeb上でプログラムが実行されるもので、その際にhttps://ideone.com/bxkz8Oのようにリンクが生成されるので、そのURLを課題添削担当のTA(すずしめ)にメールで送れば添削してくれます。
- 課題添削担当のメールアドレスは tamagawajousuiroあっとgmailどっとcom (あっとは@、どっとは.に変えてください) です。
- メールを送る際は、「提出者の名前(ハンドルネーム可)」と「課題コード」と「ソースコードを書いたURL」と「入出力結果(2015年度のC-B-2とC-X-1では要求されている画像を添付)」を明記してください。
- Ideoneの上の方にある「new code」をクリックして、ソースコードを貼り付け、左下の言語選択欄でCを選択し、「Run」を押すと実行結果が表示されURLが生成されます。「enter input」欄は入力せず、入力データの内容はメールの本文に書いてください。
参考文献 / 関連リンク†