大学情報科学(教養)
アルゴリズムと計算量、計算可能性、データベース、機械学習の入門。「コンピュータにできること・できないこと」と「データから学ぶとはどういうことか」を学ぶ。
アルゴリズムと計算量
学習指導要領: 計算量オーダー、ソート・探索、動的計画法
機械学習とデータ
学習指導要領: 教師あり学習、損失最小化、過学習と正則化、ニューラルネットワーク
システム基礎
学習指導要領: リレーショナルデータベース、SQL、TCP/IP 階層モデルと DNS。既存単元(アルゴリズム・機械学習)と並ぶ実システム入門。
テーマ別学習・演習
学習指導要領: 関連分野の補充・発展学習。各記事に前提と適用範囲を明記。
- スタック・キュー・ヒープ・ハッシュ表:目的と操作量、償却と最悪の区別基本データ構造が「何を速くしたいか」で設計されていることを理解し、操作量の見積もり方と、償却計算量と最悪計算量の違いを小さな数値例で確認する。
- トランザクションと分離レベル——残高の時系列で考えるACID複数の更新を一つの仕事として扱うトランザクションを学び、ACIDの四つの保証、読み取りの異常、直列化可能性を架空の残高表で区別します。
- 関数の正しさを調べる——単体テスト・境界値・不変条件小さな整数関数を題材に、仕様から期待値を決める単体テスト、境界値の選択、不変条件による論証、プロパティテストによる広い入力の検査を使い分ける。
- 動的計画法:小問題から状態・遷移・初期条件を設計する階段の上り方、最少枚数の支払い、品物の選択を小さな表で解き、何を記憶すればよいか、どこから計算を始めるかを自分で決める。数え上げと最適化の違い、更新順序の落とし穴まで学ぶ。
- 浮動小数点の誤差 — 丸め・桁落ち・安定な計算数学では同じ式でも、計算機では答えが違うことがあります。二進の目盛り、近い数の差、加算の順序をたどり、二次方程式と分散の計算を安定な形へ書き換えます。