プログラミング演習

科目基礎情報

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

到達目標

(1) 統合開発環境を使ってプログラムを開発できる。
(2) Pythonを利用した基本的なプログラミングができる。
(3) C#言語を用いたプログラムを作成できる。
(4) オブジェクト指向を用いたプログラムを作成できる。
【教育目標】C、D

【教育目標】C, D

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
(1) プログラム作成に関する基礎知識用途に沿った適切なプログラムを設計、開発できる。統合開発環境を使ってプログラムを開発できる。プログラムの開発ができない。
(2) PythonプログラミングPythonの標準、外部モジュールを利用して自らプログラムの開発ができる。エラー箇所の分析ができる。Pythonを利用した基本的なプログラミングができる。Pythonを利用したプログラミングができない。
(3) C#プログラミングC#言語の応用的なプログラムを自ら作成できるようになる。C#言語を用いたプログラムを作成できる。C#言語を用いたプログラムを作成できない。
(4) オブジェクト指向プログラミングオブジェクト指向を用いて応用的なプログラムを自ら作成できるようになる。オブジェクト指向を用いたプログラムを作成できる。オブジェクト指向を用いたプログラムを作成できない。

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

教育方法等

概要:
本授業ではプログラミングの入門者を対象にプログラミングの演習を行う。前期はスクリプト言語Pythonによりプログラミングの基礎的な演習を行う。Linux OS上での操作や演習により基礎的なプログラムの制御、データ構造を習得する。Pythonの標準ライブラリ、外部ライブラリを利用したプログラム製作を行う。後期はC#言語を用いて言語を理解するための演習やオブジェクト指向を活用できるようになるための演習を行う。
授業の進め方・方法:
演習室において実際のコンピュータ上でプログラムを動作させ、自分で確認する。前期はPythonを利用したLinux OS上でのプログラム開発を行う。統合開発環境を利用して実際にプログラムを動かし、最終的には自主的に計画してプログラム製作を行う。後期はWindows OS上でVisual Studioを用いてプログラム開発を行う。毎週の授業内容を理解するための小課題と総合的なプログラミング能力を養うための総合課題を課す。
注意点:
本授業では多くの課題が課されるが、提出期限を守って提出すること。

【事前学習】
「授業内容・方法」に対応する教科書や資料の内容を事前に読んでおくこと。

【評価方法・評価基準】
総合課題(80%)、小課題(20%)で評価する。詳細は第1回目の授業で告知する。
基本的なプログラミング能力、Python、C#言語を利用したプログラム作成能力、オブジェクト指向プログラミングを実践する能力を評価する。
総合評価60点以上を単位修得とする。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 Linux OSの操作、Pythonの開発環境構築 Linux OS、CUIを操作ができる。Pythonのインタラクティブシェルや開発環境を操作できる。
2週 算術演算、比較演算、変数、文字列、入力、条件分岐、繰り返し 算術演算、比較演算、変数を利用したプログラミングができる。
3週 リストとリストの操作、文字列操作、辞書型など(1) リストや辞書型などを扱うことができる。
4週 リストとリストの操作、文字列操作、辞書型など(2) リストや辞書型などを扱うことができる。
5週 関数、無名関数、イテレータとジェネレータ 関数や無名関数等を利用したプログラミングができる。
6週 例外処理、外部入出力、標準ライブラリ 例外処理や外部入出力、標準ライブラリを用いたプログラミングができる。
7週 Pythonの外部ライブラリ 外部ライブラリを用いたアプリケーション作成ができる。
8週 プログラミング開発実習準備 プログラミング開発実習のための作成物を考案し計画を立案する。
2ndQ
9週 クラス、継承(1) クラス、継承などを利用してプログラミングができる。
10週 クラス、継承(2) クラス、継承などを利用してプログラミングができる。
11週 プログラミング開発実習(1) Pythonの標準ライブラリ、外部ライブラリを利用したプログラミングができる。
12週 プログラミング開発実習(2) Pythonの標準ライブラリ、外部ライブラリを利用したプログラミングができる。
13週 プログラミング開発実習(3) Pythonの標準ライブラリ、外部ライブラリを利用したプログラミングができる。
14週 開発したプログラムの発表 開発したプログラムについて設計や機能などを説明できる。
15週 前期のまとめ 前期に学んだ事項を俯瞰的に理解できる。
16週
後期
3rdQ
1週 C#言語の開発環境構築 Visual Studio上で新規プロジェクト作成やプログラム実行ができる
2週 制御構造を用いたプログラミング 制御構造を利用したプログラムを作成できる
3週 複数のデータを扱うプログラミング リストやディクショナリーを利用したプログラムを作成できる
4週 メソッドを活用したプログラミング メソッドを利用したプログラムを作成できる
5週 迷路ゲームの作成(1) 与えられた課題を解決するために配列やコレクションを活用できる
6週 迷路ゲームの作成(2) 与えられた課題を解決するためにメソッドを活用できる。
7週 オブジェクト指向プログラミング(1) クラスを利用したプログラムを作成できる。
8週 オブジェクト指向プログラミング(2) コンストラクタやプライベート変数を用いたプログラムを作成できる。
4thQ
9週 オブジェクト指向プログラミング(3) ポリモーフィズムを利用したプログラムを作成できる。
10週 描画アプリの作成 クラスを活用した描画オブジェクトの設計ができる。
11週 windowsアプリケーション 簡易的なwindowsアプリケーションを作成できる。
12週 総合演習(1) オブジェクト指向を活用したプログラム設計ができる。
13週 総合演習(2) オブジェクト指向を活用したプログラム設計ができる。
14週 制作物のプレゼンテーション 制作物についてのプレゼンテーションができる。
15週 後期のまとめ Pythonによるプログラム開発を行える
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
変数の概念を説明できる。4
データ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。2
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。2
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。2
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。2
ソフトウェアソフトウェアを中心としたシステム開発のプロセスを説明できる。2
システムプログラムコンパイラの役割と仕組みについて説明できる。3
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。3
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。3
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。3
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。3

評価割合

合計
総合評価割合100100
総合課題8080
基本課題2020