プログラミング言語Ⅳ

科目基礎情報

学校 松江工業高等専門学校 開講年度 令和07年度 (2025年度)
授業科目 プログラミング言語Ⅳ
科目番号 0059 科目区分 専門 / 必履修
授業形態 授業・演習 単位の種別と単位数 学修単位: 2
開設学科 情報工学科 対象学年 5
開設期 後期 週時間数 2
教科書/教材 教師自作のテキスト
担当教員 岩澤 全規

到達目標

(1)最近のC++の基礎的な文法を理解する.
(2)C++のテンプレートメタプログラミングを理解する.
(3)GPUプログラミングについて理解する.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1C++プログラミングの基礎をよくに理解した.C++プログラミングの基礎を理解した.C++プログラミングの基礎を理解していない.
評価項目2C++のテンプレートメタプログラミングをよく理解した.C++のテンプレートメタプログラミングを理解した.C++のテンプレートメタプログラミングを理解していない.
評価項目3GPUプログラミングについてよく理解した.GPUプログラミングについて理解した.GPUプログラミングについて理解していない.

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

学習・教育到達度目標 J1 説明 閉じる

教育方法等

概要:
前半はC++の最近(C++11以降)の文法やテンプレートメタプログラミングの講義・演習を行う.
後半はCUDAによるGPUプログラミングの講義・演習を行う.
授業の進め方・方法:
PCを用いて,講義+演習の形式で行う.
PCは演習室のPCを用いてもよいし,自分のラップトップでも構わない.
注意点:
C++の基本的な文法をしていることが望ましい.
また、1授業につき180分の自習時間を設けること.

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 C++の基礎(1) 変数と出力について理解する.
2週 C++の基礎(2) 様々な型、リテラルについて理解する.
3週 C++の基礎(3) 関数、演算子のオーバーロードについて理解する.
4週 C++の基礎(4) 関数オブジェクトやラムダ式について理解する.
5週 C++の基礎(5) メモリの動的確保、スマートポインタについて理解する.
6週 C++の基礎(6) moduleを用いたプログラミングについて理解する.
7週 テンプレートプログラミング(1) クラステンプレート、関数テンプレートの基本的な使い方を理解する
8週 テンプレートプログラミング(2) テンプレートメタプログラミングの基礎を理解する.
4thQ
9週 テンプレートプログラミング(3) SFINAE, コンセプトについて理解する.
10週 基本的なSTLの使い方 有用なSTLの使い方を理解する.
11週 今までのまとめてテスト 今までの学習内容が理解できているかを確認する.
12週 GPUプログラミング(1) GPUプログラミングの歴史や基礎について理解する.
13週 GPUプログラミング(2) GPUとホストのデータ転送ができるようにする
14週 GPUプログラミング(3) GPUで簡単なプログラムを書けるようにする.
15週 GPUプログラミング(4)
GPUで簡単なプログラムを書けるようにする.
16週 GPUプログラミング(5) GPUでの最適化方法を理解し、効率的なプログラムを書けるようにする.

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数の概念を説明できる。3
データ型の概念を説明できる。3
代入や演算子の概念を理解し、式を記述できる。3
制御構造の概念を理解し、条件分岐を記述できる。3
制御構造の概念を理解し、反復処理を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
プログラミング言語は計算モデルによって分類されることを説明できる。4
主要な計算モデルを説明できる。4
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4

評価割合

演習・課題テスト合計
総合評価割合6040100
基礎的能力203050
専門的能力201030
分野横断的能力20020