シラバス情報

授業コード
520079
オムニバス
科目名
プログラミング言語
科目名(英語)
Programming launguage
配当学年
1年
単位数
2.00単位
年度学期
2025年度秋学期
曜日時限
月曜2限
対象学科
先_ロボ
コース
科目区分
専門科目
必選の別
選択科目
担当者
田村 仁
教室
3-322
実務家教員担当授業
授業の目的と進め方
ロボットの制御やデータ処理に必要となるコンピュータプログラミングの能力を修得し、自分で基本的なC言語などによるプログラミング能力を身につける。授業内では50問以上の課題に解答することでプログラムの動作を考えることによりコンピュータがどう動作するのかを理解する。
課題はサポータル上の小テスト、および専用サイトへのプログラムの提出による。これらでは各自の提出結果と採点結果を公開している。 
達成目標1
簡単な課題に対するコンピュータプログラミングができる。【25%】
達成目標2
変数、配列、ポインタ等の簡単なデータ構造について理解し説明できる。【25%】
達成目標3
繰り返し、条件分岐、関数呼び出し、再帰などプログラムの制御構造について理解し、説明できる。【25%】
達成目標4
ロボットの制御やデータ処理に利用するために、C言語などを用いたプログラムが作成出来る。【25%】
達成目標5
達成目標6
達成目標7

アクティブラーニング
ディスカッション
ディベート
グループワーク
プレゼンテーション
実習
フィールドワーク
その他課題解決型学習

授業計画
授業時間外課題(予習および復習を含む)
第1回
ガイダンス プロクラムの仕組みとプログラミング言語

授業の進め方や内容の概論、成績評価方法についての説明を受ける。最初のプログラムを書いて実行することで演習のやり方を理解する。 
(予習)コンピュータの機能について「コンピュータハードウェア」の内容を復習し、ビットとバイト、2進数の演算等を理解しておくこと(1時間)。
(復習)自分のノートPCにC言語の開発環境をインストールすること(1時間)。
第2回
C言語プログラムの開発環境とC言語の基本

C言語の開発環境とは何かについて講義する。前回も使用した開発環境の細かい説明を受け、実際に開発環境を使用する演習を行い、プログラム課題の実行を行う。 
(予習)様々なC言語プログラムの開発環境を自主的に調べ、その違いや特徴を理解しておくこと(1時間)。
(復習)printfを使用した出力プログラム課題を解答して提出サイトに送信する。その場で合格不合格が判定されるので、合格するまでプログラムを修正する。またサポータルのprintfに関する小テストを受けること(1時間)。
第3回
変数とデータ型 

プログラミング言語における変数とは何か、C言語におけるデータ型の種類と特徴について講義する。実際に変数を使ったプログラムを作成する演習を行う。 
(予習)様々なデータ型を調べること(1時間)。
(復習)変数の内容を表示する各課題プログラムを作成し、合格すること.データ型に関するサポータルの小テストを受けること(1時間)。 
第4回
式と演算子 

C言語で使用する式と演算子について講義する。簡単な計算を行うプログラムを作成する演習を行う。 
(予習)演算子の種類や機能について調べること(1時間)。
(復習)様々な計算式の各課題プログラムを作成し、合格すること。演算子に関するサポータルの小テストを受けること(1時間)。  
第5回
条件式とif文、switch文 

C言語での条件文について講義する。
条件によって動作が異なるプログラムを作成する演習を行う。
(予習)論理演算子の種類や機能について調べること(1時間)。
(復習)if文のそれぞれの課題プログラムを作成し、合格すること。サポータルの条件式に関する小テストを受けること(1時間)。
第6回
for文とステップ実行

C言語の繰り返し文について講義する。
繰り返し計算などのプログラムを作成し、その動作をステップ実行して確認する演習を行う。
 
(予習)for文やwhile文の機能について調べること(1時間)。
(復習)それぞれの課題プログラムを作成し、合格すること(1時間)。サポータルの繰り返し文の小テストを受けること(1時間)。 
第7回
関数の基本

