プログラミングⅠ

科目基礎情報

学校 茨城工業高等専門学校 開講年度 令和06年度 (2024年度)
授業科目 プログラミングⅠ
科目番号 0014 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 国際創造工学科 情報系 対象学年 2
開設期 通年 週時間数 2
教科書/教材 教科書:長谷川聡著「増補新訂版 よくわかるC言語」(近代科学社),参考書:石田晴久著「入門ANSI-C」(実教出版),中山清喬著「スッキリわかるC言語入門」(インプレス),適宜プリントを配布
担当教員 丸山 智章,安細 勉

到達目標

1.コンピュータの原理と仕組みを理解し、プログラミングの基礎技術を身につける。
2.複雑な手順やデータを扱うプログラムを作成するための知識や技術を身に付ける。
3.ソフトウェア開発環境の仕組みを理解し,プログラミングに応用するための技術を身に付ける。
4.ソフトウェアシステムとしての構成を考え構築するための基礎知識を理解する。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1コンピュータの原理と仕組みを理解し、プログラミングの基礎技術を身につけると共に、複数の問題例に適用できる。コンピュータの原理と仕組みを理解し、プログラミングの基礎技術を身につける。コンピュータの原理と仕組みが理解できず、プログラミングの基礎も身についていない。
評価項目2複雑な手順やデータを扱うプログラムを作成するための知識や技術を身に付けると共に、多様な問題の解決のために適用できる。複雑な手順やデータを扱うプログラムを作成するための知識や技術を身に付ける。手順やデータを扱うプログラムを作成できない。
評価項目3ソフトウェア開発環境の仕組みを理解して説明でき,プログラミングに応用するための技術を身に付ける。ソフトウェア開発環境の仕組みを理解し,プログラミングに応用するための技術を身に付ける。ソフトウェア開発環境の仕組みを理解できず,プログラミングへの応用技術も身に付いていない。
評価項目4ソフトウェアシステムとしての構成を考え構築するための基礎知識を理解し、説明できると共に、簡単なソフトウェア構築問題に適用できる。ソフトウェアシステムとしての構成を考え構築するための基礎知識を理解する。ソフトウェアシステムとしての構成を考え構築するための基礎知識が理解できない。

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

学習・教育到達度目標 (A) 説明 閉じる

教育方法等

概要:
C言語を用いてプログラミングの様々な処理方法について学ぶと共に,コンピュータソフトウェアの開発の基礎を学ぶ。更に,ソフトウェアシステムの基本的な仕組みに焦点を当て,講義や演習を通して理解を深める。
授業の進め方・方法:
講義およびプログラミング演習で進める.講義内容や演習問題は各時間ごとに示す。 
成績評価は,演習課題を40%,定期試験を60%として評価する。学年成績は,前期と後期の成績の平均とし,60点以上を合格とする。
注意点:
成績評価は,すべての演習課題を完了した学生に対して行う。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミングの基礎 プログラムについて理解し説明できる。また,プログラム開発環境を準備し,簡単なプログラムを作成し実行できる。
2週 C言語プログラムの基礎 C言語の基本事項について理解し、出力関数printf()を使ったプログラムを作成できる。
3週 変数と値 変数の概念、値の種類やデータ型について理解し、変数への代入や入力関数scanf()を使った値の入力を行うプログラムを作成できる。
4週 演算と演算子 代入演算子、算術演算子などの各種演算子の使い方について理解し、それら演算を行うプログラムを作成できる。
5週 制御構造(1)分岐 制御構造の分岐について理解し、if文、switch文を使ったプログラムを作成できる。また、関係演算子、論理演算子について理解し、条件式を正しく設定および組み合わせることができる。
6週 制御構造(2)反復 制御構造の反復について理解し、while文、do~while文、for文を使ったプログラムを作成できる。
7週 (中間試験)
8週 制御構造(3)発展と応用 無限ループと補助制御文について理解し説明できる。また,反復を複数重ねた多重ループのプログラムを作成できる。
2ndQ
9週 関数(1) 関数の仕組みを理解し、関数を使ったプログラムを作成できる。また、変数の有効範囲について理解し、局所変数、大域変数を組み合わせたプログラムを作成できる。
10週 関数(2) 引数と返却値について理解し、関数間で値を受け渡すプログラムを作成できる。また、再帰について理解し、その手順を説明できる。
11週 配列 配列の概念を理解し、配列を用いた代入や値の取り出しを行うプログラムを作成できる。また、多次元配列についても理解し応用プログラムを作成できる。
12週 文字列の利用 文字列について理解し、文字列を扱うプログラムを作成できる。
13週 文字と文字列の操作 文字コードおよび標準ライブラリ関数を利用した文字列操作について理解し、それを応用したプログラムを作成できる。
14週 アルゴリズムとプログラミング 計算手順や流れ図について理解し説明できると共に、プログラム実行を実践できる。また、並べ替えなどの基本的なアルゴリズムを用いたプログラムを理解し作成できる。
15週 (期末試験)
16週 総復習
後期
3rdQ
1週 アドレスとポインタ(1)アドレス値とポインタ変数 変数のメモリ上でのイメージとポインタ変数について理解し、基本的なプログラムが作成、実行できる。
2週 アドレスとポインタ(2)アドレス渡しの引数 関数に変数のアドレスを渡すことの意味を理解し、プログラムの理解と作成ができる。
3週 アドレスとポインタ(3)配列とポインタ 配列とポインタの違い関係と違いを理解し、使い分けることができる。
4週 構造体の利用(1)構造体の定義と宣言 構造体の定義、構造体変数の宣言について理解し、プログラムの理解と作成ができる。
5週 構造体の利用(2)構造体の配列 構造体の配列を作成し、利用したプログラムの理解と作成ができる。
6週 構造体の利用(3)構造体を指すポインタ 構造体を指すポインタやアロー演算子を理解し、プログラムの作成ができる。
7週 (中間試験)
8週 ライブラリ関数の利用 標準以外のライブラリ関数をプログラミングにおいて活用できる。
4thQ
9週 データ構造と動的メモリ割り当て(1)データ構造(リスト構造) リスト構造を理解し、構造体のメンバにポインタを用いて、リスト構造のプログラムの作成ができる。
10週 データ構造と動的メモリ割り当て(2)データ構造(ツリー構造) ツリー構造について理解し、構造体を用いてプログラムの作成ができる。
11週 データ構造と動的メモリ割り当て(3)データ構造(ネットワーク構造、グラフ) ネットワーク構造(グラフ)について理解し、構造体でプログラムに応用ができる。
12週 データ構造と動的メモリ割り当て(4)メモリの動的割り当て メモリの動的割り当てについて理解し、プログラムに応用できる。
13週 ファイル操作 ファイル入出力を使った様々な処理について理解し、プログラムの作成ができる。
14週 総まとめ
15週 (期末試験)
16週 総復習

評価割合

試験課題合計
総合評価割合6040100
基礎的能力000
専門的能力6040100
分野横断的能力000