プログラミングⅠ

科目基礎情報

学校 高知工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミングⅠ
科目番号 V4050 科目区分 専門 / 必修
授業形態 講義・演習 単位の種別と単位数 履修単位: 2
開設学科 SD まちづくり・防災コース 対象学年 4
開設期 通年 週時間数 2
教科書/教材 教科書:日向俊二著「Fortran2008入門」(カットシステム)、参考:配布プリント
担当教員 木村 竜士,池田 雄一

到達目標

【到達目標】
1.FORTRAN言語基礎を理解し,基礎プログラムを作成,実習課題を提出することができる。
2.配列の基礎プログラムを作成,実習課題を提出することができる。
3.副プログラムの基礎プログラムを作成,実習課題を提出することができる。
4.計算アルゴリズムに沿ったプログラミングを作成,実習課題を提出することができる。
5.VBA言語およびJavaScript基礎を理解し,基礎プログラムを作成,実習課題を提出することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1Fortran言語命令や文法に関連する知識を充分吸収し説明することができる。その基礎学力と学習能力を踏まえ、今後の発展と活躍が期待できる。 Fortran言語命令や文法に関連する知識をほぼ吸収し説明することができる。その基礎学力の復習を前提として、これまでの授業態度や学習能力を踏まえ、今後の発展と活躍が期待できる。 Fortran言語命令や文法に関連する知識をやや吸収し説明することができる。その基礎学力の反復復習を前提として、これまでの授業態度や学習能力を踏まえ、今後の発展と活躍が期待できる。
評価項目2Fortran言語命令や文法に関連する簡単なプログラムを組み、エラーを修正し、その出力結果を説明することができる。その基礎学力と学習能力を踏まえ、今後の発展と活躍が期待できる。 Fortran言語命令や文法に関連する簡単なプログラムを組み、エラーを修正し、その出力結果をほぼ説明することができる。その基礎学力の復習を前提として、これまでの授業態度や学習能力を踏まえ、今後の発展と活躍が期待できる。Fortran言語命令や文法に関連する簡単なプログラムを組み、エラーを修正し、その出力結果をやや説明することができる。その基礎学力の反復復習を前提として、これまでの授業態度や学習能力を踏まえ、今後の発展と活躍が期待できる。
評価項目3ニュートン法などのアルゴリズムを学習し、Fortranのプログラミングが可能であり、その出力結果を充分説明することができる。その基礎学力と学習能力を踏まえ、今後の発展と活躍が期待できる。 ニュートン法などのアルゴリズムを学習し、Fortranのプログラミングが可能であり、その出力結果をほぼ説明することができる。その基礎学力の復習を前提として、これまでの授業態度や学習能力を踏まえ、今後の発展と活躍が期待できる。ニュートン法などのアルゴリズムを学習し、Fortranのプログラミングが可能であり、その出力結果をやや説明することができる。その基礎学力の反復復習を前提として、これまでの授業態度や学習能力を踏まえ、今後の発展と活躍が期待できる。

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

基準1(2)(d)(3) 説明 閉じる

教育方法等

概要:
FORTRAN言語、VBAおよびJavaScriptを学び,FORTRAN言語、VBAおよびJavaScriptを用いて,特に科学技術計算に必要なプログラミングの基礎と計算アルゴリズムの考え方を習得する。これにより,建築・土木技術者として必要な情報技術の専門的基礎知識を習得することができる。
授業の進め方・方法:
1.FORTRAN概説[1-4]:変数,算術代入文,入出力文,if文等によるプログラミングおよび実習。
2.FORTRAN基礎1[5-8]:配列等によるプログラミングおよび実習。
3.FORTRAN基礎2[9-11]:副プログラム等によるプログラミングおよび実習。
4.FORTRAN基礎3[12-15]:計算アルゴリズムに沿ったプログラミング構文および実習。

