プログラミングⅠ

科目基礎情報

学校 苫小牧工業高等専門学校 開講年度 2018
授業科目 プログラミングⅠ
科目番号 0009 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 3
開設学科 創造工学科(情報科学・工学系共通科目) 対象学年 2
開設期 通年 週時間数 3
教科書/教材 教科書: 「Cプログラミング」 株式会社インフォテックサーブ / 参考図書: 柴田望洋著 「明解C言語 入門編」 ソフトバンククリエイティブ,林晴比古著 「新C言語入門ビギナー編」 ソフトバンククリエイティブ,他
担当教員 中村 庸郎

到達目標

1. C言語や関連する基礎的な事柄を理解するためのプログラムの作成・実行・デバッグを遂行できる.
2. 習得したスキルを活用し,与えられた要求を満たすプログラムの作成・実行・デバッグを遂行できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1C言語や関連する基礎的な事柄を理解するためのプログラムの作成・実行・デバッグを自力で正しく遂行できる.C言語や関連する基礎的な事柄を理解するためのプログラムの作成・実行・デバッグを標準的なレベルで遂行できる.C言語や関連する基礎的な事柄を理解するためのプログラムの作成・実行・デバッグを自力で正しく遂行できない.
評価項目2習得したスキルを活用し,与えられた要求を満たすプログラムの作成・実行・デバッグを自力で正しく遂行できる.習得したスキルを活用し,与えられた要求を満たすプログラムの作成・実行・デバッグを標準的なレベルで遂行できる.習得したスキルを活用できない,あるいは与えられた要求を満たすプログラムの作成・実行・デバッグを自力で正しく遂行できない.

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

学習目標 Ⅱ 実践性
学校目標 D(工学基礎) 数学,自然科学,情報技術および工学の基礎知識と応用力を身につける
学科目標 D(工学基礎) 数学,自然科学,情報技術および工学の基礎知識と応用力を身につける
本科の点検項目 D-ⅰ 数学に関する基礎的な問題を解くことができる
本科の点検項目 D-ⅳ 数学,自然科学,情報技術および工学の基礎知識を専門分野の工学的問題解決に応用できる
学校目標 E(継続的学習) 技術者としての自覚を持ち,自主的,継続的に学習できる能力を身につける
本科の点検項目 E-ⅱ 工学知識,技術の習得を通して,継続的に学習することができる

教育方法等

