大阪公立大学 工学部 情報工学科における講義・演習・実験の成果物をまとめたアーカイブです。 プログラミングの基礎から、ハードウェア記述言語によるFPGA開発、システムプログラミング(コンパイラ自作)、制御理論のシミュレーションまで、1年次から3年次までの幅広い学習過程を記録しています。
リポジトリは学年およびプロジェクトごとに階層化されています。
.
├── 1年/ # プログラミング入門・ビジュアルプログラミング
│ ├── Processing/ # Processingを用いたグラフィック・ゲーム制作演習
│ └── プログラミング入門A/ # C言語の基礎(四則演算、BMI計算、行列演算など)
│
├── 2年前期/ # 情報工学演習I (C/C++基礎)
│ └── 第01回〜第15回/ # C言語でのアルゴリズム実装、C++によるオブジェクト指向入門
│
├── 2年後期/ # 情報工学演習II (C++/Java応用)
│ └── 第1回〜第15回/ # C++での画像処理(PGM形式)、Javaを用いた図形描画・オブジェクト指向演習
│
├── 3年前期/ # 情報工学実験1〜5
│ ├── 実験1/ # FPGA開発 (Verilog HDL, Quartusを用いた論理回路設計)
│ ├── 実験2/ # 加速度センシングとデータ補正 (Excel/物理シミュレーション)
│ ├── 実験3/ # 知能実験 (Pythonによる巡回セールスマン問題の実装・評価)
│ ├── 実験4/ # 感性データの分析 (C言語による統計処理・行列計算)
│ └── 実験5/ # アルゴリズム実装 (PythonによるMinimax法を用いた三目並べ等)
│
└── 3年後期/ # 専門科目の発展演習
├── システムプログラム/ # Javaを用いたサブセット言語コンパイラ「Chavac」の開発
├── 意思決定理論/ # Pythonを用いた最適化問題・意思決定モデルの実装
└── 線形フィードバック制御/ # Jupyter Notebookを用いた制御理論の安定性解析シミュレーション
Javaを用いて、独自のサブセット言語をコンパイルする「Chavac」を実装しました。 字句解析、構文解析からコード生成までのプロセスをスクラッチで構築し、言語処理系の内部構造について深く理解しました。
Verilog HDLを使用し、Intel Quartus Prime上で論理回路を設計・実装しました。 加算器やステートマシンなどのハードウェアコンポーネントをコーディングし、実際のFPGAボード(DE10-Lite)上での動作検証を行いました。
- 巡回セールスマン問題 (TSP): Pythonを用いて、組み合わせ最適化問題に対するヒューリスティックな解法を実装し、計算量や精度を評価しました。
- ゲームAI実装: Minimax法を用いた三目並べ(Tic-Tac-Toe)など、探索アルゴリズムを応用したプログラムを構築しました。
Jupyter Notebook (.ipynb) とPythonのエコシステムを活用し、制御工学におけるシステムの安定性解析や、定常偏差、ステップ応答などのシミュレーション・可視化を行いました。
- Languages: C, C++, Java, Python 3, Verilog HDL
- Frameworks & Ecosystems: Processing, Jupyter Notebook
- Tools & Environments:
Intel Quartus Prime: FPGA開発GCC/G++: C/C++コンパイラJDK: Java開発環境VS Code: 統合開発環境
YUIKI MAKINO
- Osaka Metropolitan University
- Department of Information Engineering
Note: This repository is for educational and archival purposes.