値渡しとポインタ渡し
C言語をあまりやっていない学科の人向けのC言語の基礎として、関数との値渡し, ポインタ渡しについて説明する。ただし、参照渡しについては電子情報の授業でも細かく扱っていない内容なので電子情報系学生も要注意。 オブジェクト指 […]
繰り返し処理と処理時間の見積もり
単純サーチの処理時間 ここで、プログラムの実行時間を細かく分析してみる。 // ((case-1)) // 単純サーチ O(N) #define SIZE 1024 int a[ SIZE ] ; // 配列 int s […]
情報構造論2021ガイダンス
基本的なガイダンス 情報構造論のシラバスを、ここに示す。プログラムを作成する上で、どのような考え方で作れば処理速度が速いのかを議論する。基本的に、4回のテストのたびに、レポート課題を実施する。各テスト毎の評価は、テスト素 […]
組み合わせ問題の解き方(予備実験)
プログラミングコンテストの競技部門では、パズルのような組み合わせ問題が 出題されることが多い。また、課題部門や自由部門であっても、複数の条件の組み合わせの中から最良のものを選ぶといった処理も求められる。そこで、この予備実 […]
授業アンケート結果
年度末恒例の授業アンケートの結果。 コロナ禍の遠隔授業などもあったけど、どの科目も80ポイントは維持できました。
オブジェクト指向/2021/ガイダンス
専攻科2年のオブジェクト指向プログラミングの授業の1回目。 シラバスは、ここに示すように、最近のプログラミングの基本となっているオブジェクト指向について、その機能についてC++言語を用いて説明し、後半では対象(オブジェク […]
「サイバー攻撃の手口と守り方」の準備
2/6(土)に「サイバー攻撃の手口と守り方~情報セキュリティ入門~」にて、CTFを中高生に体験してもらう準備のお手伝い中。 コマンドラインをたたいてもらう体験の部分は、クラウド上に準備した noVNC を使い、ブラウザさ […]
情報構造論とオブジェクト指向
データ構造を扱うプログラムの書き方を説明してきたが、その考え方をプログラムにするためには手間もかかる。こういった手間を少しでも減らすために、プログラム言語が支援してくれる。その代表格がオブジェクト指向プログラミング(Ob […]
B木とB+木とハッシュ法
データベースでは、キーなどの値を高速に探し出すために、単純なデータが並んだだけのテーブルとは別に、検索専用のデータ構造を別に持たせることが多い。これらの検索用のデータは、インデックスファイルと呼ばれる。 以下に、データベ […]
動的メモリ管理 malloc() と free()
C言語では、動的メモリ領域をどのように管理していくのか解説する。 局所変数とスタック 局所変数は、関数に入った時に作られるメモリ領域であり、関数の処理を抜けると自動的に開放されるデータ領域である。 関数の中で関数が呼び出 […]