PCを用いた例題演習によりFORTRANプログラム、VBAおよびJavaScriptを作成する。課題提出を必須とする。
試験:後学期中間,学年末
注意点:
定期試験の成績(60%),課題(40%)を基準として総合的に評価する。各期の成績は,学年始めから各期までの成績を平均して評価する。建築・土木技術者が身につけるべき専門基礎として,到達目標に対する達成度を試験等において評価する。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミング:Fortranの歴史、Fortran77・Fortran95の違い、Fortranの基本事項 まずFortranを動かしてみる、プログラミング・ソースコード作成・コンパイル・実行の流れを理解する
2週 例題1:たし算・引き算・かけ算のプログラム作成 たし算・引き算・かけ算のプログラム作成できる。これを利用したプログラムを宿題において作成できる
3週 例題2:関係演算子(>,=)・論理演算子(==,/=)を利用したプログラム作成、IF分 数値を読み込み、奇数か、偶数かを判断できるプログラムを作成できる。これを利用したプログラムを宿題において作成できる
4週 例題3:DOループを利用したプログラム作成1 1+・・・+10までを和を計算するプログラムを、DOループで作成する。これを利用したプログラムを宿題において作成できる
5週 例題4:DOループを利用したプログラム作成2 台形積分を利用して、π(3.14・・・)を求めるプログラムを作成できる。シンプソンの公式を利用したプログラムを作成する。これを利用したプログラムを宿題において作成できる
6週 例題5:IF文と:DOループを利用したプログラム作成 ニュートン法を利用した√aの数値を求めるプログラムを作成できる。これを利用したプログラムを宿題において作成できる
7週 中間試験(演習):これまで学んだFortranの知識・技術を利用した演習中間試験 コンピュータ教室にて、これまで学んだFortranの知識・技術を利用した演習中間試験を実施する
8週 中間試験(記述):これまで学んだFortranの知識・技術を利用した演習中間試験 これまで学んだFortranの知識・技術を利用した記述中間試験を実施する
2ndQ
9週 例題6:配列(demension)を利用したプログラム作成1 1次元配列のプログラムを作成できる。これを利用したプログラムを宿題において作成できる
10週 例題7:配列(demension)を利用したプログラム作成2 2次元配列のプログラムを作成できる。これを利用したプログラムを宿題において作成できる
11週 例題8:配列(demension)の動的割付(allocatable)を利用したプログラム作成 動的割付配列のプログラムを作成できる。これを利用したプログラムを宿題において作成できる
12週 例題9:数値計算1 行列(マトリックス)のプログラム作成 行列(マトリックス)のプログラム作成できる。これを利用したプログラムを宿題において作成できる
13週 例題10:数値計算2 掃き出し法を用いた方程式のプログラム作成 掃き出し法を用いた方程式のプログラム作成できる。これを利用したプログラムを宿題において作成できる
14週 例題11:これまでのFortranの知識・技術を利用して各自が選んだテーマのプログラム作成 これまでのFortranの知識・技術を利用して各自が選んだテーマのプログラム作成できる
15週 例題12:ファイルからデータを読み込み、これを利用して数値計算を行い、新しいファイルを作成してこれに結果を出力するプログラムの作成 ファイルからデータを読み込み、これを利用して数値計算を行い、新しいファイルを作成してこれに結果を出力するプログラムの作成できる。宿題では強震動データを読み込み最大加速度、その発生時刻を計算するプログラムが作成できる
16週 期末試験(演習・記述):これまで学んだFortranの知識・技術を利用した期末試験 期末試験において、これまで学んだFortranの知識・技術を利用してプログラムが作成できる
後期
3rdQ
1週 VBAおよびJavaScriptの基本 VBAの立ち上げ方から実行の流れを理解する
2週 VBA:四則演算の演習 四則演算のプログラムが書ける。
3週 VBA:For文の演習 For文のプログラムが書ける。
4週 VBA:If文の演習 If文のプログラムが書ける。
5週 VBA:GUI作成の演習 簡単なGUIを作成し、四則演算・For文・If文のプログラムと紐づけができる。
6週 VBA:積分(四角形近似)の計算演習 離散的な積分(四角形近似)を理解し、計算プログラムが書ける。
7週 VBA:積分(台形近似)の計算演習 離散的な積分(台形近似)を理解し、計算プログラムが書ける。
8週 1週目から7週目の内容を復習 これまで学んだVBAの知識・技術を利用した記述中間試験を実施する
4thQ
9週 JavaScriptおよびHTML:入力・出力 HTMLおよびJavaScriptの記述・実行の流れを理解する
10週 JavaScript:四則演算の演習 四則演算のプログラムが書ける。
11週 JavaScript:For文の演習 For文のプログラムが書ける。
12週 JavaScript:If文の演習

If文のプログラムが書ける。
13週 JavaScript:GUI作成の演習 簡単なGUIを作成し、四則演算・For文・If文のプログラムと紐づけができる。
14週 JavaScript:図形描画作成の演習
簡単な図形描画プログラムが書ける。
15週 JavaScript:グラフ描画作成の演習 グラフ作成用APIについて理解し、APIを用いたグラフ作成プログラムが書ける。
16週 VBAおよびJavaScriptの1週目から15週目の内容を復習

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3
論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
コンピュータのハードウェアに関する基礎的な知識を活用できる。3
情報伝達システムやインターネットの基本的な仕組みを把握している。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3
情報セキュリティの必要性および守るべき情報を認識している。3
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。3

評価割合

試験発表相互評価平素の学習状況等ポートフォリオその他合計
総合評価割合60000400100
基礎的能力3000020050
専門的能力2000010030
分野横断的能力1000010020