プログラミング言語

科目基礎情報

学校 一関工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング言語
科目番号 0002 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 未来創造工学科(情報・ソフトウェア系) 対象学年 2
開設期 通年 週時間数 2
教科書/教材 実践力を身につけるPythonの教科書(クジラ飛行机、マイナビ出版)、確かな力が身につくC#「超」入門(北村愛実、SBクリエイティブ株式会社)
担当教員 水津 俊介,早川 知道,佐藤 建

到達目標

(1) プログラミング言語やその開発環境を利用するための知識を身につける。
(2) Pythonを利用した基本的なプログラミングについて理解する。
(3) C#言語の基本的な文法について理解する。
(4) オブジェクト指向について理解する。
【教育目標】D
【教育目標】C

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
(1) プログラミング言語に関する基礎知識プログラミング言語の機能の意味を理解し、開発に利用するツールの有用性を説明できる。プログラミング言語やその開発環境を利用するための知識がある。プログラミング言語やその開発環境についての知識がない。
(2) Python言語の知識Pythonを利用して自分でプログラミングを設計し、その内容を説明することができる。Pythonを利用した基本的なプログラミングについて理解している。Pythonを利用したプログラミングが理解できない。
(3) C#言語の知識C#言語の応用的な文法について、自ら調査し理解できる。C#言語の基本的な文法について理解できる。C#言語の基本的な文法について理解できない。
(4) オブジェクト指向の知識オブジェクト指向について理解し、応用的なプログラムをオブジェクト指向を用いて設計できる。オブジェクト指向について理解できる。オブジェクト指向について理解できない。

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

教育方法等

概要:
本授業ではプログラミング入門者がプログラミングの基礎知識を習得することを目的とする。前期ではスクリプト言語Pythonを利用して基礎的なプログラムの制御、構造、データ型、クラスなどを学ぶ。Pythonの標準ライブラリ、外部ライブラリを利用したプログラム開発についても学ぶ。後期では、C#言語の基本的な文法やオブジェクト指向について学ぶ。
授業の進め方・方法:
本授業ではプログラミング言語の理解を目的として講義を進める。前期ではPythonについて文法やデータの使い方について実例を交えながら説明していく。演習でプログラム開発を行うための環境についても説明を行う。後期ではC#の文法やオブジェクト指向を用いたプログラム設計について講義する。
注意点:
【事前学習】
「授業内容・方法」に対応する教科書や資料の内容を事前に読んでおくこと。

【評価方法・評価基準】
試験結果(100%)で評価する。詳細は第1回目の授業で告知する。
プログラミングに関する基本的な知識、Python、C#言語の文法、オブジェクト指向の知識を評価する。
総合評価60点以上を単位修得とする。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミング言語と開発環境(1) プログラミング言語と開発環境について理解する。
2週 プログラミング言語と開発環境(2) プログラミング言語と開発環境について理解する。
3週 算術演算、比較演算、変数、文字列、入力、条件分岐、繰り返し 算術演算、比較演算、変数等の利用ついて理解する。
4週 リストとリストの操作、文字列操作、辞書型など リストの操作、辞書型などを理解する。
5週 関数、無名関数、イテレータとジェネレータ 関数、無名関数などについて理解する。
6週 例外処理、外部入出力 例外処理や外部入出力を理解する。
7週 クラス、継承 (1) クラスと継承などオブジェクト指向の基本を理解する。
8週 クラス、継承 (2) クラスと継承などオブジェクト指向の基本を理解する。
2ndQ
9週 Pythonの内部および外部ライブラリ Pythonのライブラリ利用を理解する。
10週 Pythonの内部および外部ライブラリ Pythonのライブラリ利用を理解する。
11週 Pythonによる実践的プログラミング(1) Pythonによる実践的なプログラム開発を行うための知識を身につける。
12週 Pythonによる実践的プログラミング(2) Pythonによる実践的なプログラム開発を行うための知識を身につける。
13週 Pythonによる実践的プログラミング(3) Pythonによる実践的なプログラム開発を行うための知識を身につける。
14週 Pythonによる実践的プログラミング(4) Pythonによる実践的なプログラム開発を行うための知識を身につける。
15週 中間試験
16週 これまでの学習内容まとめ 中間試験の解答・まとめ
後期
3rdQ
1週 C#言語の仕組み(コンパイラ,バーチャルマシン等) コンパイラやバーチャルマシンなどの仕組みを理解できる。
2週 変数、条件分岐、繰り返し データ型や条件分岐、繰り返しなどの制御構造について理解できる。
3週 配列とコレクション 配列やリスト、ディクショナリーについて理解できる。
4週 メソッドとラムダ式 メソッドについての基本事項やLINQ、ラムダ式について理解できる。
5週 オブジェクト指向概要 オブジェクト指向の考え方について理解できる。
6週 継承とポリモーフィズム 継承やポリモーフィズムの考え方を理解できる。
7週 オブジェクト指向によるアプリの設計(1) オブジェクト指向の活用方法について理解できる。
8週 オブジェクト指向によるアプリの設計(2) 継承やポリモーフィズムの活用方法について理解できる。
4thQ
9週 Visual C#概要 Visual C#を活用したwindowsアプリケーションの基礎について理解できる。
10週 総合演習(1) プログラミング設計へのオブジェクト指向の活用方法を理解できる。
11週 総合演習(2) プログラミング設計へのオブジェクト指向の活用方法を理解できる。
12週 総合演習(3) これまで学んできたプログラミングの知識を課題解決に活用できる。
13週 総合演習(4) これまで学んできたプログラミングの知識を課題解決に活用できる。
14週 総合演習(5) これまで学んできたプログラミングの知識を課題解決に活用できる。
15週 期末試験
16週 学習内容のまとめ 期末試験の解答・まとめ

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
変数の概念を説明できる。3
データ型の概念を説明できる。3
制御構造の概念を理解し、条件分岐を記述できる。3
制御構造の概念を理解し、反復処理を記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3
計算機工学基本的な論理演算を行うことができる。2
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。2

評価割合

定期試験合計
総合評価割合100100
基礎的能力100100