科目名 | 基礎プログラミング |
---|---|
科目区分 | 専門共通科目 |
種別 | 演習 |
配当年次 | 1年 |
配当学期 | 前期 |
授業時間数 | 60 |
単位数 | 2 |
実務経験がある教員による授業科目 |
実務経験の概要: 担当者1 国際標準化機関における情報システム開発と運用、キャンパスネットワークの設計、構築と運用を行った。また自営として各種の情報管理システムのサーバとクライアントを開発した。情報処理安全確保支援士、ネットワークスペシャリスト、応用情報技術者。 担当者2 IT企業においてシステム設計、開発、プロジェクトマネジメントに従事した後、IT分野の教育訓練も担当。 実務経験と授業の関係: |
授業概要 | 情報技術分野の実務家となるためには、理論を理解することと共に、実践=プログラミングの技能を習得することが必須である。この授業は、受講者がプログラミング初学者であることを前提とし、プログラミング言語の概要、プログラミングの考え方、代表的なアルゴリズムについて、プログラムを作成しながら体験的に理解する。 プログラミング言語として、前半はScratchを採用し、後半はPythonを採用する。 プログラミングの基礎を理解すると共に、専攻決めの参考情報とする。 |
到達目標 | ・プログラミングの基礎的な手法を習得する ・Python言語の基本文法を理解し、後期の「Pythonプログラミング」へと接続する ・基本的なアルゴリズムの実装方法を習得する |
目標資格等 | 基本情報技術者試験 |
評価方法 | 知識:小テスト 0%
知識:定期試験 0% 技能:日常演習 50% 技能:課題提出 50% |
評価の詳細: プログラミングは実践が不可欠であり、毎回課題を出題する。 | |
準備学習、他科目との関連 | 特に無し |
教科書・教材 | 各回で独自教材を配布して使用する。 |
授業計画 | 1回あたりの時間数 4時間 |
第1回 プログラミングとは何か Scratchの準備: 環境構築、スクリプトとは、ブロックの種類 | |
第2回 データ構造とは何か Scratch: 変数の利用 演習課題: 面積計算機の実装、クリックカウンタの実装、簡易タイプライターの実装 | |
第3回 配列とリスト、繰り返し Scratch: リストの定義、操作、繰り返し構造 演習課題: 数列の作成(等差数列、等比数列、乱数列)、文字列の記憶、リストのコピー、リストの連結 | |
第4回 構造化プログラミングについて: 構造化定理、構造化フローチャート、基本構造 Scratch: 繰り返しと分岐構造 演習課題: フィボナッチ数列、うるう年判定 | |
第5回 プログラム採用と関数、引数、再帰定義 Scratch: 関数の定義 演習課題: さまざまな関数を作成(文字列の連結、3値の最小値・最大値を返す)、再帰によるカウント、階乗計算 | |
第6回 探索アルゴリズム(線形探索、二分探索、ハッシュ法) Scratch: 線形探索アルゴリズムの実装、二分探索アルゴリズムの実装 | |
第7回 ソートアルゴリズム(バブルソート、選択ソート) Scratch: バブルソートアルゴリズムの実装、選択ソートアルゴリズムの実装、性能測定 | |
第8回 グラフ構造 Scratch: グラフ構造を扱う方法(リストによる実装) 演習課題: ポイントをたどる移動処理の実装 | |
第9回 Python: プログラミング言語Pythonについて 開発環境の準備、インタラクティブシェルの利用、式と文、文字列を扱う | |
第10回 Python: テキストエディタの使用、変数と代入、組み込み関数 演習課題: 変数への値の代入と演算、組み込み関数の使用 | |
第11回 Python: 論理演算、比較演算子、条件分岐(if文) 演習課題: 数値の判定、文字列の入力と表示、閏年の判定 | |
第12回 Python: 繰り返し(while文)とループ、break文 演習課題: 数のカウント、かけ算九九の表を作成、べき乗の計算、文字列操作 | |
第13回 Python: リスト構造と文字列、インデックス | |
第14回 Python: for文とrange関数、リストの利用 演習課題: 繰り返し処理まとめ演習 | |
第15回 Python: 関数とreturn文、スコープの概念 演習課題: ランダム関数、文字列入力処理関数、整形表示関数 |