シラバス情報

授業科目名
コンピュータ実習2
(英語名)
Seminar of Computer Programming 2
科目区分
専門教育科目
対象学生
工学部
学年
2年
ナンバリングコード
HETBK2MCA5
単位数
1.00単位
ナンバリングコードは授業科目を管理する部局、学科、教養専門の別を表します。詳細は右上の?から別途マニュアルをダウンロードしてご確認ください。
授業の形態
実習 (Practical Training)
開講時期
2025年度後期
(Fall semester)
担当教員
小橋 昌司、山添 大丈、和田 孝之
所属
工学研究科
授業での使用言語
日本語
関連するSDGs目標
目標9
オフィスアワー・場所
小橋:木曜日12:10〜13:00,6号館 6313
メール等での事前予約が望ましい
連絡先
UNIPAのQ&A機能を利用し,全担当教員に連絡してください

対応するディプロマ・ポリシー(DP)・教職課程の学修目標
二重丸は最も関連するDP番号を、丸は関連するDPを示します。
学部DP
3◎/4〇/5〇
研究科DP
全学DP
教職課程の学修目標

講義目的・到達目標

講義目的

本講義では,「プログラミング演習」および「コンピュータ実習I」で習得したプログラミング技術をさらに発展させることを目的とする.C言語を用いた実習を通じて,より実用的なアルゴリズムとデータ構造のプログラミング手法を身につける.文法の学習にとどまらず,アルゴリズム設計やデータ構造の適切な選択を重視し,計算効率やメモリ管理を考慮した実装能力を養う.また,データサイエンスや人工知能(AI)で広く利用されるPythonの基礎文法を学び,数値データ処理や機械学習ライブラリの活用を通じて,実践的なプログラミングスキルを習得する.


到達目標

  • C言語で作成されたプログラムをアルゴリズムやデータ構造の観点から説明できる.
  • 計算量やメモリ使用量を考慮し,アルゴリズムをC言語で適切に実装できる.
  • 指定された仕様を満たすプログラムを,最適なデータ構造やアルゴリズムを用いて作成できる.
  • Pythonを使って初歩的なプログラムを作成し,数値計算やデータ処理の基本的な実装ができる.
授業のサブタイトル・キーワード
サブタイトル: 「C言語とPythonを活用した実践的プログラミング技法の習得」

キーワード:
  • C言語
  • Python
  • データ構造
  • アルゴリズム
  • 機械学習
  • プログラミング実習
講義内容・授業計画
【講義内容】
本講義では,プログラミング演習およびコンピュータ実習I,プログラミング論IおよびIIで習得した知識に基づき,C言語とPythonを用いたプログラム作成実習を行います.前半では,C言語による基本データ構造(連結リスト,木構造など),データ探索,ソートアルゴリズムの実装を通じて,効率的なプログラミング手法を習得します.後半では,Pythonの開発環境設定から始め,基本的な文法,データ構造,ライブラリの活用,さらに機械学習の基礎までを実習します.これにより,異なるプログラミング言語間の共通点と相違点を理解し,適切な言語選択と応用力を養います.

【授業計画】
本実習は,前半をC言語,後半をPythonのプログラム作成実習として実施します.

C言語のプログラム作成実習

  1. データ構造:連結リストと木構造
  2. データ探索:線形探索と二分探索
  3. ソート:選択ソートと挿入ソート
  4. ソートプログラムの応用
  5. 第1回学習到達度確認実習

Python言語のプログラム作成実習

  1. Python開発環境の構築
  2. 変数および演算子
  3. 比較演算子・条件分岐
  4. リストとタプル
  5. 関数定義
  6. 文字列操作
  7. ファイル入出力と外部モジュール
  8. NumPyとMatplotlib
  9. 画像処理ライブラリと機械学習ライブラリ
  10. 第2回学習到達度確認実習

【生成AIの利用について】
本実習では,学生自身のプログラミング能力の向上を目的としているため,実習中の生成AIの使用は認められません.生成AIを用いたコードの提出が確認された場合,単位の認定を行わない,または取り消すことがあります.ただし,事前学習や事後学習において,学習効果を高めるための生成AIの活用は許可されています.この際も,生成AIの出力を鵜呑みにせず,必ず自身で内容を検証し,理解を深めるよう努めてください.
教科書
『例題で学ぶはじめてのC言語(第2版)』
  • 著者:大石 弥幸、朝倉 宏一
  • 出版社:ムイスリ出版
  • 定価:2,310円(税別)
  • ISBN:978-4-89641-309-0

『独習Python』
  • 著者:山田 祥寛
  • 出版社:翔泳社
  • 定価:3,000円(税別)
  • ISBN:978-4-7981-6364-2

参考文献
独習C 新版
出版社 ‏ : ‎ 翔泳社
ISBN-13 ‏ : ‎ 978-4798150246


事前・事後学習(予習・復習)の内容・時間の目安
【事前学習】
授業で使用するテキスト教材の該当部分を事前に学習し,授業内容の理解を助ける準備を行います.また,各授業で取り扱うプログラムの基本的な構造や関数について調査し,C言語やPythonの基本文法,関連する技術の理解を深めることが重要です.特に,C言語のデータ構造やアルゴリズム,Pythonのライブラリ活用に関する知識を事前に確認し,授業にスムーズに取り組めるようにします.
1回の授業につき約2時間を目安とし,全15回で合計30時間を想定しています.

