本科目はプログラミングの基礎を学びことを目的とし,Python言語を用いたプログラミングを取り上げる。学習の過程にてデータ型,制御構造,組み込み型,関数,ファイルの操作,クラスを用いたオブジェクト指向プログラミングを取り上げ,これらを複合的に組み合わせる能力を涵養する。
概要:
開講学期:第1~4学期
本科目ではPython言語を用いた基礎的なプログラミングを学ぶ。他の言語と共通するデータ型や制御構造,クラスの概念を学ぶとともに,Python 特有の内包表記や関数のインタフェースの実装法を知る。
授業の進め方・方法:
授業時間帯は演習に多くの時間を割くため,事前に予習用の動画を公開する。これらを予め視聴の上,授業(演習)に臨んでほしい。また,演習時は学生同士で情報交換しながら,また教員へ質問しながら課題に取り組む。
注意点:
プログラム(コード)は様々な部品の組み合わせにより構成される。授業の中で個々の部品としてデータ型や制御構造,関数の基本形などを取り上げるが,最終的にこれらの部品を組み立てるセンスが要求される。「個々の部品により何ができるのか」という知識と「これらを組み合わせる」実践力を身に付けてほしい。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
イントロダクション |
プログラミングの考え方を理解できる。
|
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週 |
後期のまとめ |
後期に学んだ学習内容を整理できる。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | 前6 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前10,後4,後5,後6,後11,後12,後13,後14,後15 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前5,前6,前7,前9,前11,前12,前13,前14,前15,後1,後2,後4,後5,後6,後7,後9,後10,後11,後12,後13,後14,後15 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 前3,前4,前5,前6,前7,前9,前11,前12,前13,前14,前15,後1,後2,後4,後5,後6,後7,後9,後10,後11,後12,後13,後14,後15 |