プログラミング基礎

科目基礎情報

学校 福井工業高等専門学校 開講年度 令和06年度 (2024年度)
授業科目 プログラミング基礎
科目番号 0016 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電子情報工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 教科書「javaScript本格入門]山田祥寛 技術評論社
担当教員 波多 浩昭

到達目標

1.3つの基本制御構造(連接処理・条件分岐・反復処理)を用いたプログラムが記述できる。
2.JavaScriptにおいて関数や配列、オブジェクトを用いたプログラムが記述できる。
3.JavaScriptにおいてDOMを用いたプログラムが記述できる。
4.JavaScriptの最新のプログラミング技術を利用できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目13つの基本制御構造(連接処理・条件分岐・反復処理)を適切に用いてスマートなプログラムが記述できる。3つの基本制御構造(連接処理・条件分岐・反復処理)を用いたプログラムが記述できる。3つの基本制御構造(連接処理・条件分岐・反復処理)を用いたプログラムが記述できない。
評価項目2JavaScriptにおいて関数や配列、オブジェクトを用いたプログラム容易に記述できる。JavaScriptにおいて関数や配列、オブジェクトを用いたプログラムが記述できる。JavaScriptにおいて関数や配列、オブジェクトを用いたプログラムが記述できない。
評価項目3JavaScriptにおいてDOMを適切に用いたプログラムが記述できる。JavaScriptにおいてDOMを用いたプログラムが記述できる。JavaScriptにおいてDOMを用いたプログラムが記述できない。
評価項目4JavaScriptの最新のプログラミング技術を理解し利用できる。JavaScriptの最新のプログラミング技術を理解している。JavaScriptの最新のプログラミング技術を理解していない。

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

学習・教育到達度目標 RB2 説明 閉じる

教育方法等

概要:
JavaScriptによるプログラミングの基本を学び、より高度なプログラミング技法を学ぶための基礎づくりを図る。
授業の進め方・方法:
教科書や配布プリントなどを用いた講義と、情報処理演習室でのパソコン利用による演習を中心に進める。
JavaScriptのサンプルプログラムをそのまま入力して、動作確認を行う。
後期に入ると、改造やプログラムの動作予想、不具合改修などの課題を行い試験を実施する。
注意点:
学習教育目標:RB2(◎)
関連科目:情報工学基礎(本科2年)、情報基礎演習(本科2年)、プログラミング応用(本科3年)
学習教育目標の達成度評価方法:「前期」課題の提出のみで評価する。試験を実施しない。前期40%「後期」JavaScriptの中間学力試験と期末課題による評価を60%とする。
再試:再試を行う場合もある。
学習教育目標の達成度評価基準:60点以上を合格とする。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 【講義】プログラミングの概念とプログラム作成手順
プログラミングの概念とプログラム作成手順を理解する。
2週 【講義】JavaScriptの基本(1)代入、演算子
JavaScriptにおける代入、四則演算、式の作り方を理解する。
3週 【講義】JavaScriptの基本(2)変数、型、文字列
JavaScriptにおける変数、型、文字列の仕組みを理解する。
4週 【講義】JavaScriptの基本(3)条件分岐
JavaScriptにおける連接処理、条件分岐の概念を理解する。
5週 【講義】JavaScriptの基本(4)反復処理
JavaScriptにおける反復処理の概念を理解する。
6週 【講義】組み込みオブジェクト 基本的なオブジェクトを利用する
7週 【講義】組み込みオブジェクト コレクション型オブジェクトを利用する
8週 【講義】オリジナルオブジェクト オブジェクトを自作する
2ndQ
9週 中間試験
10週 【講義】関数 関数の概念を理解する
11週 【講義】関数 関数の概念を理解して利用する
12週 【講義】アルゴリズム(1)基本的な手法
13週 【講義】アルゴリズム(2)条件分岐、ループ
オブジェクトモデルを理解する
14週 【講義】アルゴリズム(3)サーチ
コールバックを定義して記述できる
15週 【講義】アルゴリズム(4)ソート イベントハンドラ
16週 期末試験 前期を振り返り到達目標が達成できているか確認する。
後期
3rdQ
1週 【講義】HTML,CSS HTML、CSSが書ける
2週 【講義】DOM ドキュメントオブジェクトモデルを理解する
3週 【講義】DOM コールバック
4週 【講義】DOM
イベントハンドラを書ける
5週 【講義】GUIプログラミング GUIコントロールの種類を理解する
6週 【講義】GUIプログラミング GUIコントロールのを使える
7週 【講義】JavaScriptのCANVASによる描画 JavaScriptのCANVASによる図形描画でコンピュータグラフィックの基本を理解する。
8週 【講義】JavaScriptのCANVASによる描画 JavaScriptのCANVASに描画を行う
4thQ
9週 中間試験
10週 【講義】GUIプログラミング GUIでフリーズするプログラミングを理解する
11週 【講義】GUIプログラミング GUIでフリーズしない非同期プログラミングを理解する
12週 【講義】アプリケーション開発 トランプを使ったカードゲームを作成する(1)
13週 【講義】アプリケーション開発
トランプを使ったカードゲームを作成する(2)
14週 【講義】ライブラリの利用 トランプを使ったカードゲームを作成する(3)
15週 【講義】WebAPI JavaScriptからWebAPIを利用する
16週 期末試験

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

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

評価割合

試験(後期)課題(前期)合計
総合評価割合6040100
基礎的能力04040
専門的能力60060