C言語における関数について講義する。
ライブラリ関数を利用するプログラムや自作の関数を使ったプログラムを作成する演習を行う。
(予習)関数の利用方法について理解すること(1時間)。
(復習)既存の関数を利用および関数を自作するそれぞれの課題プログラムを作成し、合格すること。サポータルの関数に関する小テストを受けること(1時間)。 
第8回
ポインタ

C言語におけるポインタとは何か、どのように利用するのか講義する。
ポインタを使ったプログラムを作成する演習を行う。 
(予習)メモリのアドレスとポインタの関係について理解し、ポインタを利用する事のメリットを理解しておくこと(1時間)。
(復習)それぞれの課題プログラムを作成し、合格すること(1時間)。
  
第9回
配列・文字列とポインタ

配列とは何か、ポインタとの関係について講義する。
配列を使ったプログラムや文字配列を使ったプログラムを作成する演習を行う。
(予習)この授業の前にデータ型(第3回)について改めて復習しておくこと。また、文字列の扱いや多次元配列の利用方法を理解しておくこと(1時間)。
(復習)それぞれの課題プログラムを作成し、合格すること(1時間)。 
第10回
多次元配列と構造体

構造体とポインタを使ったリスト構造などデータ構造について講義する。
リングバッファを使ったプログラムなどを作成する演習を行う。 
(予習)構造体とリスト構造について調べておくこと(1時間)。
(復習)課題のプログラムを完成し、合格すること(1時間)。
 
第11回
アルゴリズム

アルゴリズムについて講義する。
再帰を用いた探索問題のプログラムを作成する演習を行う。  
(予習)再帰呼び出しについて調べておくこと。(1時間)
(復習)それぞれの課題プログラムを作成し、合格すること(1時間)。
第12回
ハッシュ法

ハッシュ法について講義する。
ハッシュ法を用いたプログラムを作成する演習を行う。 
(予習)ハッシュ法について調べておくこと。(1時間)
(復習)それぞれの課題プログラムを作成し、合格すること(1時間)。
 
第13回
高度なプログラミング

2年次科目や3年度科目とのつながりを説明し、さらに職業プログラマに要求されるプログラミング能力などプログラミングの応用について講義する。

職業プログラマ用のスキルチェック課題に挑戦する演習を行う。
 
(予習)関数、配列、ポインタについて復習しておくこと。また、メモリの動的確保についても理解しておくこと(1時間)。
(復習)それぞれの課題プログラムを作成し、合格すること(1時間)。。
 
第14回
授業のまとめ/これからのプログラミングについて

これまでの授業を振り返り、質疑応答を行う。
また、生成AIを使ったプログラミングについて講義を行う。 
(予習)これまでの授業全体を復習しておき、疑問点をまとめておくこと。(1時間)
(復習)これまでに合格できていない課題をすべて合格させること(2時間)。
 


課題等に対するフィードバック
サポータルの小テストで正答率が低かった問題に対しては授業内で解説の時間を設ける。
プログラム課題は提出サイトで自動判定され、正答するまで受け取らない。 
評価方法と基準
全50問の提出課題の合計点数(70%)およびサポータルの小テストの点数(30%)を総合して判断する。
総合点が60点以上でC評価とする。またAA評価を受けるためには総合点が80点以上のA評価かつ、さらに最後の応用課題を解答する必要がある。

課題提出は、専用の課題提出ページからオンラインで行う。このページのアクセス方法は授業中に指示する。
またサポータルの小テストは各週授業時間中から翌週までに受けること。
 
テキスト
高橋麻奈『やさしいC 第5版』SBクリエイティブ(2017)[ISBN:978-4-7973-9258-6] 
参考図書
- 
科目の位置づけ(学習・教育目標との対応)
本科目はディプロマポリシーに示されている複数の専門分野の知識を有するクロスリンク型の技術者を育成するために、本学科で必要となる機械・電気・情報・制御の4分野の中で情報分野の入門科目の一つとして位置づけられる。またカリキュラムポリシーに示されている情報処理技術者の資格取得に必要な知識・技術を実践的に修得するための科目の一つである。  
履修登録前の準備
コンピュータの基本操作とインターネットへのアクセス方法を修得しておくこと。自分のノートPCにC言語の開発環境をインストールすること。