プログラミング言語Ⅱ

科目基礎情報

学校 都城工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング言語Ⅱ
科目番号 0047 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電気情報工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 プログラミング入門 CASLII 浅井宗海 編著 岸田徹夫、尾川順子 著 (実教出版)978-4-407-30539-5
担当教員 小野 哲也

到達目標

1) 2進数、16進数について理解している
2) 簡単な繰り返し処理のプログラムを書ける
3) 簡単な配列処理のプログラムを書ける
4) 簡単なサブルーチンを使ったプログラムを書ける

ルーブリック

理想的な到達レベルの目安       A標準的な到達レベルの目安       B未到達レベルの目安     C(学生記入欄) 到達したレベルに〇をすること。
評価項目12進数、16進数と10進数の相互の変換ができ、2進数については2の補数ついても理解している。n進数について説明できる2進数、16進数と10進数の相互の変換ができ、2進数については2の補数ついても理解している2進数、16進数と10進数の相互の変換ができるが2の補数ついても理解していない  A ・ B ・ C
評価項目2多重ループ構造のプログラムが書ける単純なループ構造のプログラムが書ける単純なループ構造のプログラムが書けない  A ・ B ・ C
評価項目3多重ループ構造による配列処理のプログラムが書ける単純なループ構造による配列処理のプログラムが書ける単純なループ構造による配列処理のプログラムが書けない  A ・ B ・ C
評価項目4簡単なループ構造とサブルーチンを使ったプログラムが書ける簡単なサブルーチンを使ったプログラムを書ける簡単なサブルーチンを使ったプログラムを書けない  A ・ B ・ C

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

学習・教育到達度目標 1-2 説明 閉じる
学習・教育到達度目標 2-2 説明 閉じる

教育方法等

概要:
アセンブリ言語はCPUと密接な関係を持っており、命令がCPUの命令とほぼ1対1で対応する。よって、CPUごとに命令等がことなるがコンパクトかつ高速なプログラムを組むことが可能であり、計算機を理解するのにも役立つ。本講義では、国家試験である情報処理技術者試験で使われるCASLⅡを使ってアセンブリ言語がどのようなもので、どのようにプログラミングするかを理解する。
授業の進め方・方法:
プログラミング言語は、文法といった覚えないといけないことがあるとともに、それらを使って目的の処理を実現するアルゴリズムを考えないといけないことから、授業計画を確認して予習をし、授業の後には復習をすること。また、プログラムは理解したから書けるというものではなく、自分で作りたいものを作るということを繰り返しながら上達するものであるから、授業以外でも各自でいろいろなプログラム作成してみること。
注意点:
本講義では、講義、演習共に演習室で行うという形式をとる。
プログラムの作成にはオンライン上の実行環境を使用する。

ポートフォリオ

(学生記入欄)
【理解の度合】理解の度合について記入してください。
      (記入例)ファラデーの法則、交流の発生についてはほぼ理解できたが、渦電流についてはあまり理解できなかった。
 ・前期中間試験まで: 
                                      
 ・前期末試験まで :
                                       
 ・後期中間試験まで:
                                       
 ・学年末試験まで :

                                       
【試験の結果】定期試験の点数を記入し、試験全体の総評をしてください。
       (記入例)ファラデーの法則に関する基礎問題はできたが、応用問題が解けず、理解不足だった。
 ・前期中間試験 点数:      総評:                                       

 ・前期末試験  点数:      総評:                                       

 ・後期中間試験 点数:      総評:                                       

 ・学年末試験  点数:      総評:                                       


【総合到達度】「到達目標」どおりに達成することができたかどうか、記入してください。
 ・総合評価の点数:      総評:                                       


-------------------------------------------------------------------------------------------------------------------
(教員記入欄)
【授業計画の説明】実施状況を記入してください。
  
  
【授業の実施状況】実施状況を記入してください。
  ・前期中間試験まで:  
                                     
  ・前期末試験まで :                                       

  ・後期中間試験まで:                                       

  ・学年末試験まで : 
        
                                
【評価の実施状況】総合評価を出した後に記入してください。
 
    

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 授業計画の説明、アセンブラ言語とコンピュータ 授業計画・達成目標・成績の評価方法等の説明、アセンブラ言語とコンピュータの仕組み
2週 プログラムの書き方の基本1 プログラムの書き方、提出方法の確認
3週 プログラムの書き方の基本2 プログラムの書き方、提出方法の確認
4週 記憶装置1 主記憶装置に対する値の保存と読込み
5週 記憶装置2 主記憶装置に対する値の保存と読込み
6週 機械語命令1 CASLⅡの機械語命令、アセンブラ命令とマクロ命令
7週 マクロ命令 入出力命令
8週 加算減算 符号付き・符号無しの加算減算
2ndQ
9週 前期中間試験
10週 試験答案の返却及び解説、論理演算 試験問題の解説及びポートフォリオの記入、論理演算、XORによるマスク
11週 シフト命令1 論理・算術シフト命令と乗算・除算
12週 シフト命令2 論理・算術シフト命令と乗算・除算
13週 条件分岐1 分岐の仕方、複数分岐、フラグレジスタの利用
14週 条件分岐2 分岐の仕方、複数分岐、フラグレジスタの利用
15週 演習 これまでの復習と総合演習
16週 前期末試験
(17週目は試験答案の返却・解説及びポートフォリオの記入)
後期
3rdQ
1週 試験答案の返却及び解説、条件分岐3 試験問題の解説及びポートフォリオの記入、分岐の仕方、複数分岐、フラグレジスタの利用
2週 繰り返し処理 繰り返し処理の基本
3週 回数の決まっている繰り返し1 繰り返し回数が決まってる簡単なプログラム
4週 回数の決まっている繰り返し2 繰り返し回数が決まってる簡単なプログラム
5週 回数の決まっていない繰り返し1 繰り返し回数が決まってない簡単なプログラム
6週 回数の決まっていない繰り返し2 繰り返し回数が決まってない簡単なプログラム
7週 演習 これまでの復習と総合演習
8週 後期中間試験
4thQ
9週 試験答案の返却及び解説、再帰的定義 試験問題の解説及びポートフォリオの記入、再帰処理
10週 副プログラムの基礎 サブルーチンの基礎
11週 副プログラムの例 サブルーチンがある簡単なプログラム
12週 副プログラムと引数 副プログラムへの値の渡し方
13週 副プログラムと戻り値 副プログラムから、単数または複数の値を受け取る
14週 副プログラムとスタック スタックを利用したデータの活用法
15週 演習 これまでの復習と総合演習
16週 学年末試験
(17週目は試験答案の返却・解説及びポートフォリオの記入)

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
変数の概念を説明できる。3
データ型の概念を説明できる。3
制御構造の概念を理解し、条件分岐を記述できる。4前10
制御構造の概念を理解し、反復処理を記述できる。4前11,前12,前13,前14,前15
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。3
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。3
ソフトウェアアルゴリズムの概念を説明できる。3
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
整列、探索など、基本的なアルゴリズムについて説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。2
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。2
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。2
計算機工学整数を2進数、10進数、16進数で表現できる。4前1
小数を2進数、10進数、16進数で表現できる。4前1

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合10000000100
基礎的能力500000050
専門的能力500000050
分野横断的能力0000000