到達目標
1.Processingを用いてプログラムを作成し実行することができる。
2.マウスやキーボード入力,コンソールやグラフィックス出力ができる。
3.代入・演算・制御構造・関数の処理を記述できる。
4.探索や整列などのアルゴリズムを理解できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
Processingを用いてプログラムを作成し実行することができる | 与えられたすべての課題に対して,変数名やインデントなどを考慮したプログラムをProcessingで記述し実行できる。実行モジュールを作成し実行することができる | 与えられた課題の6割以上について,Processingを用いてプログラムを記述し実行することができる | Processingを用いてプログラムを記述し実行することができない |
マウスやキーボード入力,コンソールやグラフィックス出力ができる | マウスやキーボード入力などのイベントを複数組み合わせたプログラムを記述できる。プログラムの実行結果をコンソールやグラフィックスに思い通りに出力できる | マウスやキーボード入力などのイベントを記述し,プログラムの動作を変更できる。実行結果を文字やグラフィックスで出力できる | マウスやキーボード入力などのイベントを記述できない。実行結果を文字やグラフィックスで出力できない |
代入・演算・制御構造・関数の処理を記述できる | 代入・演算・制御構造・関数を多数組み合わせたプログラムを記述できる | 代入・演算・制御構造・関数のいくつかを組み合わせた基本的な動作のプログラムを記述できる | 代入・演算・制御構造・関数を組み合わせることができない |
探索や整列などのアルゴリズムを理解できる | 探索や整列などのアルゴリズムの動作を理解し,動きを図などを描いて説明できる | 資料で説明されている探索や整列などのアルゴリズムの動作を理解できる | 探索や整列などのアルゴリズムを理解できない |
学科の到達目標項目との関係
教育方法等
概要:
現代はスマホや家庭電気製品はもちろん,ありとあらゆる製品にコンピュータが内蔵されており,プログラムによって制御されている。将来技術者として活躍する学生諸君にとってプログラムの習得は必須である。本科目はプログラムに関する基本的な知識の習得を目的とする。
授業の進め方・方法:
毎回,配布した資料に従って授業を進める。多くの演習問題を取り入れ,学習内容の修得を目指す。授業の内容で分からないところは質問するなどして解決すること。サンプルプログラムを単に入力するだけでなく,なぜそのようにするのか理由を考えながら演習に取り組むことが重要である。
注意点:
自転車の乗り方を口頭で説明されても自転車には乗れるようにはなりません。同様に,プログラムも教員から習っただけでは作成できるようにはなりせん。演習問題を含め多くのプログラムを自分で作成し,数多くの失敗することが目標達成につながります。プログラムが正しく動作しない場合でも,誤りを見つけて修正する作業は,皆さんの問題発見・解決能力を磨くことになります。
質問や相談は,直接,あるいはメールで随時受け付けます。また教員室前に所在を示し,在室時間等も掲示しておくので活用してください。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス, プログラミングの作成から実行まで |
・Processingプログラムの作成から実行までの一連の操作ができる ・プログラムの実行モジュールを作成できる ・setup(),draw()を利用することができる
|
2週 |
グラフィック出力 |
・図形のプロパティを指定して任意の場所に基本図形を描画できる ・座標変換関数を理解し利用できる
|
3週 |
変数と型,演算子,クラスの概念 |
・格納するデータに適した変数があることを理解する ・代入演算子,演算子を使ったコードが書ける ・クラスの概念を理解しクラスライブラリを使用できる
|
4週 |
繰り返し |
・for文をwhile文を使った反復処理のコードが書ける ・for文,while文の違いを説明できる ・デバッガを利用できる
|
5週 |
分岐 |
・if-else文を使った選択処理のコードが書ける ・比較演算子,論理演算子を使って条件式が書ける ・フローチャートが読める
|
6週 |
配列 |
・1次元配列を用いたプログラムを記述することができ,2次元配列の概念を説明することができる
|
7週 |
インタラクティブプログラミング |
・イベントドリブンの考え方を理解し,マウスやキーボード入力を用いたプログラムが記述できる
|
8週 |
[中間試験] |
|
2ndQ |
9週 |
ファイル入出力とCSVファイル
|
・ファイル入出力を介し他のアプリケーションと連携できる
|
10週 |
関数定義と使い方 |
・関数を定義し使用することができる
|
11週 |
基本的なアルゴリズムの例 |
・最大値,合計,平均値などの基本的なアルゴリズムのプログラムを記述できる
|
12週 |
探索アルゴリズム
|
・線形探索や配列インデックスによる探索手法を理解する ・バイナリサーチアルゴリズムを理解しリニアサーチとの違いを説明できる
|
13週 |
整列アルゴリズム(1)
|
・バブルソートの動作を理解できる ・プログラムの一部を修正し正順・逆順のソートに変更することができる
|
14週 |
整列アルゴリズム(2)
|
・クイックソートの考え方を理解し,バブルソートとの差を説明できる
|
15週 |
[期末試験] |
|
16週 |
期末試験の返却と解説 |
|
評価割合
| 試験 | 課題 | 小テスト | 合計 |
総合評価割合 | 70 | 20 | 10 | 100 |
基礎的能力 | 40 | 10 | 5 | 55 |
専門的能力 | 30 | 10 | 5 | 45 |
分野横断的能力 | 0 | 0 | 0 | 0 |