深井 奏良

東京科学大学 情報理工学院 情報工学系 情報工学コース 修士1年(権藤研究室)

2026年3月 明治大学 理工学部 情報科学科 卒業(ソフトウェア科学研究室)

開発実績

卒業研究:共通テスト用プログラム表記の学習環境

仕様技術:HTML / CSS / JavaScript / Blockly

概要・背景: 大学4年次の卒業研究として、大学入学共通テスト「情報Ⅰ」で使用される擬似プログラミング言語「共通テスト用プログラム表記」の学習環境を構築しました。「情報Ⅰ」は新設科目であるため学習環境が整っておらず、教育現場における指導体制の不足や学習方法未確立という課題があります。その課題に対し、視覚的に操作可能な学習環境を構築しました。文法習得を目的とするのではなく、変数・配列・制御構造などの概念理解を支援することを目的としています。

工夫した点・困難だった点: 工夫した点はユーザを意識して設計したことです。プログラミング初学者の高校生が「構文・型エラー」で挫折せず、プログラミング的思考を学べるよう、Blocklyを用いて視覚的にプログラムを構築できるようにしました。また、プログラムの理解を助けるために変数の状態を確認できる「逐次実行機能」を実装しました。設計から実装まで一人で完遂しました。困難だった点は、システム構造が煩雑になり、技術的に実装が難しい部分があったことです。生成AIを用いて開発していましたが、機能要件が増えるにつれてコードベースが肥大化し、生成されるコードの質が低下していきました。システム全体を適切に分割して複雑性を下げることで解決しました。逐次実行機能を実装した際は、様々な方法を試行錯誤しましたが、自分一人では実装できませんでした。そこで、研究室のメンバーに相談し、アーキテクチャを変更することで解決しました。

成果と今後の課題: 成果物は、担当教員から高い評価を得ることができました。一方で、実際の教育現場での検証テストは実施することができなかった。今後は実証実験を通じたユーザフィードバックの収集と、それに基づくシステムの改善が次なるステップだと捉えています。

動作環境・実行手順・使用方法の詳細
【必要環境】
  • Node.js v18 以上(開発環境: v24.13.0)
  • Windows 11 Home バージョン 25H2
  • Chrome バージョン 154.0.8037.98
【使用方法】
  1. 画面右側のブロックを組み立てる
  2. 画面左側に Python コードが生成される
  3. プログラムを実行し、動作過程を確認する
【実行手順】
npm install
npm run start
# ブラウザで http://localhost:8080/ にアクセス

個人開発:回転寿司カロリー計算アプリ

仕様技術:React / Express / Tesseract (OCR) / MySQL

概要: 回転寿司の店頭タブレットの注文履歴やレシートを撮影し、画像から文字を抽出してデータベースと照合することで、自動で合計カロリーが計算されるWebアプリケーションです。自身が筋トレやダイエットをしており、手動でカロリー計算をする手間を省くために開発しました。

工夫した点・困難だった点: 画像からの文字抽出にオープンソースのOCRエンジン「Tesseract」を使用しましたが、当初は抽出精度において課題がありました。写真の色味変更やトリミングなどの前処理を試行錯誤することでより正確に文字を抽出できるようになりました。また、抽出文字に誤認識があった場合でも、データベース検索時にレーベンシュタイン距離を用いて一定以下の誤差を許容する曖昧検索を実装し、実用性を高めました。

システム構成・その他の情報
  • フロントエンド: ReactとViteを用いたSPA構築
  • バックエンド: Expressを用いたAPIサーバー
  • データベース: MySQLによる商品・カロリーデータの管理
  • 画像処理: Tesseractを利用したOCR処理