プログラミング基礎

科目基礎情報

学校 奈良工業高等専門学校 開講年度 2019
授業科目 プログラミング基礎
科目番号 0030 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 参考書に基づく.適宜補助教材を配布する.
担当教員 松村 寿枝,市川 嘉裕

到達目標

順次,分岐,繰り返しの制御構造を使いこなすことを例に,後に続くプログラミング学習をスムーズに進めるための基礎を築くことを目標とする.
具体的には,下記の項目ができるようになること.
・デバッグの手順を理解してバグをスムーズに取り除くことができる
・仕様や要求(文章等)から手順を理解してフローチャート等を用いて整理し,プログラムを作成することができる
・インデント,コメント,変数名,関数名等に気を使って読みやすいソースコードを記述することができる
・授業時間外で予習ができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
(評価項目1)デバッグデバッグの手順を理解してバグをスムーズに取り除くことができるデバッグの手順を理解してバグを発見することができるデバッグの手順を理解できない
(評価項目2)フローチャート仕様や要求(文章等)から手順を理解してフローチャート等を用いて整理し,プログラムを作成することができる仕様や要求(文章等)から手順を理解してフローチャート等を用いて整理することができるプログラムの手順を整理できない
(評価項目3)ソースコードインデント,コメント,変数名,関数名等に気を使って読みやすいソースコードを記述することができるインデント,コメント,変数名,関数名等に自分用のルールをもつことができるインデント,コメント,変数名,関数名等に自分用のルールがない
(評価項目4)自己学習授業時間外で予習ができる疑問点を解消するためにそれを言語化することができる疑問点を言葉にできない

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

準学士課程(本科1〜5年)学習教育目標 (2) 説明 閉じる

教育方法等

概要:
以後プログラミングを行ううえで重要な要素となるデバッグ,フローチャートの利用,ソースコードの適切な記述,自己学習の習慣については,一度教わっただけで身につくことはない.
そのため,各要素について課題や解説等の中で繰り返し登場させることで,学生の中での意識化・習慣化を図る.
授業の進め方・方法:
可能な限り短時間の講義に加えて,授業中の課題と,授業時間外の予習課題を軸に進める.
授業中の課題は理解の確認と促進のために,予習課題は自己学習の推進のために重要である.
自己学習のためにはわからないことを明確にする力も重要であることから,疑問点を言語化する訓練を随所で行う.
理解の向上とモチベーションの維持のために,授業は3週を1単元としてメリハリをもたせる.具体的には各週で,
(1)ビジュアルプログラミング,
(2)Javaプログラミング,
(3)応用課題
を行う.
またグループ単位の課題を設けることで,知識の定着を図る.
注意点:
授業に欠席した場合は必ず補習によって取り戻すこと.

【参考書】
Javaプログラミングに関する推薦本
(1)スッキリわかるJava入門 第2版,中山清喬/国本大悟 著,インプレス
(2)新・明解Java入門,柴田望洋 著,SBクリエイティブ
※後期のプログラミングIでは(1)が教科書になります

Scratchプログラミングに関する推薦本
・Scratchで学ぶ プログラミングとアルゴリズムの基本,中植正剛/太田和志/鴨谷真知子 著,日経BP社

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス 授業の目標を理解し,以後の授業のための準備を行う
2週 ビジュアルプログラミングで順次処理 Scratchの使い方を覚え,動作を組み合わせて目的の動作を実現する
3週 Javaプログラミングで順次処理 Javaによるプログラミングの方法と変数と入出力の使い方を覚え,動作を組み合わせて目的の動作を実現する
4週 応用課題 デバッグの方法を覚え,プログラムの問題を発見する
5週 ビジュアルプログラミングで分岐処理 フローチャートの使い方を覚え,Scratchで分岐処理を含む動作を実現する
6週 Javaプログラミングで分岐処理 Javaで分岐処理を含む動作を実現する
7週 応用課題 ここまでの知識を利用するグループ課題に取り組む
8週 中間試験 中間試験
2ndQ
9週 ビジュアルプログラミングで繰り返し処理 Scratchで繰り返し処理を含む動作を実現する
10週 Javaプログラミングで繰り返し処理 Javaでソースコードのきれいな記述法を覚え,繰り返し処理を含む動作を実現する
11週 応用課題 ここまでの知識を利用するグループ課題に取り組む
12週 ビジュアルプログラミングで関数 Scratchで関数を含む動作を実現する
13週 Javaプログラミングで関数(メソッド) Javaでメソッドを含む動作を実現する
14週 応用課題 ここまでの知識を利用するグループ課題に取り組む
15週 期末試験 期末試験
16週 答案返却 答案返却

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3前2,前3,前4,前8,前15
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。2前12,前13,前14,前15
変数の概念を説明できる。2前2,前3,前4,前8
制御構造の概念を理解し、条件分岐を記述できる。2前5,前6,前7,前8,前15
制御構造の概念を理解し、反復処理を記述できる。2前9,前10,前11,前15
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前7,前11,前14,前15
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。2前7,前11,前14,前15
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。2前7,前11,前14,前15

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合4001010400100
基礎的能力0010100020
専門的能力4000040080
分野横断的能力0000000