開講学期 | 2009年度 後期 |
授業区分 | 週間授業 |
対象学科 | 情報電子工学科 |
対象学年 | 1 |
必修・選択 | 選択 |
授業方法 | 講義と一部演習 |
授業科目名 | プログラミング |
単位数 | 2 |
担当教員 | 板倉賢一 |
教員室番号 | V510 |
連絡先(Tel) | 0143-46-5424 |
連絡先(E-mail) | itakura@csse.muroran-it.ac.jp |
オフィスアワー | 月曜日 16:00-17:30 |
授業のねらい | 近年のソフトウェア産業の発達に伴い、プログラムをそのまま扱う機会が少なくなりつつある。しかし、工学の分野では、コンピュータに関する知識、プログラミングおよびアルゴリズムに関する知識はますます重要になり、必要不可欠と言わざるを得ない。それは、工学分野で扱う問題の性質上、独自のプログラムを作成する必要が多々あることや、既存のソフトウェアの理解、正しい利用のために重要だからである。この授業では、コンピュータ内部でのデータ処理体系を意識しながら、プログラミング言語(C言語)の学習を通して、プログラミングおよびその基礎となる幾つかのアルゴリズムの習得を目指す。 |
到達度目標 |
1. コンピュータ内部でのデータ処理過程を理解し、論述できる。 2. 与えられた課題に対する基本的なアルゴリズムを選定し、日本語、PADで記述できる。 3. C言語の基礎を理解し、アルゴリズムに沿ってプログラミングができる。 |
授業計画 |
1、プログラミングとアルゴリズム(コンピュータ発達の歴史,プログラミングとアルゴリズム) 2、コンピュータの構成(CPUと記憶セル,CPUの動作と機械語,プログラミング言語とコンパイラ,プログラムの作成から実行まで) 3、数値,文字の表現( 整数,浮動小数点表示, 文字,ビット演算) 4、PAD(問題解析図)( アルゴリズム表現の基本要素,PAD) 5、C言語の基礎(C言語発達の歴史と特徴,プリプロセッサ,変数と定数,簡単な入出力) 6、分岐と反復(平方根のアルゴリズム、ニュートン法のアルゴリズム)(if文、switch case文、break文、continue文,for文、while文、do while文) 7、配列(ソートのアルゴリズム、マトリクス計算と連立1次方程式の数値解法)(配列と初期値入力,多次元配列) 8、関数、記憶クラス、変数の有効範囲(数値積分のアルゴリズム)(関数とプロトタイプ宣言,変数の有効範囲(スコープ),記憶クラス,再帰関数) 9、ポインタ( ポインタ変数,ポインタと配列, ポインタと関数,文字と文字列操作) 10、構造体とオブジェクト指向言語の基礎(構造体変数, 構造体とポインタ, ビットフィールドとビット演算, 共用体,列挙定数, C++とJava,クラスと継承) 11、ファイルの入出力 11−1 高水準と低水準入出力(入出力関数,main関数の引数) |
教科書 | 「やさしく学べるC言語入門―基礎から数値計算入門まで―」(皆本晃弥著,サイエンス社(2005),本体価格2400円)を教科書として指定する. |
参考書 |
(1)「プログラミング言語C第2版」 B.W.カーニハン,D.M.リッチー著、石田晴久訳 共立出版(1992) (2)「岩波コンピュータサイエンスCプログラミング」 石田晴久著,岩波書店(1990) (3)「PADプログラミング入門」 服部雄一著,啓学出版(1991) (4)「C言語によるプログラミング入門」(第2版) 吉村賢治著,昭晃堂(1993) (5)「Cによる情報処理入門」 阿曽弘具編著,昭晃堂(1997) (6)「独習C」第3版 ハーバート・シルト著,翔泳社(2002) この他、C言語に関する図書は多数出版されているので、参考にされたい。 |
教科書・参考書に関する備考 | |
成績評価方法 | 授業中の提出課題、レポート課題、定期試験の総合点数を100点とし、60点以上を合格とする。 |
履修上の注意 |
原則として、欠席は認めない。どうしても欠席せざるを得ない場合は、事前に担当教員へ連絡すること。補講等を行う。 再試験は行わないので、不合格者は再履修すること |
教員メッセージ |
このシラバスを参考に、テキスト、参考書による予習をしておいて欲しい。授業中には予習を前提にして、テキストに含まれない内容にまで立ち入ることがある。 また、欠席同様遅刻も認めない。遅刻した場合は、レポート、小テスト等の減点対象になる。 |
学習・教育目標との対応 |
情報技術者[情報基礎]数学と自然科学の基礎知識を身につける. 情報技術者[コンピュータサイエンス]情報工学の基礎知識と応用能力を身につける. |
関連科目 | 「情報工学演習A、B」ではこの授業で学習した内容を基に,実際にコンピュータ上で演習する,更に、本科目は「データ構造とアルゴリズム」や「コンピュータ言語」,「ソフトウェア工学」を始めとする多くの情報工学科の科目の基礎となる. |
備考 |