シラバス情報

授業科目名
ソフトウェア開発論 (社会情報・専門科目)
(英語名)
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)

アクティブ・ラーニングの内容
演習時間の一部に限り採用する場合がある。
成績評価の基準・方法

【成績評価の基準】
ソフトウェア開発に必要なソフトウェア、ハードウェアの初歩的な部分を理解し、自らC言語を用いて簡単なプログラムの作成・実行ができる者には、講義目的・到達目標に記載する能力(知識・技能、思考力、判断力、表現力等)の到達度に基づき、S(90点以上),A(80点以上),B(70点以上),C(60点以上)による成績評価のうえ、単位を付与する。


【成績評価の方法】
レポート70%、定期テスト30%を基準として、授業の取組姿勢やレポートの提出に基づいて総合的に評価する。

課題・試験結果の開示方法
希望者に対して個別に対応する。
履修上の注意・履修要件
  • 「プログラミングⅠ」「プログラミングII」の内容を習得していること。

  • 毎回BYODを持参すること 。

  • 学習内容が広範囲に渡るため、十分な自宅学習(予習,復習)を勧める。

実践的教育
該当しない
備考
英語版と日本語版との間に内容の相違が生じた場合は、日本語版を優先するものとします。