プログラミング3

科目基礎情報

学校 久留米工業高等専門学校 開講年度 2019
授業科目 プログラミング3
科目番号 3E13 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 電気電子工学科 対象学年 3
開設期 前期 週時間数 2
教科書/教材 C言語本格入門 ~基礎知識からコンピュータの本質まで 種田 元樹著(技術評論社)
担当教員 加藤 直孝

到達目標

次の3点を新たに習得することを目標とする.
1.動的メモリーの確保とその利用ができること
2.リスト構造を使ったプログラムが作れること
3.ネットワークシステムコールを理解すること

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1動的メモリーに関する操作を正し行うことができる.メモリーリークを起こさずに正確にメモリーの操作ができる.メモリーの操作により問題を引きおこす.
評価項目2リスト構造を自由に使うことができる.単純なリスト構造を持ったプログラクが書ける.リスト構造やポインタが理解できない.
評価項目3C言語でクライアントサーバープログラムを作ることができる.シンプルなクライアントサーバープログランクが書ける.システムコールを使うことができない.

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

JABEE B-1 説明 閉じる

教育方法等

概要:
本授業では,1年,2年生で学んだC言語の知識を基に,より発展的な内容を取り上げ,C言語だけでなく,コンピューターシステムに対する理解を深める.同時に,グループで作りたいプログラムの仕様を決め,C言語でプログラムを作成する.また,セキュリティーに関するプログラミングの話も取り上げる.
授業の進め方・方法:
1,2年生で学んだことを復習するために,教科書の例を取り上げ,プログラムを実際に動かし,C言語の理解を深める.次の3つの事項に焦点を絞り学習する.
1.動的メモリーの確保とその利用
2.リスト構造を理解する
3.ネットワークシステムコールを理解する
以上と並行して,セキュリティーに関するプログラミングの話を取り上げながら,高専機構が準備した「K-SEC情報モラル教材」「情報システム ユーザーガイドライン」「低学年教材」を用いて,セキュリティーに関する復習も行う.
最後に,グループでC言語を用いて好きなプログラムを作成し,発表を行う.
注意点:
教科書:C言語本格入門 ~基礎知識からコンピュータの本質まで,種田 元樹著,技術評論社
参考書:新訂 新C言語入門 シニア編,林晴比古,SBクリエイティブ
GNU Make 第3版,Robert Mecklenburg (著), 矢吹 道郎 (監訳) ,オライリージャパン 
高専機構が準備した「K-SEC情報モラル教材」「情報システム ユーザーガイドライン」「低学年教材」等

評価方法詳細:
定期試験 30%,課題等その他 70% を目安として評価する. 60点以上を合格とする.再試は行わない.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション:学習や開発に必要なPC環境に関する説明と,情報セキュリティーに関する復習. 必要な環境を理解すること.セキュリティーの重要性を理解している.
2週 PC環境の設定について学ぶ.セキュリティーの理解を深める. VM(Virtual Machine)上にLinuxをインストールできる.
3週 メモリーをヒープから確保する方法を学ぶ malloc, freeなどメモリーに関する関数を正しく使える.
4週 メモリーのサイズを変更する方法を学ぶ. メモリーのサイズを変更することや,確保したメモリーを解放することができる.
5週 C言語でリスト構造を扱う方法を学ぶ.(1) C言語でリスト構造を作ることができる.(1)
6週 C言語でリスト構造を扱う方法を学ぶ.(2) C言語でリスト構造を作ることができる.(2)
7週 OSのシステムコールを使って,チャットプログラムを作る.(1) C言語でネットワークプログラミングを体験する.(1)
8週 OSのシステムコールを使って,チャットプログラムを作る.(2) C言語でネットワークプログラミングを体験する.(2)
2ndQ
9週 OSのシステムコールを使って,チャットプログラムを作る.(3) C言語でネットワークプログラミングを体験する.(3)
10週 オープンソースプログラムを読む. FreeBSD のオープンソースの1部分を理解できることを体験する.
11週 プログラム作品発表会(1) プログラム作品を他人に分かりやすく紹介し,プログラムの内容を説明できる.
12週 プログラム作品発表会(2) プログラム作品を他人に分かりやすく紹介し,プログラムの内容を説明できる.
13週 プログラム作品発表会(3) プログラム作品を他人に分かりやすく紹介し,プログラムの内容を説明できる.
14週 プログラム作品発表会(予備) プログラム作品を他人に分かりやすく紹介し,プログラムの内容を説明できる.
15週 セキュリティーの理解を深める 高度なセキュリティーに関する学習の必要性を理解できる
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3前1
論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
コンピュータのハードウェアに関する基礎的な知識を活用できる。3
情報セキュリティの必要性および守るべき情報を認識している。3
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。3
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
変数の概念を説明できる。3
データ型の概念を説明できる。3
制御構造の概念を理解し、条件分岐を記述できる。3
制御構造の概念を理解し、反復処理を記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。3
基数が異なる数の間で相互に変換できる。3
整数を2進数、10進数、16進数で表現できる。3
小数を2進数、10進数、16進数で表現できる。3

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合302000050100
基礎的能力0200005070
専門的能力300000030
分野横断的能力0000000