プログラミングⅠ

科目基礎情報

学校 宇部工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミングⅠ
科目番号 52023 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 4
開設学科 経営情報学科 対象学年 2
開設期 通年 週時間数 4
教科書/教材 「基礎Python」大津真著(インプレス)
担当教員 武藤 義彦

到達目標

本科目はプログラミングの基礎を学びことを目的とし,Python言語を用いたプログラミングを取り上げる。学習の過程にてデータ型,制御構造,組み込み型,関数,ファイルの操作,クラスを用いたオブジェクト指向プログラミングを取り上げ,これらを複合的に組み合わせる能力を涵養する。

ルーブリック

理想的な到達レベルの目安(優)標準的な到達レベルの目安(良)最低限の到達レベルの 目安(可)未到達レベルの目安(不可)
到達目標1制御構造を理解し,それを適切に組み合わせた実践的なコードを実装できる制御構造を理解し,それを適切に組み合わせた基本的なコードを実装できる制御構造を理解し,それを用いたコードを実装できる制御構造を用いたコードを実装できない
到達目標2取り扱うデータに応じて文字列,リスト型,辞書型を適切に選択し,コードを実装できる取り扱うデータに応じてデータ型を指示に応じて選択し,コードを実装できる文字列,リスト型,辞書型の違いを理解し,コードを実装できる文字列,リスト型,辞書型の違いを理解できない
到達目標3適切な引数・返し値およびアルゴリズムをもった関数を設計・実装できる適切な引数・返し値をもった関数を設計・実装できる教員の指示に従って関数を実装できる教員の指示に従って関数を実装できない
到達目標4クラス間の関係性を理解したうえで,適切なクラスやアクセサを実装できるクラス間の関係性を理解したうえで,適切なクラスを実装できるクラス間の関係性を理解した教員の指示に従い,クラスやアクセサを実装できるクラス間の関係性を理解した教員の指示に従い,クラスやアクセサを実装できない

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

教育方法等

概要:
開講学期:第1~4学期
本科目ではPython言語を用いた基礎的なプログラミングを学ぶ。他の言語と共通するデータ型や制御構造,クラスの概念を学ぶとともに,Python 特有の内包表記や関数のインタフェースの実装法を知る。
授業の進め方・方法:
授業時間帯は演習に多くの時間を割くため,事前に予習用の動画を公開する。これらを予め視聴の上,授業(演習)に臨んでほしい。また,演習時は学生同士で情報交換しながら,また教員へ質問しながら課題に取り組む。
注意点:
プログラム(コード)は様々な部品の組み合わせにより構成される。授業の中で個々の部品としてデータ型や制御構造,関数の基本形などを取り上げるが,最終的にこれらの部品を組み立てるセンスが要求される。「個々の部品により何ができるのか」という知識と「これらを組み合わせる」実践力を身に付けてほしい。

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

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

授業計画

授業内容 週ごとの到達目標
前期
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週 後期のまとめ 後期に学んだ学習内容を整理できる

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

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験発表相互評価態度ポートフォリオその他プログラム(成果物)合計
総合評価割合000000100100
知識の基本的な理解 【知識・記憶、理解レベル】0000004040
思考・推論・創造への 適用力 【適用、分析レベル】0000006060
汎用的技能 【  】00000000
態度・志向性(人間力) 【  】00000000
総合的な学習経験と 創造的思考力 【  】 00000000