プログラミング入門

科目基礎情報

学校 熊本高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング入門
科目番号 0022 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 機械知能システム工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 使用
担当教員 小島 俊輔,藤本 洋一,村田 美友紀

到達目標

1.Processingを用いてプログラムを作成し実行することができる。
2.マウスやキーボード入力,コンソールやグラフィックス出力ができる。
3.代入・演算・制御構造・関数の処理を記述できる。
4.探索や整列などのアルゴリズムを理解できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
Processingを用いてプログラムを作成し実行することができる与えられたすべての課題に対して,変数名やインデントなどを考慮したプログラムをProcessingで記述し実行できる。実行モジュールを作成し実行することができる与えられた課題の6割以上について,Processingを用いてプログラムを記述し実行することができるProcessingを用いてプログラムを記述し実行することができない
マウスやキーボード入力,コンソールやグラフィックス出力ができるマウスやキーボード入力などのイベントを複数組み合わせたプログラムを記述できる。プログラムの実行結果をコンソールやグラフィックスに思い通りに出力できるマウスやキーボード入力などのイベントを記述し,プログラムの動作を変更できる。実行結果を文字やグラフィックスで出力できるマウスやキーボード入力などのイベントを記述できない。実行結果を文字やグラフィックスで出力できない
代入・演算・制御構造・関数の処理を記述できる代入・演算・制御構造・関数を多数組み合わせたプログラムを記述できる代入・演算・制御構造・関数のいくつかを組み合わせた基本的な動作のプログラムを記述できる代入・演算・制御構造・関数を組み合わせることができない
探索や整列などのアルゴリズムを理解できる探索や整列などのアルゴリズムの動作を理解し,動きを図などを描いて説明できる資料で説明されている探索や整列などのアルゴリズムの動作を理解できる探索や整列などのアルゴリズムを理解できない

学科の到達目標項目との関係

教育方法等

概要:
現代はスマホや家庭電気製品はもちろん,ありとあらゆる製品にコンピュータが内蔵されており,プログラムによって制御されている。将来技術者として活躍する学生諸君にとってプログラムの習得は必須である。本科目はプログラムに関する基本的な知識の習得を目的とする。
授業の進め方・方法:
毎回,配布した資料に従って授業を進める。多くの演習問題を取り入れ,学習内容の修得を目指す。授業の内容で分からないところは質問するなどして解決すること。サンプルプログラムを単に入力するだけでなく,なぜそのようにするのか理由を考えながら演習に取り組むことが重要である。
注意点:
自転車の乗り方を口頭で説明されても自転車には乗れるようにはなりません。同様に,プログラムも教員から習っただけでは作成できるようにはなりせん。演習問題を含め多くのプログラムを自分で作成し,数多くの失敗することが目標達成につながります。プログラムが正しく動作しない場合でも,誤りを見つけて修正する作業は,皆さんの問題発見・解決能力を磨くことになります。
質問や相談は,直接,あるいはメールで随時受け付けます。また教員室前に所在を示し,在室時間等も掲示しておくので活用してください。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
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前5
データを入力し、結果を出力するプログラムを作成できる。3前6,前9
条件判断プログラムを作成できる。3前5
繰り返し処理プログラムを作成できる。3前4
一次元配列を使ったプログラムを作成できる。3前6

評価割合

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