プログラミングⅡ

科目基礎情報

学校 久留米工業高等専門学校 開講年度 2018
授業科目 プログラミングⅡ
科目番号 2E13 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 電気電子工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 教科書:開発ツールを使って学ぶ! C言語プログラミング,マイナビ,坂井弘亮 
担当教員 加藤 直孝

到達目標

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

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1ポインターを使ったプログラムを理解する.ポインターを使ったプログラムを理解できる.ポインターを使ったプログラムを理解できない.
評価項目2簡単なプログラムを自力で開発できる.簡単なプログラムを,援助を得ながら開発できる.プログラムを開発することができない.
評価項目3Linux上の簡単な操作ができる.Linux上の簡単な操作を援助を得ながらできる.Linuxを使うことができない.

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

教育方法等

概要:
1年生の続きで,C言語のポインターの理解を深める.ポインターの学習に多くの時間を使うが,後期にある電気電子実践演習IIで,Linux上でC言語のプログラミングに必要なツールを使えるようになることも目標とする.
特に,GUI(Graphical User Interface)ではなく,CUI(Character User Interface)を使った開発に重点を置く.
適宜,高専機構が準備した教材「K-SEC情報モラル教材」によるセキュリティー教育も行う 
授業の進め方・方法:
1年生の続きで,C言語のポインターを学習した後,教科書の例に従って授業を進める.授業でカバーできない例などは,自宅で入力および実行する必要がある.そのため,自分専用のPCを持っていることが望ましい.
PCの環境設定等は,教科書に詳しく記述があるので,授業開始前に準備しておくこと.1年で学んだ
C言語を使って各自プログラム作品を作る.1年生の春休み中にプログラム作品の構想を練っておくこと. 
注意点:
高専機構が準備した「情報システム ユーザーガイドライン」や 「低学年教材」のパワーポイントを使ってセキュリティーの知識を深める.
LinuxはPC上のOracle Virtualbox上にインストールするので,Linux専用のPC等の購入の必要はないが,WindowsノートブックPCが必要となる.
評価方法詳細:
定期試験 30%,課題等その他 70% を目安として評価する. 60点以上を合格とする.再試は行わない.
   
   

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション Linuxでのgccによるコンパイルを説明する
2週 Mulitidimensional Array 多次元配列とポインタの関係を理解できる.
3週 Pointer to strings ストリングが配列であることを理解できる
4週 Structures: Simple structure, nested structure 配列との対比でストラクチャーが理解できる.
5週 Array of structures ストラクチャーの配列を理解できる.
6週 Array of pointers to structures ストラクチャーへのポインタを使える.
7週 VM(Virtual Machine)とCentOS VMとは何か分かる
8週 Shellの操作 Shellの基本操作ができる.
2ndQ
9週 Shellのコマンド Shellのコマンドを試すことができる.
10週 C言語のコンパイル C言語をgccでコンパイルできる.
11週 プログラム作品発表会(1)  自分のプログラムを他人に説明できる.
12週 プログラム作品発表会(2) 他の発表におけるプログラムの内容が理解できる.
13週 プログラム作品発表会(予備) 他の発表におけるプログラムの内容が理解できる.
14週 プログラムのアーカイブ アーカイブを経験する.
15週 まとめ 全体を復習し理解する.
16週

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

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

評価割合

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