ソフトウェア演習Ⅱ

科目基礎情報

学校 鶴岡工業高等専門学校 開講年度 令和08年度 (2026年度)
授業科目 ソフトウェア演習Ⅱ
科目番号 0057 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 創造工学科(情報コース,DDコース情報系) 対象学年 3
開設期 通年 週時間数 2
教科書/教材 なし(参考書として「高橋麻奈: やさしいPython,SBクリエイティブ」)
担当教員 岩佐 はな子

到達目標

変数とデータ型の概念を説明できる。代入や演算子を理解し,式を記述できる。制御構造を理解し,条件分岐や反復処理を記述できる。関数(プロシージャ)を理解し,関数を使ったプログラムを記述できる。与えられた問題に対して,それを解決するためのソースプログラムを記述し,実行することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1制御構造を理解し,条件分岐や反復処理を記述し,説明できる。制御構造を理解し,条件分岐や反復処理を記述できる。制御構造を理解できておらず,条件分岐や反復処理を記述できない。
評価項目2関数を理解し,これらを含むプログラムを記述し,説明できる。関数を理解し,これらを含むプログラムを記述できる。関数を理解できておらず,これらを含むプログラムを記述できない。
評価項目3与えられた問題に対して,それを解決するためのソースプログラムを記述し,説明できる。与えられた問題に対して,それを解決するためのソースプログラムを記述できる。与えられた問題に対して,それを解決するためのソースプログラムを記述できない。

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

D D 説明 閉じる

教育方法等

概要:
Pythonを用いたプログラミング能力を高めることを目標とします。問題のトップダウン的解析や関数によるプログラムの機能分割に積極的に取り組むことにより,構造化プログラミングの方法を理解し,実践的なプログラミング能力を身につけます。
授業の進め方・方法:
前半は,教科書の練習問題程度のプログラムを作成することで,Pythonのプログラミングの基本を復習・理解してください。後半は,提示された問題に対して,それを解決するためのアルゴリズムを考え,プログラムを作成する実習を行います。
レポート 100%で総合評価し,50点以上を合格とします。
注意点:
プログラムを完成させることが目的ではなく,プログラミングという作業に慣れることが重要です。構造化プログラミング,関数による機能分割にもチャレンジして欲しいと思います。人に聞いたり,ネットで調べたりすることは大切ですが,プログラムのコピーだけは絶対に行わないようにしてください。

事前・事後学習、オフィスアワー

【オフィスアワー】 授業日の15:00~16:00

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 文字列(その1)
文字列のフォーマットについておよび授業の進め方,プログラムの作成方法など
文字列におけるフォーマットについて理解する。
前期授業の進め方を理解する。
2週 文字列(その2)
検索,置換,分割
文字列における検索,置換,分割方法について理解する。
3週 ループ
for文,while文,入れ子構造
ループの考え方を理解し,プログラムを作成できる。
4週 リスト
リストの基本的な操作
リストの考え方を理解し,プログラムを作成できる。
5週 タプル
タプルの基本的な操作
タプルの考え方を理解し,プログラムを作成できる。
6週 ディクショナリ
ディクショナリの基本的な操作
ディクショナリの考え方を理解し,プログラムを作成できる。
7週 関数(その1)
関数の定義
関数の定義や引数と戻り値などの基本的な説明ができる。
8週 関数(その2)
ラムダ演算子,デコレータ
ラムダ演算子,デコレータを用いた関数を作成できる。
2ndQ
9週 再帰関数 関数を用いた再帰処理の基本的な説明ができる。
10週 クラス(その1)
クラスの定義
クラスの考え方を理解し,クラスを用いたプログラムを作成できる。
11週 クラス(その2)
クラスの継承,オーバーライド
クラスの継承,オーバーライドといった考え方を理解し,プログラムを作成できる。
12週 課題プログラム1 基本的な(簡単な)プログラムを作成できる。
13週 モジュール
モジュールの考え方を理解し,プログラムを作成できる。
14週 ファイル操作(その1) ファイルデータの読み取り,ファイルデータの書き込みの考え方を理解する。
15週 ファイル操作(その2) ファイルデータの読み取り,ファイルデータの書き込みを処理するプログラムを作成できる。
16週
後期
3rdQ
1週 プログラムのデバッグ プログラムの不備を見つけ出して修正することができる。
2週 プログラムの可読性 プログラムの可読性について理解し,プログラムを保守・点検できる。
3週 データ構造
スタック
データ構造スタックのデータ格納の特徴(last in first out)を理解し,スタックを操作するプログラムを実装できる。
4週 データ構造
キュー
データ構造キューのデータ格納の特徴(first in first out)を理解し,キューを操作するプログラムを実装できる。
5週 動的リスト構造 C言語における動的リストとPtyhonのコレクションを比較してデータ構造の違いを理解できる。
6週 データ構造
データ構造木のデータ格納の特徴を理解し,木を操作するプログラムを実装できる。
7週 課題プログラム2 これまでの授業内容を理解して、課題プログラムを作成できる。
8週 プログラム設計手法
全数探索
全ての可能性のある解の候補を全て調べる全数探索法を理解し,プログラム作成に応用できる。
4thQ
9週 プログラム設計手法
探索木
木構造を利用した最小値探索法を理解し,プログラム作成に応用できる。
10週 プログラム設計手法
動的計画法
対象となる問題を複数の部分問題に分割し,部分問題の結果を記録しながら解く動的計画法を理解し,プログラム作成に応用できる。
11週 数値解析
二分探索法を用いた方程式の求解
探索の対象となるデータ範囲を半分ずつに限定しながら値を探索する二分探索法を理解する。
二分探索法を用いて方程式の近似解を求めるプログラムを作成できる。
12週 数値解析
モンティカルロ法
乱択を繰り返し行い答えを求める手法の一つであるモンティカルロ法の手法を理解する。
モンティカルロ法を用いて円周率の近似値を求めるプログラムを作成できる。
13週 数値解析
数値微分
微分の近似値を計算する数値微分の手法を説明できる。
微分値を利用し関数の最小値を求める手法である勾配降下法を説明できる。
勾配降下法を用いて関数の最小値を求めるプログラムを作成できる。
14週 数値解析
数値積分
定積分の近似値を計算する区分求積法と台形則を説明できる。
定積分の近似値を求めるプログラムを作成できる。
15週 まとめ これまでの授業内容を理解して、課題プログラムを作成できる。
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミングプログラミングの基本的な構造を理解し、プログラムを記述できる。3前1,前2,前3,前4,前5,前6,前10,前11
サブルーチンの概念を理解し、これらを含むプログラムを記述できる。3前1,前2,前3,前4,前5,前6,前10,前11
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前9,前12,後7,後8,後9,後10,後11,後12,後13,後14,後15
与えられたソースプログラムを解析し、プログラムの動作を予測できる。3前13,後8,後9,後10,後11,後12,後13,後14,後15
ソフトウェア生成に必要なツールを使い、ソースプログラムを実行できる。3後1,後8,後9,後10,後11,後12,後13,後14,後15

評価割合

レポート合計
総合評価割合100100
基礎的能力6060
専門的能力4040
分野横断的能力00