![]() 教員名 : 大野 暢亮
|
授業科目名
ソフトウェア開発論 (社会情報・専門科目)
(英語名)
Software Development (社会情報・専門科目)
科目区分
専門教育科目
ー
対象学生
社会情報科学部
学年
3年
ナンバリングコード
KCJBS3MCA1
単位数
2単位
ナンバリングコードは授業科目を管理する部局、学科、教養専門の別を表します。詳細は右上の?から別途マニュアルをダウンロードしてご確認ください。
授業の形態
講義 (Lecture)
開講時期
2025年度前期
担当教員
大野 暢亮
所属
社会情報科学部
授業での使用言語
日本語
関連するSDGs目標
目標9
オフィスアワー・場所
火曜日2時限・K418
連絡先
ohno@sis.u-hyogo.ac.jp
対応するディプロマ・ポリシー(DP)・教職課程の学修目標
二重丸は最も関連するDP番号を、丸は関連するDPを示します。
学部DP
3◎/1〇
研究科DP
ー
全学DP
ー
教職課程の学修目標
ー
講義目的・到達目標
【講義目的】
C/C++言語でのプログラミング演習を通して、ソフトウェア開発に必要なソフトウェアやハードウェアの基本的な知識を学習する。 【到達目標】 1) ハードウェアやソフトウェア、OSの役割などの基本事項が説明できること。 2) 簡単なC/C++プログラムを作成でき、Linuxの基本的なコマンドを扱えること。 3) ファイルの簡単なバージョン管理ができること。 授業のサブタイトル・キーワード
講義内容・授業計画
【講義内容】
本講義ではLinux環境でC/C++のプログラミングを通して、ソフトウェア開発に必要なソフトウェア、ハードウェアの基本的な知識を習得する。「プログラミングI」「プログラミングII」の内容を習得していることを前提に講義を進める。 <!--[if !supportLineBreakNewLine]--> 【授業計画】 第1回 ガイダンス、Linuxのインストール、コンピュータの基本構造 第2回 Linuxの基本的なコマンド、ディレクトリ構造、C言語とPythonの違い 第3回 コンパイル、メッセージの出力(Hello, World)、変数とデータ型、四則演算、データの入力 第4回 条件分岐、繰り返し処理、配列 第5回 関数、構造体、クラス(C++言語)によるカプセル化 第6回 ポインタ、メモリの動的確保、OSによるメモリ管理 第7回 ファイル入出力、テキストファイル、バイナリファイル 第8回 ファイルの分割、依存関係、make と Makefile 第9回 演習1 第10回 プログラムの高速化1 (ループアンローリング等) 第11回 並列計算機、プロセスとスレッド、プログラムの高速化2 (スレッド並列: OpenMPによる並列化) 第12回 プログラムの高速化3 (プロセス並列: MPIによる並列化) 第13回 プログラムの高速化4 (ハイブリッド並列: MPI+OpenMPによる並列化) 第14回 演習2 第15回 gitによるバージョン管理の基礎 ※パソコンの利用:毎回BYODを使用する ※ 3〜15は順番を変更する場合がある <生成AIの利用について> ・レポート、小論文、学位論文等については、学生本人が作成することを前提としているため、生成系AIのみを用いて作成することはできません。 教科書
資料を配布するが、C言語の教科書としては、B.W.カーニハン, D.M.リッチー「プログラミング言語C」共立出版
参考文献
講義中に随時指示する
事前・事後学習(予習・復習)の内容・時間の目安
【予習】授業に際して指示する教材の部分を事前読み込み(20h)
【復習】講義内容の理解を深め定着させるための教材の読み直し・講義で出た問題の復習(20h) アクティブ・ラーニングの内容
演習時間の一部に限り採用する場合がある。
成績評価の基準・方法
【成績評価の基準】
課題・試験結果の開示方法
希望者に対して個別に対応する。
履修上の注意・履修要件
実践的教育
該当しない
備考
英語版と日本語版との間に内容の相違が生じた場合は、日本語版を優先するものとします。
|