プログラミング2

科目基礎情報

学校 久留米工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 プログラミング2
科目番号 2E13 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 電気電子工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 教科書:C Puzzle Book,Addison-Wesley,新しいLinuxの教科書(三宅 英明,大角 祐介,SBクリエイティブ)
担当教員 加藤 直孝

到達目標

1.ストラクチャーを含む配列を理解できる.
2.ポインターを使う高度なプログラムが解読できる.
3.Shell中でパイプ等を用いた色々なコマンド操作ができる.
4.Linux上のCUI(Character User Interface)でC言語のプログラムを開発できる.
5.セキュリティーの基本を理解している.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1ポインターを使ったプログラムを書ける.ポインターを使ったプログラムを理解できる.ポインターを使ったプログラムを理解できない.
評価項目2いろいろなプログラムを独力で書ける.簡単なプログラムを書ける.プログラムを独力で書けない.
評価項目3Linux OS を自由に操作できる.Linux OS 上で簡単な操作ができる.Linuxを使うことができない.

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

教育方法等

概要:
1年生の続きで,Puzzle bookの問題を解きながらC言語のポインターとストラクチャーの理解を深める.また,Linux の基礎を学ぶ.特に,GUI(Graphical User Interface)ではなく,CUI(Character User Interface)を使った開発に重点を置く.適宜,高専機構が準備した教材「K-SEC情報モラル教材」によるセキュリティー教育も行う. 
授業の進め方・方法:
Puzzle bookの問題を解きながら授業を進めるが,適宜新訂新C言語入門シニア編を参照する.授業でカバーできない例などは,自宅で入力し実行する必要がある.そのため,自分専用のPCを持っている必要がある.高専機構が準備した「情報システム ユーザーガイドライン」や 「低学年教材」のパワーポイントを使ってセキュリティーの知識も深める.Puzzle book を進めながら,Linux OSに慣れ親しむための解説を行う.
注意点:
参考書:新訂 新 C言語入門 シニア編,林 晴比古,ソフトバンク パブリッシング.
LinuxはPC上のOracle Virtualbox上にインストールするので,Linux専用のPCの購入の必要はないが,Windows(またはMac)のノートブックPCが必要となる.
評価方法詳細:
定期試験 50%,課題等その他 50% を目安として評価する. 60点以上を合格とする.再試は行わない.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション Linuxでのgccによるコンパイルを説明する
2週 変数のスコープを理解する. 変数のスコープを正確に理解できる.
3週 Simple Pointer and Array ArrayとPointerの関係を理解できる.
4週 Array of Pointers Pointerの配列を理解できる.
5週 Mulitidimensional Array 多次元配列とポインタの関係を理解できる.
6週 Pointers and Arrays PointerとArrayが絡み合った複雑なプログラムを理解できる.
7週 Structures: Simple structure, nested structure 配列との対比でストラクチャーが理解できる.
8週 Array of Structures ストラクチャーの配列を理解できる.
2ndQ
9週 Array of Pointers to Structures ストラクチャーへのポインタを使える.
10週 予備 予備
11週 VM(Virtual Machine)とCentOSを説明する.  VMとは何か分かる.
12週 Shellの基本的な操作を学ぶ. Shellの基本操作ができる.
13週 Shellのコマンドを学ぶ. Shellのコマンドを試すことができる.
14週 Linux上でのC言語のコンパイルを学ぶ. C言語をLinuxのgccでコンパイルできる.
15週 まとめ 全体を復習し理解する.テスト返却など.
16週

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

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

評価割合

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