概要:
情報処理技術者としてソフトウェア開発を行うために必要なプログラミング技術を修得するのが本科目の目的であり,二年間連続して開講される.
第2学年では,C言語を使用した基礎的なプログラミング技術の修得が中心となる.
授業の進め方・方法:
通常は情報棟3階 情報処理実習室(H301)において演習形式で実施する.
授業項目に対する達成目標に関する問題・課題を,定期試験・到達度試験および授業中に出題する.
評価時の重み付けは,定期試験45%,到達度試験25%,課題等30%であり,合格点は60点以上である.
再試験は基本的に実施されないものと考え,継続的に取り組むこと.
注意点:
授業もしくは授業項目毎に学習項目の演習問題を提示する.
これらを活用して自学自習に取り組み,提出の指示があった場合にはそれに従うこと.
情報処理実習室(H301)および情報システム実習室(H302)は,予習・復習・レポートの作成等のために,昼休み・放課後に開放している.
利用規則を遵守したうえで,自主的・積極的に利用し授業内容を理解するよう心がけること.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 C言語の基礎(1) C言語でプログラミングを行うための基礎的な事柄について説明できる.
2週 C言語の基礎(2) C言語でプログラミングを行うための基礎的な事柄について説明できる.
3週 標準出力の利用 C言語における標準出力について理解し,それらを使用したプログラムを作成できる.
4週 標準入力の利用 C言語における標準入力について理解し,それらを使用したプログラムを作成できる.
5週 基本的な制御構造と演算子(1) C言語における基本的な制御構造,変数の型,演算子について理解し,それらを使用したプログラムを作成できる.
6週 基本的な制御構造と演算子(2) C言語における基本的な制御構造,変数の型,演算子について理解し,それらを使用したプログラムを作成できる.
7週 基本的な制御構造と演算子(3) C言語における基本的な制御構造,変数の型,演算子について理解し,それらを使用したプログラムを作成できる.
8週 前期問題演習① C言語における標準入出力,基本的な制御構造,変数の型,演算子について理解し,それらを使用したプログラムを作成できる.
2ndQ
9週 前期到達度試験① C言語でプログラミングを行うための基礎的な事柄,標準入出力,基本的な制御構造,変数の型,演算子について説明・実装できる.
10週 配列の利用(1) C言語における配列の仕組みと使用方法を理解し,それらを使用したプログラムを作成できる.
11週 配列の利用(2) C言語における配列の仕組みと使用方法を理解し,それらを使用したプログラムを作成できる.
12週 配列の利用(3) C言語における配列の仕組みと使用方法を理解し,それらを使用したプログラムを作成できる.
13週 前期問題演習② C言語における配列の仕組みと使用方法を理解し,それらを使用した応用プログラムを作成できる.
14週 前期到達度試験② C言語における配列の仕組みと使用方法について説明・実装できる.
15週 前期総合演習 C言語でプログラミングを行うための基礎的な事柄,標準入出力,基本的な制御構造,変数の型,演算子,配列の仕組みと使用方法について説明・実装できる.
16週 前期定期試験 C言語でプログラミングを行うための基礎的な事柄,標準入出力,基本的な制御構造,変数の型,演算子,配列の仕組みと使用方法について説明・実装できる.
後期
3rdQ
1週 文字列の利用(1) C言語における文字列の仕組みと操作方法について理解し,それらを使用したプログラムを作成できる.
2週 文字列の利用(2) C言語における文字列の仕組みと操作方法について理解し,それらを使用したプログラムを作成できる.
3週 後期問題演習① C言語における文字列の仕組みと操作方法を理解し,それらを使用した応用プログラムを作成できる.
4週 関数の利用(1) C言語における関数の仕組みと定義・呼出し方法を理解し,それらを使用したプログラムを作成できる.
5週 関数の利用(2) C言語における関数の仕組みと定義・呼出し方法を理解し,それらを使用したプログラムを作成できる.
6週 関数の利用(3) C言語における関数の仕組みと定義・呼出し方法を理解し,それらを使用したプログラムを作成できる.
7週 後期問題演習② C言語における関数の仕組みと定義・呼出し方法を理解し,それらを使用した応用プログラムを作成できる.
8週 後期到達度試験① C言語における文字列の仕組みと操作方法,関数の仕組みと定義・呼出し方法について説明・実装できる.
4thQ
9週 型変換とビット演算(1) C言語における型変換とビット演算の使用方法を理解し,それらを使用したプログラムを作成できる.
10週 型変換とビット演算(2) C言語における型変換とビット演算の使用方法を理解し,それらを使用したプログラムを作成できる.
11週 後期問題演習③ C言語における型変換とビット演算の使用方法を理解し,それらを使用した応用プログラムを作成できる.
12週 マクロの定義と利用 C言語プリプロセッサの仕組みとマクロの定義・呼出し方法を理解し,それらのプログラムを作成できる..
13週 ヘッダファイルの作成と利用 C言語プリプロセッサの仕組みとヘッダファイルの作成・指定方法を理解し,それらのプログラムを作成できる.
14週 後期問題演習④ C言語プリプロセッサの仕組みとマクロやヘッダファイルの利用方法を理解し,それらの応用プログラムを作成できる.
15週 後期到達度試験② C言語における型変換とビット演算の使用方法,プリプロセッサの活用方法について説明・実装できる.
16週 後期定期試験 C言語でプログラミングを行うための基礎的な事柄,標準入出力,基本的な制御構造,変数の型,演算子,配列・文字列の仕組みや関数の使用方法等について説明・実装できる.

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3前1,前2
論理演算と進数変換の仕組みを用いて基本的な演算ができる。3後9,後10,後11,後15
コンピュータのハードウェアに関する基礎的な知識を活用できる。2前1,前2
情報伝達システムやインターネットの基本的な仕組みを把握している。2前1,前2
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。2前8,前13,後3,後7,後14
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。2前8,前13,後3,後7,後14
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。1前8,前13,後3,後7,後14
情報セキュリティの必要性および守るべき情報を認識している。1前1,前2
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。1前1,前2
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している1前1,前2
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。1前1,前2
専門的能力分野別の専門工学情報系分野プログラミング変数の概念を説明できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
データ型の概念を説明できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
代入や演算子の概念を理解し、式を記述できる。3前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
制御構造の概念を理解し、条件分岐を記述できる。3前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
制御構造の概念を理解し、反復処理を記述できる。3前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
主要な言語処理プロセッサの種類と特徴を説明できる。1前1,前2,前15,前16,後16
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。1前1,前2,前15,前16,後16
プログラミング言語は計算モデルによって分類されることを説明できる。1前1,前2,前15,前16,後16
主要な計算モデルを説明できる。1前1,前2,前15,前16,後16
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。3後14,後15,後16
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3後14,後15,後16
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3後14,後15,後16
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。3後14,後15,後16
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。3前1,前2
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。3前8,前13,後3,後7,後11,後14
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。3前8,前13,後3,後7,後11,後14
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。3前9,前14,前15,前16,後8,後15,後16
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,前16,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15,後16
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。1前1,前2
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。1前1,前2
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。3前3,前4,前5,前6,前7,前8,前10,前11,前12,前13,後1,後2,後3,後4,後5,後6,後7,後9,後10,後11,後12,後13,後14

評価割合

定期試験到達度試験課題等合計
総合評価割合452530100
基礎的能力0000
専門的能力452530100
分野横断的能力0000