200 likes | 296 Views
プログラミング演習 Ⅱ 第1回 ガイダンス. 情報・知能工学系 山本一公 kyama@tut.jp. 本演習の概要(1). C 言語の「基礎知識」の習得 プログラミング演習 Ⅰ の続き 配列、関数、ポインタ等 プログラミング演習 Ⅰ の内容だけでは、 とてもじゃないが「 C 言語を勉強した」とは 言えない 演習 Ⅱ レベルの内容が分からないと、 まともなプログラムは作れない. 本演習の概要(2). 文法的な内容に限る 演習 Ⅰ と同様 アルゴリズム・データ構造の話は別の講義で 「データ構造基礎論」 「アルゴリズムとデータ構造」
E N D
プログラミング演習Ⅱ第1回ガイダンス 情報・知能工学系 山本一公 kyama@tut.jp
本演習の概要(1) • C言語の「基礎知識」の習得 • プログラミング演習Ⅰの続き • 配列、関数、ポインタ等 • プログラミング演習Ⅰの内容だけでは、とてもじゃないが「C言語を勉強した」とは言えない • 演習Ⅱレベルの内容が分からないと、まともなプログラムは作れない
本演習の概要(2) • 文法的な内容に限る • 演習Ⅰと同様 • アルゴリズム・データ構造の話は別の講義で • 「データ構造基礎論」 • 「アルゴリズムとデータ構造」 • 計算機の構成については少し知識が必要 • ポインタの理解のためには、メモリモデルの理解が必要 • 本演習内で必要なことだけ簡単に説明します • 別の講義「計算機アーキテクチャ」
なぜC言語なのか? • C言語は • 「高級言語である!」 • 「高級言語なのに低級言語みたい!」 • 高級言語:BASIC, Pascal, C++, Java等 • 人間が理解しやすいプログラミング言語 • 低級言語:機械語、アセンブリ言語 • コンピュータが理解しやすいプログラミング言語
なぜC言語なのか?(2) • C言語は • 高級言語でありながら、ハードウェアに直接アクセス可能なコードを書くことができる! • 例:ポインタを使うと番地指定でメモリアクセス可能 • アプリケーションからデバイスドライバまで書くことができる! • 広く使われている!利用者が多い! • 将来、つぶしがきく(と思われる)!
本演習の進め方 • 出欠確認 • 前回課題の解説 • 講義 • 課題演習(プログラム作成) • 最後2回分は講義なしで、応用課題をやります
スケジュール(1) • 10/03 ガイダンス(今日) • 10/10 復習、ファイル処理 • 10/17 配列(1) • 10/24 配列(2) • 10/31 関数(1) • 11/07 関数(2) • 11/14 データの基本型 • 11/21 授業予備日 • 11/28 授業予備日
スケジュール(2) • 12/05 マクロ、列挙体等 • 12/12 文字列 • 冬季休業 • 1/09 ポインタ(1) • 1/16 ポインタ(2) • 1/23 文字列とポインタ(1) • 1/30 文字列とポインタ(2) • 2/06 応用課題(1) • 2/13 応用課題(2)
教科書 • 柴田望洋著「新版 明解C言語 入門編」ソフトバンククリエイティブ • プログラミング演習Ⅰと同じです
成績について(1) • 各回の演習課題(12回分)で50点満点 • 基本的な内容が理解できているかどうか • 最後の2週でやる応用課題で50点満点 • 身につけたことを応用できるか、独自性を出せるか • 合計100点で評価 • 必ず毎回出席すること • 演習科目なので、要出席です • レポートだけ出しても0点です • やむを得ない理由で欠席する場合は、早めに連絡を!
成績について(2) • 1回でも他人のプログラム・レポートをコピーしたら最終成績を0点にします • カンニングと同じ • 「身につける」という目標が達成できない • コピーを疑われるレポートが出てきた場合は、直接口頭試問により内容の理解度をチェックします
レポートについて • 電子メールで提出 • 提出先は prog2@slp.cs.tut.ac.jp (質問メールもここ) • Subjectは「プログラミング演習2 課題xx(課題番号)学籍番号・氏名」のように書くこと • C言語ソースファイルを添付する • ソースファイルの頭にコメントで以下の情報を入れる • 学籍番号・氏名 • プログラムの説明(どのように動くのか、工夫した点等) • 実行結果(長い場合は一部)を貼る • 提出締切は基本的に講義の1週間後の正午 • 添削してから返却します
【重要】分からなかったら • 分かるまで質問してください! • 最初が肝心です • 後になればなるほど質問しにくくなります • 「聞くは一時の恥、聞かぬは一生の恥」です • 質問する相手は、私でもTAでもどちらでもいいです • うやむやにしないでください • うやむやにすると後で本当に困ります • ( 3系のほぼ)全ての卒業研究はプログラミングを含んでいます • 就職してプログラミングをしない人は(3系ではほぼ)いません • 「プログラミング言語」もある種の「言語」 • 外国語みたいなもの • 「慣れ」の部分もあるので、接している時間が重要です • 使わないと確実に忘れます
計算機の利用について • プログラミング演習はLinuxで行います • 使い方は覚えていますか? • レポートは電子メールで提出してもらうので、作成したC言語のファイルを添付ファイルとしてメールを送れるようにしておきましょう • 利用ガイドを見ましょう • https://imc.tut.ac.jp/wiki/Guide/
計算機を使ってみよう • ディスプレイを出して、電源を入れよう! • 天板を手前に引いて、ディスプレイを引き出してください • 端末本体は、机の下です • Linuxをbootしよう! • bootの途中でF8を押して、Linuxを選択してください • ログインしよう! • 共通ID・パスワードでログインできます • 「IDが分からない」「パスワードを忘れた」 • 教員・TAは何もできません • 情報メディア基盤センター1階のスタッフ室1に行ってください、今すぐ
ターミナル(端末)を出してみよう • ターミナルを出してみてください • 「アプリケーション」→「アクセサリ」→「端末」 • プログラミング演習Ⅰでも使ったと思います • UNIXの基本的なコマンドを忘れちゃった人は、演習Ⅰのことを思い出しましょう • コンパイラの使い方も思い出しましょう
プログラムを入力して、 コンパイルしてみようプログラムを入力して、 コンパイルしてみよう • エディタを起動、プログラムを入力しましょう • エディタは何を使っていましたか? • gedit?Emacs?vim? • 自分の使い易いものを使ってかまいません • 試しに、p.88 List 5-1でも入力してみましょう • 入力したプログラムをコンパイルしましょう • コンパイラはgccです • 実行もしてみましょう • プログラミング演習Ⅰでやっていたのと同じようにできましたか?
ログアウトしよう • ログアウトしないと、自分のアカウントが不正に使用される恐れがあります • 自分のアカウントで悪事を行われると、自分の責任になってしまうかもしれません • ログアウト手順 • プログラムを全て終了しましょう • 端末はexitコマンドで終了しましょう • メニューバーの電源ボタンを押して「ログアウト」を選択します • 「シャットダウン」を選択します
できましたか? • できたら今日はおしまいです • 今日は課題はありません • プログラミング演習Ⅰの復習をしっかりやっておいてください • 質問がある人は「C-515 山本」まで • プログラミング演習Ⅰの範囲の質問でも受け付けます • メールでの質問もOKです • kyama@tut.jp または prog2@slp.cs.tut.ac.jp
授業用Webサイト • URL: http://www.slp.cs.tut.ac.jp/~kyama/programming2/ • 課題のpdfファイルが置いてあります。 • 授業で使ったpptファイルを置いていきます。