【事後学習】
授業で学んだ内容を深く理解し,知識を定着させるために,以下の学習を行います.
  • プログラムの再実装:授業で学んだコードを改めて自分で書き直し,理解を深めます.
  • 演習課題の実施:授業で出題された問題を解き直し,プログラミングスキルを向上させます.
  • 講義内容の復習:理解が不十分だった点を中心に,教科書や資料を読み直し,知識を定着させます.
  • 提出課題のフィードバックを活用した修正:提出した課題の採点結果はUNIPAで返却されます.指摘された箇所の修正を行い,より良いコードの書き方を習得します.
1回の授業につき約2〜3時間を目安とし,全15回で合計45時間を想定しています.
アクティブ・ラーニングの内容
本講義では,実践的なプログラミングスキルを習得し,理解を深めるために,以下のアクティブ・ラーニングの手法を取り入れます.


教科書掲載のプログラムを事前に入力しての実習

各授業で扱うプログラムについて,教科書に掲載されているコードを事前に入力し,実行しておくことを推奨します.これにより,実習時にはプログラムの構造や動作を理解した状態で臨むことができ,コードの変更や応用に集中することが可能となります.


指示された課題に対する自主的な取り組み

実習では,指示された課題について各学生が自ら考え,実装を進めることが求められます.単なるコードの入力ではなく,試行錯誤しながらプログラムの動作を確認し,より適切な実装方法を探る姿勢を重視します.


他学生との教え合い・ディスカッションの推奨

実習中は,学生同士の教え合いやディスカッションを積極的に行うことを推奨します.プログラムのエラーや疑問点について議論しながら進めることで,異なる視点や解決方法を学ぶ機会となり,より深い理解につながります.


教員やTAへの質問の活用

実習中にわからない点や疑問が生じた場合は,積極的に教員やTAに質問し,理解を深めることが重要です.質問を通じて,プログラムの改善点やより良い実装方法についてのフィードバックを得ることができます.

これらのアクティブ・ラーニングを通じて,技術的な知識だけでなく,問題解決能力やコミュニケーション能力の向上も目指します.
成績評価の基準・方法

【成績基準】

以下の基準を満たす学生に対して,講義目的・到達目標に記載された能力(知識・技能,思考力,判断力)の到達度に基づき,S(90点以上),A(80点以上),B(70点以上),C(60点以上)の成績評価を行い,単位を付与する.
  • C言語によるプログラムを,アルゴリズムやデータ構造の観点から説明できること.
  • アルゴリズムをC言語で効率的に実装できること.
  • 特定の仕様を満たすプログラムを,計算量やメモリ使用量を考慮して最適化できること.
  • Pythonを用いて初歩的なプログラムを作成できること.


【成績評価の方法】

講義目的・到達目標に記載された能力(知識・技能,思考力,判断力)の到達度を評価するため,以下の方法で成績評価を行う.
  • 学習到達度確認実習(2回)
    • 各回100点満点で評価し,最終成績の 70% を占める.
  • 毎週の課題提出
    • 実習時間内に提出し,100点満点で評価する
    • 再提出も評価対象とする.
    • 各課題のレポートは 最終成績の30% に反映する.
  • 受講態度
    • 積極的な質問や演習への取り組み も総合的に考慮する.


【受講資格について】

  • 学習到達度確認実習のいずれかを欠席した場合,受講資格を失う.
  • 学習到達度確認実習および毎週の課題提出を合わせて3回以上欠席した場合も,受講資格を失う.
  • 定期テストは実施しない.
課題・試験結果の開示方法
  • 毎週提出する実習課題 は、UNIPAのクラスプロファイル機能を通じて 点数とコメントを返却 します。
    • 満点(100点)に満たない場合は、再提出を求め、修正後の内容を再評価 します。

  • 学習到達度確認実習の結果 は、UNIPAのクラスプロファイル機能を通じて 点数と講評を返却 します。

  • 学生からの要望があれば、オンライン会議システムを利用して 個別のフィードバックを実施 します。

履修上の注意・履修要件
  • 「プログラミング演習」および「コンピュータ実習I」、「プログラミング論I」および「プログラミング論II」を修得しておくことが望ましい。
    これらの科目で学んだ知識を基礎として、本講義ではより高度なプログラミング技術を実習を通じて学ぶ。

  • 授業計画に記載された実習項目は、履修生の理解度や講義の進行状況に応じて変更する場合がある。
    実習の進行や到達目標の達成状況に応じて、内容の調整や順序の変更を行うことがあるため、柔軟に対応できるようにすること。

実践的教育
該当しない
備考
  • 授業を欠席する場合は、以下のいずれかの書類を提出すること。
    提出書類には氏名および日付が明記されていることが必要
    • 診断書(コピー可)
    • 病院の領収書
      提出後、確認が完了したら返却する。
  • 本実習は、コンピュータ実習室に設置されたパソコンを使用して行う。
    個人のノートパソコンを持ち込んで使用することも可能だが、本科目の範囲外の環境設定や技術的な質問には対応しない。
  • 2回の学習到達度確認実習は、実習室の据え付けパソコンを使用して実施する。
    そのため、事前に据え付けパソコンの基本操作を習得しておくことが必須。習得不足による救済措置は一切行わない。
英語版と日本語版との間に内容の相違が生じた場合は、日本語版を優先するものとします。