プログラミング3

科目基礎情報

学校 松江工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング3
科目番号 0021 科目区分 専門 / 選択
授業形態 授業・演習 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 3
開設期 前期 週時間数 2
教科書/教材 [教科書] 自作テキスト.また,教員が作成した資料を必要に応じて配布して使用する.[参考書] 「やさしいC」,高橋麻奈著,ソフトバンク社 「詳説 Cポインタ」,R. Reese著,菊池訳,(株)オライリー・ジャパン
担当教員 金山 典世

到達目標

( 1 ) 配列・構造体などの高度な利用方法を理解している.
( 2 ) ポインタと配列・構造体などの関係性を理解している.
( 3 ) 適切なデータ構造を利用して,プログラムを作成することができる.
( 4 ) 大きなプログラム開発におけるC言語の基本手法を理解している.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1配列・構造体などの高度な利用方法を正確に理解している配列・構造体などの高度な利用方法を理解している配列・構造体などの高度な利用方法を理解していない
評価項目2ポインタと配列・構造体などの関係性を正確に理解しているポインタと配列・構造体などの関係性を理解しているポインタと配列・構造体などの関係性を理解していない
評価項目3適切なデータ構造を利用して,適切なプログラムを作成することができる適切なデータ構造を利用して,プログラムを作成することができる適切なデータ構造を利用して,プログラムを作成することができない
評価項目4大きなプログラム開発におけるC言語の基本手法を正確に理解している大きなプログラム開発におけるC言語の基本手法を理解している大きなプログラム開発におけるC言語の基本手法を理解していない

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

学習・教育到達度目標 J2 説明 閉じる

教育方法等

概要:
プログラミング1,2ではC言語の文法を一通り学び,与えられた比較的小さな課題に対する基礎的なプログラミング技法を習得した.本科目では,プログラミング1,2で取り上げられなかった事項について学ぶと共に,これらの基礎的事項を利用した基本的プログラミング手法について学び,より実践的な基礎を習得することを目指す.
授業の進め方・方法:
到達目標 ( 1 ) ~ ( 4 )の達成度について,
定期試験 60% (中間試験30%,期末試験30%)
演習課題 40%
の割合で評価を行なう.50点以上を合格とする.
 原則として,再評価試験および追認試験は実施しない.
注意点:
 基本情報処理技術者試験の試験対策としても十分に理解しておくこと.
 演習課題は,自ら考えて取り組むこと.
 再試験は特別な事情のない限り,原則として実施しない.

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 講義ガイダンス,Unix上でのプログラミング
ターミナルソフトの利用方法,Unix上での開発方法・コンパイル方法,演習
プログラミングに必要な仮想環境を準備し、Unix上での編集・プログラミング・コンパイルなどができる。
2週 配列とポインタ
ポインタ配列および配列とアドレスの関係について学び,演習を行う.
配列とポインタとの関係、ポインタ配列を理解し、プログラムが書ける。
3週 構造体とポインタ
構造体とポインタの利用について学び,演習を行う.
構造体とポインタの関係を理解し、それを利用したプログラムが書ける。
4週 構造体と配列、構造体の中の構造体
構造体配列,構造体の中に構造体を含むようなデータについて学び,演習を行う.
構造体の中に配列や構造体がある、あるいは構造体の配列のような複雑なデータ構造を理解し、プログラムに利用できる。
5週 メモリとキャスト
メモリの利用,キャストなどについて学び,演習を行う.
メモリを必要に応じて確保し、ポインタを通じて利用できる。
6週 ポインタと関数
関数においてポインタをどのように利用するかを学び、演習を行う.
これまでの構造体のポインタなどを関数に利用し、プログラムに利用できる。
7週 main関数の引数
main関数の引数について学び,演習を行う.
main関数の引数を理解し、引数のあるプログラムが書ける。
8週 復習 これまでの文法内容について復習を行う。
2ndQ
9週 中間試験
第1回~第7回の範囲
これまでの文法事項などを良く理解している。
10週 ファイル入出力
ファイルの取扱いについて学び,演習を行う.
高水準ファイル入出力を利用できる。
11週 関数ポインタ
関数ポインタについて学び,演習を行う.
関数ポインタを理解し、それを利用できる。
12週 プリプロセッサ
C言語におけるプリプロセッサについて学び,演習を行う.
プリプロセッサにおけるマクロを理解し、プログラムに応用できる。
13週 モジュール
モジュールについて学び,演習を行う.
モジュールに分けた開発を理解し、make を用いることができる。
14週 記憶クラス
変数などの有効範囲について学び,演習を行う.
外部変数・静的変数などについて理解し、変数の寿命などをプログラミングに利用できる。
15週 期末試験
第10回~第14回の範囲
これまでの文法事項を良く理解している。
16週 まとめとセキュアプログラミング セキュアプログラミングの基礎を理解する。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3
主要な言語処理プロセッサの種類と特徴を説明できる。2
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3

評価割合

中間試験期末試験演習課題態度ポートフォリオその他合計
総合評価割合303040000100
基礎的能力15152000050
専門的能力15152000050
分野横断的能力0000000