プログラミング入門

科目基礎情報

学校 熊本高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 プログラミング入門
科目番号 0028 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 建築社会デザイン工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 使用
担当教員 小島 俊輔,藤本 洋一

到達目標

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週 期末試験の返却と解説

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。2
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。1前5,前11,前12,前13,前14
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。1前11,前12,前13,前14
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。3
定数と変数を説明できる。3
整数型、実数型、文字型などのデータ型を説明できる。3
演算子の種類と優先順位を理解し、適用できる。3
算術演算および比較演算のプログラムを作成できる。3
データを入力し、結果を出力するプログラムを作成できる。3
条件判断プログラムを作成できる。3
繰り返し処理プログラムを作成できる。3
一次元配列を使ったプログラムを作成できる。3

評価割合

試験課題小テスト合計
総合評価割合602020100
基礎的能力40101060
専門的能力20101040
分野横断的能力0000