プログラミングⅠ

科目基礎情報

学校 高知工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミングⅠ
科目番号 I3016 科目区分 専門 / 必修
授業形態 講義・演習 単位の種別と単位数 履修単位: 1
開設学科 SD 情報セキュリティコース 対象学年 3
開設期 前期 週時間数 2
教科書/教材 教科書:林晴比古「明快入門C」(ソフトバンクパブリッシング) 参考書:(株)アンク「Cの絵本 ~C言語を好きになる9つの扉~」(翔泳社)
担当教員 西内 悠祐

到達目標

1.基本的な情報処理プログラムをC言語で記述することができる。
2.アルゴリズムを見いだす論理的な思考ができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1望む動作をするプログラムを1から構築できる。C言語の記述から動作が理解できる。簡単なプログラムを実装することができる.C言語の記述からどのような動作をするか理解でない。
評価項目2望む動作からアルゴリズムを構築することができる。アルゴリズムによってどのような動作をするか理解できる。アルゴリズムによってどのような動作をするか理解できない。

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

教育方法等

概要:
C言語でプログラムが作成できることを目標として講義と実習により言語教育を行う。これらにより、情報技術への理解を深め、論理的に考える訓練を行う。「基礎学力を確実なものとし、応用能力を身に付ける」ことを目標とする。
授業の進め方・方法:
言語や文法に関する説明後簡単なプログラム構築を行う。
注意点:
【成績評価の基準・方法】
試験の成績60 %、平素の学習状況等(課題・小テスト・レポート等を含む)を40 %の割合で総合的に評価する。技術者が身につけるべき専門基礎として、到達目標に対する達成度を試験等において評価する。エンジニアに必要な情報処理技術としてのアルゴリズム構築能力、C言語によるプログラム作成能力を試験等において評価する。
【事前・事後学習】
事前学習として教科書の該当部分(事前に説明)を読み理解が難しい部分を認識した上で授業に臨むこと。また、事後学習として授業内で作成したプログラムを応用したプロウグラムの作成と動作確認を行う。
【履修上の注意】
この科目を履修するにあたり、2年生のプログラミング基礎の内容を十分に理解しておくこと。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミング基礎[1]:C言語のあらまし、基本的なプログラムソースの作り方など学内環境におけるC言語プログラミングについて学ぶ。 C言語の基礎や学内においてC言語プログラミングを行う手法を理解する。
2週 C言語基礎1[2]:変数とデータ型、配列などの基礎的なC言語の記述について学び、実習を行う。 変数やデータ型、配列などの基礎的なC言語の記述や動作を理解する。
3週 C言語基礎2[3]:演算子などの基礎的なC言語の記述について学び、実習を行う。 演算子などの基礎的なC言語の記述や動作を理解する。
4週 C言語基礎3[4-5]:流れ制御などの基礎的なC言語の記述について学び、実習を行う。 制御文などの基礎的なC言語の記述や動作を理解する。
5週 C言語基礎3[4-5]:流れ制御などの基礎的なC言語の記述について学び、実習を行う。 制御文などの基礎的なC言語の記述や動作を理解する。
6週 C言語基礎4[6-7]:コンソール入出力や関数、標準ライブラリの使い方について学び、実習を行う。 コンソール入出力や関数、標準ライブラリの使い方や動作を理解する。
7週 C言語基礎4[6-7]:コンソール入出力や関数、標準ライブラリの使い方について学び、実習を行う。 コンソール入出力や関数、標準ライブラリの使い方や動作を理解する。
8週 ポインタ[8-10]:ポインタについて学び、ポインタ操作についての実習を行う。 ポインタの動作や記述方法について理解する。
2ndQ
9週 ポインタ[8-10]:ポインタについて学び、ポインタ操作についての実習を行う。 ポインタの動作や記述方法について理解する。
10週 ポインタ[8-10]:ポインタについて学び、ポインタ操作についての実習を行う。 ポインタの動作や記述方法について理解する。
11週 構造体 [11-13]:構造体について学び、実習を行う。 構造体の動作や記述方法について理解する。
12週 構造体 [11-13]:構造体について学び、実習を行う。 構造体の動作や記述方法について理解する。
13週 構造体 [11-13]:構造体について学び、実習を行う。 構造体の動作や記述方法について理解する。
14週 総合課題[14-15]:関数・ポインタ・構造体を組み合わせたプログラムの構築を行う。 関数・ポインタ・構造体を組み合わせたプログラムの動作や記述方法について理解する。
15週 総合課題[14-15]:関数・ポインタ・構造体を組み合わせたプログラムの構築を行う。 関数・ポインタ・構造体を組み合わせたプログラムの動作や記述方法について理解する。
16週 総合課題2[16]:ファイル入出力について学び、実習を行う。 ファイル入出力の使い方や動作を理解する。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4前2,前3,前4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前5,前6,前7,前14
変数の概念を説明できる。4前2,前3,前4
データ型の概念を説明できる。4前2,前3,前4
制御構造の概念を理解し、条件分岐を記述できる。4前5,前6,前7,前14
制御構造の概念を理解し、反復処理を記述できる。4前5,前6,前7,前14
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4前1
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4前1
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4前1,前2,前3,前4,前5,前6,前7
主要な言語処理プロセッサの種類と特徴を説明できる。2前1
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3前1
プログラミング言語は計算モデルによって分類されることを説明できる。2前1
主要な計算モデルを説明できる。2前1
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4前2,前3,前4,前5,前6,前7
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4前2,前3,前4,前5,前6,前7
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4前2,前3,前4,前5,前6,前7
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4前2,前3,前4,前5,前6,前7
ソフトウェアアルゴリズムの概念を説明できる。4前2,前3,前4,前5,前6,前7
与えられたアルゴリズムが問題を解決していく過程を説明できる。4前2,前3,前4,前5,前6,前7
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前2,前3,前4,前5,前6,前7
整列、探索など、基本的なアルゴリズムについて説明できる。4前2,前3,前4,前5,前6,前7
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4前14,前15,前16
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4前14,前15,前16
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4前5,前6,前7,前14,前15,前16
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4前5,前6,前7,前14,前15,前16
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4前5,前6,前7,前14,前15,前16
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4前5,前6,前7,前14,前15,前16
ソフトウェアを中心としたシステム開発のプロセスを説明できる。2前1
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。3前14,前15,前16
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。3前14,前15,前16
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4前1
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4前1
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4前1
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4前2,前3,前4,前5,前6,前7
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4前2,前3,前4,前5,前6,前7
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。4前1
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。4前1
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4前14,前15,前16

評価割合

試験課題・レポート・小テスト合計
総合評価割合6040100
基礎的能力453075
専門的能力151025