到達目標
本科目はプログラミングの基礎を学びことを目的とし,Python言語を用いたプログラミングを取り上げる。学習の過程にてデータ型,制御構造,組み込み型,関数,ファイルの操作,クラスを用いたオブジェクト指向プログラミングを取り上げ,これらを複合的に組み合わせる能力を涵養する。
ルーブリック
| 理想的な到達レベルの目安(優) | 標準的な到達レベルの目安(良) | 最低限の到達レベルの 目安(可) | 未到達レベルの目安(不可) |
到達目標1 | 制御構造を理解し,それを適切に組み合わせた実践的なコードを実装できる | 制御構造を理解し,それを適切に組み合わせた基本的なコードを実装できる | 制御構造を理解し,それを用いたコードを実装できる | 制御構造を用いたコードを実装できない |
到達目標2 | 取り扱うデータに応じて文字列,リスト型,辞書型を適切に選択し,コードを実装できる | 取り扱うデータに応じてデータ型を指示に応じて選択し,コードを実装できる | 文字列,リスト型,辞書型の違いを理解し,コードを実装できる | 文字列,リスト型,辞書型の違いを理解できない |
到達目標3 | 適切な引数・返し値およびアルゴリズムをもった関数を設計・実装できる | 適切な引数・返し値をもった関数を設計・実装できる | 教員の指示に従って関数を実装できる | 教員の指示に従って関数を実装できない |
到達目標4 | クラス間の関係性を理解したうえで,適切なクラスやアクセサを実装できる | クラス間の関係性を理解したうえで,適切なクラスを実装できる | クラス間の関係性を理解した教員の指示に従い,クラスやアクセサを実装できる | クラス間の関係性を理解した教員の指示に従い,クラスやアクセサを実装できない |
学科の到達目標項目との関係
教育方法等
概要:
開講学期:第1~4学期
本科目ではPython言語を用いた基礎的なプログラミングを学ぶ。他の言語と共通するデータ型や制御構造,クラスの概念を学ぶとともに,Python 特有の内包表記や関数のインタフェースの実装法を知る。
授業の進め方・方法:
授業時間帯は演習に多くの時間を割くため,事前に予習用の動画を公開する。これらを予め視聴の上,授業(演習)に臨んでほしい。また,演習時は学生同士で情報交換しながら,また教員へ質問しながら課題に取り組む。
注意点:
プログラム(コード)は様々な部品の組み合わせにより構成される。授業の中で個々の部品としてデータ型や制御構造,関数の基本形などを取り上げるが,最終的にこれらの部品を組み立てるセンスが要求される。「個々の部品により何ができるのか」という知識と「これらを組み合わせる」実践力を身に付けてほしい。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
イントロおよびGoogle Colaboratory環境構築 |
プログラミングの考え方を理解できる。また,演習室での演習・自学での相互運用性を担保するため,Google Colaboratory を用いた開発環境を構築できる
|
2週 |
インタラクティブ環境におけるプログラムの実行 |
数値演算や文字列の表現,print関数の挙動など,基礎的な事項を理解できる
|
3週 |
変数 |
変数を用いた演算,代入演算子,キーボードからの値の入力方法を理解し,実装できる
|
4週 |
組み込み型(数値型,文字列,リスト型) |
数値演算,数値と文字列の相互変換,リストの操作を理解できる
|
5週 |
標準ライブラリの利用 |
モジュールのインポート,インスタンス生成,メソッドの呼び出しができる
|
6週 |
制御構造(1):条件分岐 |
if文を用いた条件分岐,比較演算子,条件分岐のネストについて理解できる
|
7週 |
制御構造(2):論理演算子,in演算子 |
論理演算子を用いた複雑な条件の記述およびin演算子を用いたリスト内の要素包含を理解できる
|
8週 |
|
|
2ndQ |
9週 |
制御構造(3):反復 |
for文,while文を用いた反復処理を理解し,実装できる
|
10週 |
制御構造(4):制御構造を組み合わせた複合的な演習 |
演習課題に取り組むことができる
|
11週 |
例外の取り扱い |
例外の概念を理解し,try~excep文を用いて例外を補足できる
|
12週 |
文字列の活用 |
文字列へ適用可能なメソッドを把握し,それらを活用したプログラミングができる
|
13週 |
リストの活用 |
スライスを用いた要素の取り出し/要素の検索・追加・削除・ソートができる
|
14週 |
辞書の活用 |
辞書の概念である「キーと値のペア」の意味を理解し,これを用いたプログラムを作成できる
|
15週 |
内包表記 |
リストおよび辞書を対象とした内包表記を理解し,簡潔な記述によりリスト・辞書を構築できる
|
16週 |
前期のまとめ |
前期に学んだ学習内容を整理できる
|
後期 |
3rdQ |
1週 |
関数(1):関数の基本構造 |
関数の基本構造を理解し,関数を用いたプログラムを実装できる
|
2週 |
関数(2):キーワード引数とデフォルト値 |
キーワード引数・デフォルト値を用いた理解容易性の向上を図ることができる
|
3週 |
関数(3):変数のスコープ |
スコープの概念を理解し,ローカル変数とグローバル変数を適切に使い分けることができる
|
4週 |
関数(4):演習[1] |
関数の組み合わせによるプログラミングができる
|
5週 |
関数(5):演習[2] |
前期に学んだ制御構造と関数を組み合わせて,複合的な課題に取り組むことができる
|
6週 |
関数(6):演習[3] |
前期に学んだ制御構造と関数を組み合わせて,複合的な課題に取り組むことができる
|
7週 |
テキストファイルからのデータの読み込み |
テキストファイルからデータを読み込む手順を理解し,読み込んだデータを可視化できる
|
8週 |
|
|
4thQ |
9週 |
テキストファイルへのデータの書き込み |
テキストファイルへデータを書き込む手順を理解し,新たにファイルを生成できる
|
10週 |
クラス |
クラスを構成するコンストラクタ,インスタンス変数の役割・記述方法を理解し,単純なクラスを構築できる
|
11週 |
クラスを用いた演習課題(1):お弁当屋さんゲームの概要 |
オブジェクト指向プログラミングの要であるクラスを利用したコードを理解できる
|
12週 |
クラスを用いた演習課題(2):お弁当屋さんゲームの改良[1] |
仕様に従ってコードを改良できる
|
13週 |
クラスを用いた演習課題(3):お弁当屋さんゲームの改良[2] |
仕様に従ってコードを改良できる
|
14週 |
クラスを用いた演習課題(4):お弁当屋さんゲームの改良[3] |
仕様に従ってコードを改良できる
|
15週 |
クラスを用いた演習課題(5):お弁当屋さんゲームの改良[4] |
仕様に従ってコードを改良できる
|
16週 |
後期のまとめ |
後期に学んだ学習内容を整理できる
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | プログラム(成果物) | 合計 |
総合評価割合 | 0 | 0 | 0 | 0 | 0 | 0 | 100 | 100 |
知識の基本的な理解 【知識・記憶、理解レベル】 | 0 | 0 | 0 | 0 | 0 | 0 | 40 | 40 |
思考・推論・創造への 適用力 【適用、分析レベル】 | 0 | 0 | 0 | 0 | 0 | 0 | 60 | 60 |
汎用的技能 【 】 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
態度・志向性(人間力) 【 】 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
総合的な学習経験と 創造的思考力 【 】 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |