山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名
担当教員
プログラミングI演習
茅  暁陽/小俣 昌樹
時間割番号
単位数
コース
履修年次
期別
曜日
時限
253126 1 G 1 前期 IV
[概要]
プログラミング言語は,コンピュータへの命令を人間にとって扱いやすい言葉で記述するための言語である.また,プログラミングとは,このプログラミング言語を使って,コンピュータの処理手順の指示(プログラム)を作成することである.
本授業では,現在最も普及しているC言語を用いて,手続き型言語によるプログラミングの基礎概念を実践的に学ぶ.このために,受講者は,講義(プログラミングI)で学んだC言語の文法を使ってプログラムを作成する.また,プログラム作成を通して,代表的なアルゴリズムについて学ぶ.本授業は,以降のプログラミング演習やソフトウェア開発のための基礎的な内容を含んでいる.
カリキュラム中での位置付け:Gコースのカリキュラム
[具体的な達成目標]
・知識:コンパイラ言語プログラムの実行機構の理解
    (コンパイラ,ソースプログラム,手続き型プログラム言語)
・技能:C言語による簡単なプログラムの作成
    (ループ,制御構造,配列,関数,ファイル処理,ポインタ)
[必要知識・準備]
対象学生は,計算機の基本的な使い方(特に,UNIX オペレーティングシステム上の代表的なソフトウェアの使い方)を習得済みであること.
また,本授業は,講義「プログラミングI」の演習であるため,「プログラミングI」 を履修申告済みか,既に履修済みであること.
[評価方法・評価基準]
試験:100%
-------------------------------
区分 配分
-------------------------------
中間試験 30%
最終試験 40%
小テスト 30%
-------------------------------
合計 100%
-------------------------------
小テストは,授業中に出題する.
2/3以上の出席が,単位取得の不可欠条件となる.

プログラミングの理解には本授業へ出席して実際にプログラミングをおこなうことが不可欠である.したがって,一定以上の出席者のみに試験をおこなう.
中間試験および最終試験では,プログラムを作成する課題とプログラムを説明する課題を出題する.また,授業中に出題する小テストでは,その回を復習するための課題を出題する.
これらの試験によって,達成目標に示した項目の理解度を評価する.
[教科書]
  1. 鑰山徹, C言語とアルゴリズム演習, 工学図書, ISBN:476920230X
[参考書]
  1. B.W.カーニハン/D.M.リッチー 著,石田晴久 訳, プログラミング言語C ANSI規格準拠, 共立出版, ISBN:4320026926
[講義項目]
※受講者の理解度に応じて内容を変更する場合がある.

第 1回
・プログラミングのための基礎知識
第 2回
・簡単なプログラム
・四則演算・選択構造の表現I(2分岐)
第 3回
・選択構造の表現II(多分岐I)
第 4回
・選択構造の表現III(多分岐II)
第 5回
・反復構造の表現I(反復構造の基本)
第 6回
・反復構造の表現II(繰り返しの処理,累計計算)
第 7回
・ここまでの復習I
第 8回
・中間試験
第 9回
・配列I(1次元配列)
第10回
・単純ソート
・ファイル処理
第11回
・配列II(2次元配列)
・バブルソート
第12回
・関数の定義と利用
第13回
・ここまでの復習II
第14回
・最終試験
[教育方法]
本授業では,コンピュータを使って演習をおこなう.
冒頭に担当教員がその回の演習内容および課題について説明する.その後,受講者は,この説明に基づいて,教科書やWebテキストを見ながらプログラミングの課題に解答する.このとき,担当教員やティーチングアシスタントが巡回して,受講者からの質問に随時答える.そして,担当教員が,受講生のプログラミングの様子に合わせて,随時補足説明をおこなう.
[JABEEプログラムの学習・教育目標との対応]
「(目標A) 情報処理技術者としての基礎的素養及び基礎的スキルの修得」に関して,計算機アーキテクチャ,コンピュータ上でのデータ表現と格納方法,アルゴリズムとデータ構造,C言語によるプログラミングついての学習と実習をおこなう.また,「(目標E) 社会の要求を汲み取り解決する問題発見デザイン能力の修得」に関して,演習問題にできるだけ現実社会における応用事例を使用することにより,問題を理解して解決するためのデータ構造とアルゴリズムを設計する能力を修得させる.さらに,目標Gの「コンピュータヒューマンインタフェースを開発構築する基礎的技術」に関して,ユーザにとって使いやすいプログラムの入出力設計を行わせる.また,各種エラーの処理方法についても修得させる.
[その他]
(未登録)