プログラミング1

科目基礎情報

学校 久留米工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング1
科目番号 1E13 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 電気電子工学科 対象学年 1
開設期 後期 週時間数 2
教科書/教材 (1)高専機構 情報セキュリティ教材 「K-SEC情報モラル教材」(高専機構 「情報システムユーザーガイドライン」「低学年教材」)(2)Pythonでつくるゲーム開発入門講座(廣瀬 豪,ソーテック社)(2)最短距離でゼロからしっかり学ぶPython入門 必修編
担当教員 加藤 直孝

到達目標

1.初歩的なコンピューターアーキテクチャーを理解できる.
2.コンピューターのOSと対話ができる.
3.コンパイル等に必要なコンピューター環境を独力で構築できる.
4.Pythonの初歩的なプログラミングができる.
5.Pythonでゲームを作成することができる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1Pythonの初歩的な文法がわかるPythonでエラーの出ないプログラムを書ける動作するPythonプログラムを書くことができない
評価項目2PythonでTkinterやPygameを用いてGUIプログラミングができるPythonでGUIのプログラミングができるPythonでCUIプログラムしか書けない
評価項目3Pythonの変数のスコープやモジュールを理解してプログラミングができるPythonの変数のスコープやモジュールのimportなどをコードを試しながら確認できるPythonの変数のスコープの意味が理解できない.

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

教育方法等

概要:
この科目は,Pythonでゲームを作成できるようになることを目的とする.Pythonの基本的な文法をマスターすることも含む.授業では,適宜,高専機構が準備した情報セキュリティー教材を活用し,情報セキュリティーの常識も増やしていく.
授業の進め方・方法:
学習においては,自宅での独習が重要である.単に教科書を読むだけではなく,自分でPC(Personal Computer)ソフトウェアの環境を整備し,教科書の内容を入力し理解を進める必要がある.授業では,高専が独自に準備した情報セキュリティー教材とPythonの教科書を使用して進めるが,あくまで自宅における学習が前提となる.できる限り反転授業を行うので,自宅でわからないところを明確にし授業で質問する必要がある.Pythonでつくるゲーム開発入門講座のプログラムを理解して,級友に発表・説明することが主な課題である.ソフトウェアをコンパイルできるPC環境を必要とするため,自分専用のノートブックPCを持つことが必須である.ペーパー試験は行わないが,各自が独自のプログラムを開発し発表を行う.その独自のプログラムの内容と発表の良し悪しで評価を行う.テスト期間にも各自のプログラムの発表を行う.
注意点:
教科書:
(1)高専機構 情報セキュリティ教材 「K-SEC情報モラル教材」(高専機構 「情報システムユーザーガイドライン」「低学年教材」)
(2)Pythonでつくるゲーム開発入門講座(廣瀬 豪,ソーテック)
(3)最短距離でゼロからしっかり学ぶPython入門 必修編
(4)入門Python3 (Bill Lubanovic Lubanovic (著), 斎藤 康毅 (監修), 長尾 高弘 (翻訳))
(5)ThinkPython:コンピュータサイエンティストのように考えてみよう 第2版 (アレン・B・ダウニー(著), 相川利樹 (翻訳))
評価方法詳細:
発表 50%,授業への参加度合,授業中の質問や課題,その他で 50% を目安として評価する.60点以上を合格とする.再試は行わない.

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 オリエンテーション
PCの環境設定やPCのアーキテクチャーについての説明を行う
大ざっぱなPCのアーキテクチャーを理解できる
2週 高専機構 「情報システムユーザーガイドライン」を用いて情報セキュリティーの常識を持っているか再度確認する. 情報セキュリティーの常識を持っている
3週 ゲームの教科書Chap1-4は前期の復習である.
どこかの週で卒業生の話を聞く時間を設定する.
前期の学習事項を確認できる.
4週 ゲームの教科書Chap5のCUI(Character User Interface)を用いたゲームを作る.(学生によるグループ発表) CUIを使ってゲームを作成できる.
5週 ゲームの教科書Chap6のGUI(Graphical User Interface)とくにtkinterを理解する.(学生によるグループ発表 Tkinterモジュールを使ったゲームを説明できる.
6週 ゲームの教科書Chap7のTkinterモジュールを使った簡単なゲームを作成する(学生によるグループ発表) Tkinterモジュールを使った簡単なゲームを作成できる.
7週 ゲームの教科書Chapter8に基づき,本格的なゲーム開発の技術を学ぶ(学生によるプレゼンテーション) リアルタイム処理やキー入力処理などゲームに必要な基本的なプログラミングが理解できる.
8週 ゲームの教科書Chapter9に基づき,落ち物パズルのプログラミングを学ぶ(学生によるプレゼンテーション) Tkinterモジュールを活用するいろいろなゲームのプログラミング手法が理解できる.
4thQ
9週 ゲームの教科書Chapter10に基づき,Pygameモジュールの使い方を学ぶ(学生によるプレゼンテーション) Pygameの使い方が理解できる.
10週 ゲームの教科書Chapter11に基づき,本格的RPG(Role Playing Game)のプログラミングを学ぶ(1)(学生によるプレゼンテーション) Pygameを使った本格的RPGのプログラミングが理解できる.
11週 ゲームの教科書Chapter12に基づき,本格的RPG(Role Playing Game)のプログラミングを学ぶ(2)(学生によるプレゼンテーション) 600行を超えるゲームプログラムが理解できる.
12週 ゲームの教科書Chapter13に基づき,オブジェクト指向プログラミングを学ぶ(学生によるプレゼンテーション) オブジェクト指向プログラミングを理解できる.
13週 プログラム作品の発表.
最後の週ではなく,どこかの週で,ASCII文字コード,日本語文字コードの話をする.
プログラム作品の発表
ASCII文字コード表が理解できる.
14週 プログラム作品の発表 PowerPointによる発表ができる.
15週 予備 予備
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。1後1
論理演算と進数変換の仕組みを用いて基本的な演算ができる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
コンピュータのハードウェアに関する基礎的な知識を活用できる。1
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
情報セキュリティの必要性および守るべき情報を認識している。1後2
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。1後2
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している1後2
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。1後2
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
変数の概念を説明できる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
データ型の概念を説明できる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
制御構造の概念を理解し、条件分岐を記述できる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
制御構造の概念を理解し、反復処理を記述できる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。2後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
基数が異なる数の間で相互に変換できる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
整数を2進数、10進数、16進数で表現できる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13
小数を2進数、10進数、16進数で表現できる。1後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13

評価割合

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