セキュリティ・キャンプ2017 応募用紙

はじめに

2017年のセキュリティ・キャンプに参加できることになりました。やったぜ。

 

2017年を含めて過去多くのキャンプ参加者が応募用紙を晒しており、

  • これがどうやら恒例行事であるらしい
  • 晒された応募用紙はよい参考になった

ということから、私も先達に倣って以下に応募用紙(以下、黒歴史)を晒すことにします。

 

多分コレをきっかけにQiitaをやめて、ここにいろいろ書くと思います。

具体的には、記事はQiitaに残すけど、まるっとこっちにコピーして、以降技術的な話題とかいろんな雑談をこっちに好き放題書くと思います。

 

ちなみに過去挑んだ日記の最長記録は3日です。

 

 

 

 

応募用紙

共通問題1

共-1 (1)

問題文

あなたが今まで作ってきたものにはどのようなものがありますか?
いくつでもいいので、ありったけ自慢してください。

 

回答

0. パワーポイントによるスライド作成
 これはプログラミングとは関係ないが、人に調べたことやわかったことを伝える方法の重要性を学んだため記載した。
 中学での総合的な学習の時間に、私の住む地域がなぜこれほど暑いのか?ということを主題として調べた成果を、初めてパワポのスライドにまとめて発表した。アニメーションは発表において非常に効果的であることがわかった。また、高校でもスライドを作成した。これら2回のパワーポイント資料作製を通じて、わかりやすい発表とは何か、を考えるようになった。そのおかげか、大学入学直後に適当な論文を渡さて研究発表をするつもりでスライドをつくって発表しなさいという課題で非常に良い評価をいただけた。

1. 謎言語によるCUI上での画像作成
 今ではなんの言語を用いて作ったのか全く覚えていないが、中学の頃の情報の授業で、CLI上にプログラムでりんごを書いた。多分これが最初のプログラミング。

2. ブラックジャック
 初めて自分なりに考えて作ったプログラミング。大学1年後期のプログラミングの講義、最終課題で提出するために1人で作ったゲーム。
 2人がディーラーとプレイヤーとなって別れ、一つのコマンドウィンドウを共有して交代制でゲームを行う。コマンドラインでは以前打ち込んだ文字列や数値が履歴としてそのまま残ってしまうのでズルしないようプレイヤーの良心に頼るしかない、というわけではなく、ちゃんと毎ターン画面はクリアされる(はず)。
 この時初めて、プログラミングによって何かを作る楽しさを知った。また、2年に入ってものづくりを行うサークルに入るきっかけになった。

以降の作品はこのブラックジャック以降に1年の間に制作したものです。

3.電子工作の基礎習得
 サークルに入ってしばらくは、4月の頭に購入したラズパイマガジンの内容を見て真似をして、Lチカからモーターの制御、LCDディスプレイの扱い方を学びました。
 Pythonの扱い方を解説するUdemyの動画で見て学びました。GPSモジュールや超音波距離計とArduino、をシリアル通信によってデータを取得する方法を勉強し、基礎を固めていきました。
 GPSモジュールについてはQiitaのほうにまとめてあり、その記事が他の人の役に立ったことを知り、とても嬉しくそして誇らしく感じました。


4. バス用電光掲示板(組込系をやってみたかった)
 Pythonでプログラムを勉強していたが、そろそろものを作りたいと感じて取り組んだ初めての制作物。早い話が、JRやターミナル駅のバス停にありそうな電光掲示板を作った。それには次のような事情がある。
 大学前のロータリーには2つのバス会社の共同でバス停が設置されている。さらにこのバス停からは2つの終点に分かれており、一方は北浦和駅、もう一方は南与野駅である。北浦和駅行きのバスは埼玉大学->南与野駅北口->北浦和駅と経由する。また、この北浦和駅行きのバスはたいてい大学始発であるため、時刻表通りに運行される。一方、南与野駅行きは南与野駅西口を終点としており、北口よりも駅に近く、歩く距離は短い。このため、南与野駅を利用する通勤通学者には、こちらのバスが優先的に利用される。しかし、この南与野駅のバスは志木駅あたりのバス停を始発としており、大学への到着は交通状況にしばしば左右される。せっかく大学始発の北浦和駅行きのバスで満員乗車の中で座席も確保できたのに、あとから座席がスカスカの南与野駅行きのバスが来たということもザラにある。このような残念なバスの選択を防ぐために、あと何分で南与野駅行きのバスが到着するかをバス利用者が判断できるような電光掲示板の試作を行った。ついでにTwitterでも呟けるように試作を行った。他にも不都合にならない程度にサークルなどの文字広告を挟めれば非常に便利である。

5a.ロボコン用のプログラミング
 サークルでの知能ロボットコンテストへの初出場を目指して行ったプログラムその1。
 知能ロボットコンテストには2つのU字型のコースがあるが、私達のチームは赤青黄色の三色のボールを対応する色のゴールまで運ぶというものだった。そのうち私は画像処理を担当した。画像認識そのものやC++に対する理解がなかったため、OpenCVPythonを利用した。はじめに画像をRGBからHSVに変換して、色の閾値をnumpyの配列を用いて[H、S、V]によって設定。続いてその閾値をもちいてフィルタを設定して、画像から赤青黄色のみを取り出せるようにした。その他RGBをGRAYに変換し、ハフ変換によって画像から円を検出するプログラムを書いた。この色検出と同時に、画像から円を検出することでボールがどこにあるかを検出できるはずと考えて組んだプログラムを書いた。使用したマイコンボードはRaspberryPiで、カメラもその付属品を用いた。
 競技を想定して適当な場所に置かれたボールの写真撮影を行ったあと円検出を行うと、あらぬところで円を認識してしまい、競技にはあまり有効ではないことが確認された。ほかにも、I2C通信によるレーザー距離計を用いて、画像とレーザー距離計の値で連携を行い、ボールを発見し、距離を測りつつ色も認識するという一連の流れを組み込むことを予定している。

5b.ロボコン用のプログラミング
 5aのプログラムは完成したが、あとの設問で述べる通り不備が多かったためにPythonの利用を断念して組み直したプログラム。今年の春休み中にC++を勉強したので、その知識を活かそうとC++で実装を試みた。
 色の閾値Pythonからそのまま移植できなかったことやソースコードをちまちま変えて何回もトライ・アンド・エラーを繰り返すうちにめんどくさくなったため、閾値の変更をGUI(スライドバー)によって行い、その変更を逐一画像に変更できるよう試みた。
 結果はGUIの見た目だけは簡単に作れたが、スライドバーの保持する値を参照する方法が2週間かけてもわからなかったことからC++による開発を断念し、再びPythonに戻った。本当はここで恐れることなくQtの開発者コミュニティに質問するべきであったと思うが、期限に焦りを感じてPythonを優先せざるを得なかった。C++版の開発を再開したら相談するつもりである。
 一方でPython版のQtであるPyQtを利用してスライドバーとその右側に値を表示する機能を実装し、ついでC++で課題となった、スライドバーの値を取得する機能を克服することができた。ハフ変換による円検出は問題が多かったため、今度は円形度を用いて円検出を行う。カメラで撮影した画像から色のマスクを掛けて白黒画像にしたあと、円形度のパラメータによって円を検出、元画像に対して円を検出した部分を、ボールの色に応じて線を引く機能の実装を予定している。

6. コンピュータの理論と実装
大学での論理回路と計算機システムの講義が大変面白かったのとAmazonでの評価が良かったので図書館の予算で購入し、春休み期間中にC++の勉強と並行して読み進めた。この本の著者はシミュレータを行うプログラムを提供しており、実戦形式で学ぶことができた。自分で組んだ回路が正常に機能したときは心から感動した。しかし、ALUの制作までは行ったが春休み期間が終わってしまったため中断している。

7. DE0-nanoSoC
 論理回路の講義が面白かったのでCPUのつくりかたという本を読んだ。
 先輩が実際にTD4を苦戦して組んでいるのと、部品が品薄でもはや手に入らないので、同じ論理回路FPGAを触ってみようという気になった。そこで勉強会やイベントについて調べてみると、FPGAスタートアップセミナーというイベントが目に止まったので最初の4回参加して、Lチカまではできるようになった。ここでセキュリティ・キャンプの存在を知った。強い人達ばかりみたいでかなり引けを感じますが、これから私も強くなればいいという意志を抱いた。FPGAの部屋というWebサイトから色々資料を読み漁ってOSを動かしてみたり、APSさんのサイトを参考にして組み込みOSを動かそうと試みた。
 前者は動かすだけだったので問題なかったが、残念なことに後者のサイトはビルドに異常に長い時間がかかってしまい(3時間で5%前後だったか?)断念。しかし論理回路を組めるようになったのでワクワクしている。現在C++に集中してしまっているが、終わればぜひともSystemVerilogを勉強して論理回路を組みたい。

8. ディジタル回路設計とコンピュータアーキテクチャ[ARM版]
 mbed祭りという企画で頂いた一冊の本。大学の講義で論理回路や状態遷移図、カルノー図を教わったし、レジスタやプログラムカウンタなどといったものを教わって大変面白かったこと、偶然FPGAが手に入ったのでやってみるかとトライ。他にも、大学の図書館ではまともな本が存在しなかったアセンブラについて細かく書いて有るため、とても有用な本だと感じている。先日、教授に頼んですべての問題の回答を手に入れたので、うまくこの本を活用したい。

9. 3Dグラフ作製
 大学の課題で周波数スペクトルをグラフで示す必要があったが、描く必要がある図は3Dの散布図となっているためExcelは使い物にならなかった。そこで、Pythonのプログラムを用いて3Dのグラフを作製した。

 

文字数:3629文字

感想:とりあえず書いた。できるだけ字数稼ぐ動機とか書くといいと思う

 

共-1 (2)

問題文

それをどのように作りましたか?
ソフトウェアの場合には、どんな言語で作ったのか、どんなライブラリを使ったのかなども教えてください。追加したい機能や改善の案があれば、それも教えてください。

 

回答

 

1.
C言語の標準ライブラリのみで作製した。0~52を含めたint型配列に対して0~12->スペード 13~25->クラブ、といったように割当を行い、カードやポイントの計算はそれら整数との対応で処理している。また、基本的なゲーム進行と掛け金処理、21点というブラックジャック特有の計算法を行う機能をもつ関数はそれぞれ別のC言語ファイルに分割されていて、機能を把握しやすくなっている。
 プレイヤー対ディーラーでどちらも人間が操作するという点では二人用であまり楽しくないので、ディーラー側が過去の対戦から勝てる戦略を見つけて自動的に戦えるようにしたい。

3. GPSモジュールにリンクとして貼ってもらえた記事の中で、Googlemapとの連携によるGPSロガーの作製があったので、自分で作ってみたい。ほかにも、IoTのTの部分を自分なりに活かして作りたい。セキュリティ・キャンプの講義ではIの部分を学びたい。

4. raspberrypi3BとAdafruitの32x32のLEDマトリクス(2枚)
Python3.4でurllib3、beautifulsoup4というライブラリを用いてwebスクレイピングを行い、バス会社の提供するロケーションシステムから1分ごとの到着予想時刻などを取得した。駅名等は正規表現で切り取った。LEDマトリクスの操作にはrpi-led-matrixというAPIを利用した。これは使用機器にあるraspberry piとLEDマトリクス専用のAPIであり、自力では文字表示ができなかったのと、C++の細かな点を知らなかったので勉強してからでは完成までに時間がかかると判断、かつPythonラッパーが用意されていたので利用した。このときPythonを勉強してよかったなと思ぅた。もちろん、汎用性という点ではC++は絶対に学ばなければならないという意識も芽生えた。
 
 一方、一旦完成したものの様々な障害が生じて完成までは程遠くなってしまった。
i. LEDマトリクス操作での問題点
 APIでは文字表示のためにbdfフォントを利用する。しかし日本語の表示が苦手らしく、文字が崩れて一部が消えてしまう。これでは広告としては使えない。Fontforgeを用いてビットマップのピクセルを数列だけ動かしてみたものの、どうしても文字が重なったり消えてしまう。ただし、細かい調整を重ねた駅名と時間だけなら表示には問題がない。具体的には、時刻表示は英語圏フォントを含むbdfファイルを利用し、駅名は先述の調整により文字間の隙間がないものの表示までこぎつけた。この点だけは何が何でも修正して、バスの時刻表用電光掲示板として使うことができなくても、文化祭での宣伝に使えるようにしたい。

Ii. Webスクレイピング元のサイトの仕様修正
 一方は国際興業バス、一方は西武バスが運営するサイトだが、今年度はじめにどちらのサイトも仕様を変更してしまった。前者はサイトのURLを変更しただけだったので取得はできたが、後者はNavitimeと提携してJavaScriptを用いたロケーションシステムを展開してしまったため、根本的に作り直さなければならない。Seleniumの利用を検討中。

iii. 設置場所
 バスの停留所は屋外で雨よけもあるため、レーザーカッターやアクリル板を用いてケースを制作・使用すれば電気的な故障はしにくいと考えられる。しかしそもそも電源の引き込みが難しいため、この電源周りの問題を電気電子工学科らしく必ず解決したい。また、データをやり取りする手段では有線通信が不可能のためWi-Fi接続が必須となり、情報通信の暗号化や安全な接続の確立が必要不可欠となっている.
 大学で企画を申請したので、通りさえすれば今後この電源問題は解決できると考えられる。

Iv. Twitter
 バスの遅延情報を取得して、運行情報を逐一つぶやくようにしたい。そのために自前でWebサーバを立ててPythonを動かしてツイートを発信したいと考えている。一度、Webサーバを立てないでツイートを試したところ、似たような内容を連続で投稿するのはだめ、というエラーが帰ってきてしまったので、この点もどうするべきか検討中。おそらく適当な文言をあとづけすれば良いと思われる。

5.a
Python3.5
OpenCV3、numpy

画像を取り込んでRGB-HSV変換に変換したあと、閾値を設定して色フィルタをかけた。これにより、ロボコンの課題である赤青黄色のボールの色の識別を行うことができた。
 続いてRGB-GRAY変換後、Hough変換を用いて円を認識した。ただし、ハフ変換ではボールの半径の最小値最大値のみを検出のパラメータに用いることが非常に大きな問題となった(円検出してほしくない場所まで円と認識するようになってしまった)ため、他の方法を模索した。そのためしばらく制作が止まってしまった。
 ほかにも、私の目標は円検出と同時に色を検出するというものであったのでそれを実現しようと組み合わせたところ、HSV形式の配列とGRAY形式の配列では変換後の型が異なるらしく、エラーが出てきてしまった。この課題も解決するために情報を探し回ったが、そもそもPythonOpenCVは主流ではないらしく、情報検索しても対処法が出てこない。
 その代わりにC++であればたくさん情報が出てくることに気がついて、春休み期間中にC++を勉強して以下の5bの実装を試した。しかし問題があって再度Pythonに戻ってきた。すると、後述のようにC++で問題となった、GUI表示されたスライダ(PCの音量調節に使うアレ)の保持する値の取得は問題なく行えるようになったし、円形度による円の検出も問題なく行えるようになった。
 ここで、もはや大会出場まで時間がないことと主催者から辞退勧告を受けたこと、試験期間とかぶっており本業に支障をきたすという理由から出場を断念した。非常に残念であり悔しいので、大学の文化祭(?)が行われる11月までには必ず完成させ、ロボコンに出場できる程度の動きをさせたい。
 ほかにも、私の所属するサークルはもともとロボットなどの制作を通じて子どもたちにSTEM方面の勉強の興味を持ってもらおうという趣旨も存在するため、子どもたちがプレイステーションコントローラーなどを使って直接ロボットを操作し、ロボットやプログラミングの面白さを伝えたいと思います。プレイステーション2のコントローラーは公には仕様書が出回っていないことから、これはリバースエンジニアリングについて学ぶ絶好の機会と動機となっている。


5b
C++、OpenCV3、QtGUI
5a.での反省を活かし、円検出では円形度を採用した。色フィルタはRGB-HSV変換を行うが、どうもPythonのときとは色の閾値が違うらしく、色のパラメータの再調整を迫られた。いちいちHSVの3つの値を手打ちで変更してそのたびにマスクされた画像の変化を観察するのは大変な手間だったため、GUIのライブラリであるQtを導入した。スライダによってHSVや円形度などのパラメータを変更し、逐次画像の変化を確認できるようにしたい。
 見落としたのかはわからないが、英語のドキュメントを見た限りでは特にスライダーのもつ値を取得する方法についての情報はなかった。一方日本語で調べたらチュートリアルを示した記事があったため、こんどはそちらを参考にしてGUIプログラミングに再挑戦する。

6.
著者により提供されたハードウェアシュミレータのソフトウェアを利用。
テキストで命令を記述する方式を取っている。ALUまで自作した。
途中で5番の本のほうがわかりやすく感じて中断。

7.  DE0-nanoSoC
ほとんど設問1で述べた内容しかできていないが、
APSさんが公開している動画(Yoctoによる組み込みLinux)を実践したい。

8. QuartusPrime16。0
GUI論理回路を作成してシミュレーションを行った。VHDLとSystemVerilogが比較できるようになっていたため、SystemVerilogの記述の単純さに惹かれた。「CPUのつくりかた」にあるラーメンタイマーなどをFPGA上で作るほか、テキスト付属の実践的な課題にも取り組みたい。

9. 3Dグラフ描画
Python3.6とモジュールとしてmatplotlib.pyplotを利用した。特に汎化できるものではないが、手書きをしなくてもすむという利便性を得た。このほか、つい最近実験によって得られたcsvファイルをExcelで開いて何度も同じようなグラフを作成するのにうんざりしたので、PythonだけではなくVBAによるマクロ作成を習得してもっと楽をしたい。

 

文字数:3148文字

感想:やっぱり書いた。今は無理でもとりあえずやりたいことは「○○ \したい!/」と書いたほうがいいと思う。(例:「5000兆円 \欲しい!/」)

 

共-1 (3)

問題文

開発記のブログ、スライドなどの資料があれば、それも教えてください。コンテストなどに出品したことがあれば、それも教えてください。

 

回答

Qiita記事 :  http://qiita.com/Acqua_Alta

細かいことは省略。

 

感想:ここで唐突にブログを書く宣言。ちゃんとブログ、書きましたよー! [誰に向かって?]

 

共-1 (4)

問題文

Twitterアカウント、Github、ブログをお持ちでしたら、アカウント名、URL等を記載してください。

 

回答

灰色の草原なGithubレポジトリやツイ垢を書いた。そのうち緑化しなきゃ。

 

 

共通問題2

共-2 (1)

問題文

あなたが経験した中で印象に残っている技術的な壁はなんでしょうか?
(例えば、C言語プログラムを複数ファイルに分割する方法など)

 

回答

1。ある人が提供するAPI内にあるサンプルコードにおいて関数を利用する際に複数の引数を与えているが、その引数がそれぞれどのような役割を担っているかを分析するのに苦労した。

2。関数間での複数のデータ引き渡し
ある関数内でバス停のプログラムでバス会社のロケーションシステムからWebスクレイピングを行ったあと、時刻表に記載された時刻と到着予想時刻、行き先やバス会社、または何らかの事情でデータが取得できなかったときのエラーの種類を情報の種類ごとに分けてアレイに投げた。これらをすべて他の関数に渡す必要があった。
 しかし、returnでは1つの値しか返すことができないため、どうすればよいのか悩んだ。C言語であればポインタで解決できたはずだと記憶しているが、Pythonであったためあまり役に立ちそうもなかった。

3。C言語におけるアドレスとポインタの概念の把握

 

文字数:361文字

感想:1.と2.はトラウマ。ツライ。思い出したくない。3.はチョイするのです。

C言語のポインタはカンゼンニリカイシタ

 

共-2 (2)

問題文

また、その壁を乗り越えるためにとった解決法を具体的に教えてください。
(例えば、知人に勧められた「○○」という書籍を読んだなど)

 

回答

1、製作者に直接質問をしました。->GithubのIssueで質問しました。
 初歩的なことを人に質問するのはたいへん怖かった、例えばソースコードを読めばわかるでしょというただそれだけの返答しか得られなかったりしたらどうしようというといった今考えれば少々異常な恐怖感を抱いていました。しかしそれではなんの解決にもならないと考えて行動しました、とくに日本語のドキュメントや開発記が出てこない場合は、開発者に直接質問すれば、調べて悩んで時間を無駄にすることもありません。なぜならそのAPIやコードの動作を最もよく把握しているのは製作者自身だからです。

2。先輩に質問したところ、classを作ってデータ管理すれば良いと言われたのでサンプルプログラムや公式のドキュメントを読んで試行錯誤して実装した。


3. 別の先輩に質問したところ、「C言語ポインタ完全制覇」という本が
一番C言語のアドレスとポインタの概念の理解に効く
と言われ、借りて読んだ。また、記載されたソースコードを実行した。

 

文字数:415文字

感想:敬体と常態が混ざってるのはあとから書き足したり書き直した証拠だ

ちなみに3番の本は大変よいぞ。C言語ポインタをカンゼンニリカイデキル。もう忘れ始めてるけども、多分読み返せば思い出せる、というくらいには簡潔かつわかりやすく書かれている。

 

共-2 (3)

問題文

その壁を今経験しているであろう初心者にアドバイスをするとしたら、あなたはどんなアドバイスをしますか?

 

回答

1. 製作者とコンタクトが取れるのであれば、遠慮なく彼らに質問するべき。どれほど単純で、「読めばわかるだろ」と呆れられそうな質問でも、ちゃんと答えてくれるから。
 ただし、次のようなことをある程度試してみるべき。ある関数の中に数字(整数や(倍精度)浮動小数点数型など)を含んでいるなら、まずはその値を極端に変えてみて動作を観察してみよう。PythonによるC/C++のラッパーが行われた場合や、クラスやオブジェクト指向のせいでいろいろな機能が隠されてしまい元の関数をたどることが難しくても、その方法ならある程度までは関数の引数が関数内でどのような機能を持っているのか見当がつく。

2. オブジェクト指向については実はまだよくわかっていないが、当面の解決策として
class<クラス名>(object):
   def__init__(self):
     self.(配列名1)=
     self.(配列名2)=

     self.(配列名3)=[]
           ...

と宣言し、値をクラス内の配列に含めたいときは(クラス名).(配列名).add(要素)
とすればよく、他の関数に値を返すときはreturn(クラス名)がいいよ、と教えたい。
ポインタとアドレスの機能については、やはり同じように「C言語ポインタ完全制覇」を勧めたい。この本はポインタとアドレスの機能に的を絞って説明してくれているので、理解し易い。

他にも頼られたら自分が教えられる限りのことを教えてあげたい。
自分が長い時間をかけて悩んだ上でやっと解決したことについて、
他の人が悩んでいるのを見ているのは辛いからだ。
なにより、技術的に困った人を助ける文化を築くことは大切だと思うから。

 

文字数:610文字

感想:最後らへんが若干ゃポエムっぽい文体だけども気にしないでほしい、気にしない、いいね?これからもっとポエム感出てくるから。

 

共通問題3

共-3 (1)

問題文

あなたが今年のセキュリティ・キャンプで受講したいと思っている講義は何ですか?(複数可)
そこで、どのようなことを学びたいですか?なぜそれを学びたいのですか?

 

回答

全体的に私はものつくりに直結しそうなハードウェアに関連する講義と
それらを制御するソフトウェアについて学びたいです。特に今年は、サークル内の企画で電動自動車(カート)や、自分の中でR2-D2といったロボットを作りたいと考えており、それらに必要な技術を学びたいと思っています。これらは決して作って終わりではありません。制作過程で得た技術は必ず他にも役立てます。他にも、後述のようにwebサービスを展開するために必要な暗号化といったセキュリティ確保のための技術もぜひとも学びたいです。

E1~3
BareMetalで遊びつくそうRaspberryPi
OSを用いないBareMetalと聞いて、OSのないコンピュータを想像しました。すると、私達が普段利用しているOSとは、実はコンピュータを構成する階層のなかでも非常に優れた機能をもっているということです。
コンピュータの各階層は、半導体内のホールとキャリア、電位障壁やpn接合といった物理現象を利用してpMOSやnMOS、それらを組み合わせたCMOSといったMOSFETなどを例とする半導体素子を作り上げ、さらにそこからアナログ回路やディジタル回路素子を構成していきます。ディジタル回路とブール演算、カルノー図や状態遷移図を用いて論理回路を構成し、そこからさらにALUやプログラムカウンタ、レジスタなどといった特定の機能を持つ塊を構成していきます。そしてそれらマイクロアーキテクチャを統括するアーキテクチャは機械語、ニーモニック表と照らし合わせてアセンブリで書かれ、さらにそれをC言語などの高級言語で操作することができます。
これら階層化の優れた点は、上の階層から何らかの操作を加える際には、今いる層より下の層の動作を気に必要はない、つまり例えばC言語を使うときにいちいち半導体内で起きる現象を気にする必要はないということです。
この点でOSは、私達が普段利用しているアプリケーションの下にあり、アーキテクチャの上にあります。つまり、ハードウェアを一切意識することなくアプリケーションを利用できるのはOSのおかげなのです。OSはプロセス管理やメモリの管理を行っています。例えば今この文章を書いているWordを複数立ち上げたとき、複数のWordが同じメモリを書き換えて使っていたらおそらくフリーズしてしまうでしょう。そのような事態を、同じアプリケーションでも異なるメモリを割り当てることによって解決してくれるのがOSさんです。
この講義でそんなOSさんを消し去るなんてとんでもない!と思いましたが、私達が普段何気なく利用しているOSよりも下の階層であるアーキテクチャと向き合う非常に良い機会であると考えます。
もしかすると、新しいOSづくりにも役に立つかもしれません。Raspberry PiはARMを採用しているのでもしかしたら場違いな指摘かもしれませんが、今のインテルアーキテクチャはCISC型の命令をRISC型に再解釈して命令を実行していると聞きました。では全部RISC型になおしてあげたらどうだろう、あるいは頻繁に使われる命令だけCISCとして管理して両方実行できるようにしたら(本末転倒?)もっと早くなるんじゃないか、そしてそれらの命令とぴったり合致するようなOSを作ったらもっと早くできるんじゃないか、そしてLinuxやMS Windows, OSXといった世界的にシェアの大きいOSや中央演算処理装置の製造を行っていない日本だからこそ、過去の負の遺産(x86)にとらわれることなくより速いアーキテクチャとOSを作れるのではないか?と考えています。今の私にとってはとんでもなく壮大な夢ですが、いつかはあっと驚かせてやりたいです。あとWindows使い続けるのが環境設定とかで辛いのでなんとかしたいです。SHARPさんがコンピュータ製造を再開するそうなので、もしかしたらSHARPが再びPCメーカーとして復活してくれるかもという淡い期待と、もし技術が身についたなら私がそこで活躍して貢献したいと考えています。
話がそれましたが、ともかく、この講義でOSのないコンピュータと向き合うことで、新しい知見を得られることにワクワクしています。取りたいです。

B4
EmbeddedSystemReverseEngineering101
組込みシステム開発は本問のはじめに述べたように、電動カートにおけるモーターの駆動制御やカメラを使った衝突防止機能を備えるア○サ○トもどきの何かを作る上でわたしが必要としている技術です。とくに、リバースエンジニアリングはプレイステーションコントローラーの分解と解析を行い、本サークルで制作した元ロボコン出場用ロボットを制御して大学の学祭に来てくれた子どもたちに遊んでもらうためには必要不可欠な技術です。
ほかにも、講義を受けたら、バスの電光掲示板の製作で一度は諦めてしまったC++による電光掲示板の直接制御に再挑戦したいです。そして、組込みシステムにおけるセキュリティ対策の限界を学ぶことで、後述の暗号化に関する講義と組み合わせてより強力な守りを備えた(電光掲示板は多くの人の目に触れるので、イタズラで変な言葉を表示されたら絶対に不味いため)一つのシステムを構築し、安全な運用方法を習得したいと考えています。
ほかにも私はフライトシミュレーションゲーム(FSXやFalcon)が好きなので、USBとの通信や各種スイッチ制御を組み込みシステムで行い、よりリアルなコックピットを作ってみたいです。
何より、今の私にとって理解できない事だらけであるこのソフトウェアとハードウェアの境界部分を特に勉強したいです。電子回路は現在履修中のためまだまだハードウェアについて任せろとは言い難いですが、この講義では私も自分が所属する学科なりになにか役に立てたらいいなと思っています。
ついでに、今はベッドの上で横になってノートパソコンの画面を見て外部接続のキーボードを叩いて回答していますが、天井にプロジェクタ画面を投影してもっと楽に回答したいです。プロジェクタならそのまま値落ちしても問題ないので.すが、実現のためには分解と組み立てが必至です。

C5暗号運用技術
 暗号技術は大学2年の夏休みのときに興味を抱いたので、「暗号技術入門 秘密の国のアリス 第三版」という本を読んで、認証局や公開鍵暗号方式について学びました。暗号化の方法も今となっては大して覚えていないのでさっぱりですが、いろいろな方法があったことを覚えています。すこし残念だったのは、この本にはソースコードを用いた実際の暗号技術の例がなかったため、暗号技術の効果を自分の目で確かめることができなかった点です。それ以外では本当に読んでいて楽しい本だったと記憶しています。この本の他にもソースコードが存在して暗号技術を自分の目で確かめつつ読み進められる、暗号技術大全という本があって読んでみましたが、暗号技術入門とはちがって敷居が高く感ぜられました。そこで本講義では残念ながら忘れてしまった暗号技術の基礎をおさらいしつつ、手の届かなかった暗号技術を実践することにより、さらに記憶を強固なものにしたいです。そして先述のように、ハードウェアによる暗号化に加えソフトウェアによる安全な暗号化方式について学びたいです。
ほかにも、Webサービスの公開を考えています。今まで私は、「大学でWebサーバを立てたら10分もしないうちにベトナムかタイから不正アクセスの試行をされた」という先輩の言葉を聞いて以降、Webサーバを自宅で立てるのに抵抗感をずっと感じています。この講義でその不安を拭い去って、良いサービスを提供したいです。(VPSを使えばいいんですけどもクレジットカードを持ってないので登録できないです)

車載LAN上を流れるメッセージの取得と解析
 電動カート製作のうえでこれほどぴったりな講義はないと重っておりますが、暗号の講義とかぶっているためちょっと悩ましいです。せっかくのセキュリティ・キャンプなので、一つのことに偏らず(十分偏ってるかもしれませんが)、暗号についても深く学んでおきたいと考えているためです。Pythonを使うという点でも私が頻繁に使う言語ですので魅力的なのですが、ちょっと迷ってます。やっぱり広く学びたい。


A6ハードウェアセキュリティ最前線
共通鍵・公開鍵暗号については既に先程述べた通り、「暗号技術入門・秘密の国のアリス」という本で原理を把握できていましたが、それはソフトウェアによってのみ実現される仕組みだと思っていました。まさか電子回路で暗号化が実現されるとは思いませんでした。
オシロスコープを用いる点でも電気電子学科として大変興味深いです。ぜひとも仕組みを学びたいです。加えて、ハードウェアによる暗号化がどこまで有効なのかも知りたいです。

B6AVRマイコンで作るBadUSB工作・改
A6と悩んでいます。
この文章はノートパソコンのキーボードでペチペチぱちぱちとキーを叩いていますが
キーボードの自作をしてもっと長い時間叩いても疲れないようなキーボードを作りたいです。ほかにも先輩に「キーボードの自作は実現可能か?」と打診されてある程度仕組みを学ぶことでスイッチングの仕組みは理解できましたが、その制御方法が資料の少なさのため全くわからなかった悔しさもありリベンジしたいです。
そしてアセンブラは一切知らないので、ここで学びたいです。


B7組込みリアルタイムOSとIoTシステム演習
E1~E3で組み込みOSについて学び、それらOSとインターネットとを安全につなぐ暗号化を暗号運用技術で学び、ハードウェアからも暗号化を行う方法をハードウェアセキュリティ最前線の講義で学んだあと、(講義を取れたら、ですが)本講義で行うことはおそらくこれまでの講義の集大成だと思います。RTOSからインターネット接続までを安全に行うことができるようになれば、私の作りたいロボットにも十分な機能を持たせられると思いますし、実は私の所属するサークルでは無線通信によるロボット制御を子どもたちに体験してもらうイベントがあるため、ならったことをそのロボットに活かすことはもちろん、このイベントを機会にセキュリティについて子どもたちにも啓発したいと考えています。

 

文字数:3995文字

感想:子どもを引き合いに出すとは...なんて奴だ...弊大学は大学名を出すと、「君ィ、教員志望?」って言われるからね、そういう性質が出てくるのはしょうがないね。って自分に言い聞かせている。この回答が全回答中最長かな。

 

共-3 (2)

問題文

あなたがセキュリティ・キャンプでやりたいことは何ですか? 身につけたいものは何ですか?(複数可)
自由に答えてください。

 

回答

ダラダラ書いてて読みづらいのではじめに一言で目的とやりたいことを言います。
圧倒的成長と以降の継続的努力による努力の結実、同じような意欲や目的を持った仲間が欲しい、そしてもし手に入ればその経験と知識と彼らの協力(アドバイス)を得て、もっと人に自慢できるようなすごいものを作りたいです。

正直に告白すると、大学入学時には特になんの興味も動機もなく学科を選びました。
大学で学ぶ講義は確かに高校と異なり楽しかったですが、どこか物足りなさを感じていました。1年の後期になってC言語によるプログラミングを習い、講義の最終課題としてブラックジャックのゲームを作りました。このときにプログラミングの楽しさや私でも1からものを作ることができるんだという嬉しさを知りました。このころからものを作ってみたい、具体的には動くもの、ロボットを作りたい、でも技術がないから少しずつ積み重ねていくしかない。その過程で学んだことも他に活かせるなら活かしたい、と思うようになりました。
今はまだ実現していませんが、バスの電光掲示板は実現すればバス利用者にとって大変便利な上私自身の勉強になるというメリットから製作にとりくんだものです。Webスクレイピングやハードウェアの連携などにはとても苦労しましたが、うまく動いたときはとても感動しました。しかし、私が知らないことはまだまだたくさんあります。それに私の周囲にいる人は、数はわずかですが大学入学前から興味を持ってものつくりやプログラミングをやってきた人が多く、ちょっと遅れを感じています。勉強を始めるのに遅すぎることはないとは思いますが、大学入学前から色々知っている人との差を思い知らされています。必ずしも彼らに追いつきたいというわけではありません。しかし彼らにできないことや思いもよらない事を私はやってやるんだ、そのきっかけと技術をこのセキュリティ・キャンプで手に入れたい、もっと技術的に成長したいと思っています。
技術は独学でも手に入れることはできますが、時間がかかってしまいます。電光掲示板の一件で人に聞けばあっという間に解決することを何日も悩んで無駄にしてしまったことがよい教訓となっています。課題やレポートに追われるようになった今では、今のような熱意を持たずにネットサーフィンをしてダラダラ過ごしていた中高生のころの時間は、今思えば大変貴重だったのだと悔やんでいます。しかし過去のことを悔やんでもどうしようもないので、今できることを目一杯やろうと考えました。そして最も短時間で様々な人や技術と触れ合うことができるセキュリティ・キャンプに申し込むことこそ、今のわたしにできることだとも思いました。
それに、講義はお金を払ってはじめて受けられるものであるにも関わらず無料で、そのうえ既に技術の運用経験が豊富な人たちが講師であるこの機会は、おそらく大学の残りの1年半を過ごしていても得られないものだと思います。
加えて私の所属する学科では、セキュリティ・キャンプと同じような内容の講義を取れる機会がないこと、また、ソフトウェアとハードウェアの連携はこれ以上私の所属する学科では学ぶことができません。学科ではハードウェア技術を学び、セキュリティ・キャンプではソフトウェアとソフトウェアからみたハードウェアを学びたいです。また、セキュリティ・キャンプで学んだことは分野によっては大学で研究室に配属された時にとても役に立つものなので、大変有意義だと思います。
今までの大変荒削りな文章、読みにくくて本当に申し訳ございません。
来年は大学4年となり卒業研究で更に忙しくなってしまい、おそらく二度と参加できないと思います。今年が最後のチャンスなのでぜひとも参加したいです。よろしくお願いします。

 

文字数:1543文字

感想:定型文、「圧倒的成長」を書いた。正直、キャンプは種みたいなもので豆の木で雲の上まで行くにはちゃんと水とかあげなきゃいけないんだよなぁ、その後の努力が物を言うんだろうなぁとは思う。そして最後の年齢を質に取った発言。またしても方法が汚い。事実だからね、しょうがないね、と言い聞かせる。

 

選択問題

選A-2

問題文

機械学習の弱点は何だと思いますか?

 

回答

1 過学習
機械学習を行った訓練データに対しては期待された答えを返しますが、未知のデータ(テストデータ)に対応できず、期待される結果を出力しない状態をします。これは機械学習に対して望まれる状態ではなく、弱点の一つと考えられます。
たとえば過去問を使って勉強していたら、先生が「今年は問題の傾向を変えたぞ」と唐突に宣告して、試験本番に全く対応できなくなった状態みたいなものです。
データが少ないとき(勉強量が少ない)や、極端に異常なデータが学習データに含まれているとき(試験問題にはマニアックな問題が出てこないのと似ている)にも同様の状態が起こります。
過去問のパターンにぴったり合えば確実に正解できますが(正答率100%)、それ以外の問題が来るとテンでだめ、という状態は機械学習にも起こりうると思います。

2 最急降下法を用いて解を得る際、値の更新を行う割合を決定する学習率
 機械学習は数学的には確か関数が持つ値を最小化する各パラメータを決定することだったと記憶しています。この最小化の過程では最急降下法と呼ばれるものを用いますが、関数の極小値をその関数の最小値と誤認してしまうことがあります。
ほかにも最急降下法で極小値を探す際には、(更新後の値)=現在の値―(学習率)×(微分値)という方法をとっており、プログラムは微分値が0に近ければ極小値、ということを認識して値の更新を中止します。このとき、学習率が更新の幅を決定します。学習率があまりにも大きな値を含む場合は関数

3 与えられたデータセットからの統計的な予測しかできない。
与えられたデータセットに明らかな欠陥がある場合、機械学習の結果もその欠陥を含んだものになる。例えば何らかの調査について相関関係を明らかにするために機械学習を利用する場合、その調査に何らかのバイアス、例えば街頭アンケートでの誘導尋問や印象操作、がかかっていると結果もバイアスがかかったものになってしまう。したがって、調査手法は妥当かを検討した上で利用する必要がある

4. 学習の過程で何が起こったのかが把握できない場合がある
 人間の想像の及ばないくらいの計算をこなしているため、計算過程で何が起きたのかがおそらく理解できないと考えられる。

5. 学習に膨大な計算リソースと時間を必要とする

 

文字数:937文字

感想:

やあ (´・ω・`)
ようこそ、バーボンハウスへ。
このテキーラはサービスだから、まず飲んで落ち着いて欲しい。

うん、「また」なんだ。済まない。
仏の顔もって言うしね、謝って許してもらおうとも思っていない。

でも、この回答を見たとき、君は、きっと言葉では言い表せない
「ふかしぎ」みたいなものを感じてくれたと思う。
殺伐とした世の中で、そういう気持ちを忘れないで欲しい
そう思って、この感想を書いたんだ。

じゃあ、注文を聞こうか。

 

Q. 回答が途中で切れているが?

A. ごめんなさい、気が付きませんでした。レポートで切羽詰ってたのと提出日が翌日だったのと、徹夜して回答する余裕はなかったのとでこうなっちゃったんだ。お願いします!許してください!

 

そして過学習の欄、私は中間試験で見事にこの状況に陥りました。予言...ですかねぇ...単位の危機なのだー!!

 

選A-3

問題文

自分がソフトウェア・ハードウェアを実装した部分について、自分とは意見が異なる実装を提案してきた人が現れた場合、あなたはどうしますか。 
- 自分の実装のほうが優れていると思った場合どうしますか? 
- 自分の実装のほうが優れていないと思った場合どうしますか? 
- 相手の母国語が自分と違うために正確に議論が進まない場合はどうしますか? 
- 相手がものすごく強硬で石頭でこちらのいうことを何も聞かず実装を勝手に修正してしまった場合どうしますか?

 

回答

実装方法に関する意見の対立は、相手と自分の実装どちらが優れているかを比べたいというよりも、より良いものを作りたいから起こる衝突だと思うのです。ですから、自分が思いもよらなかった実装方法であった場合はその提案を参考にします。この参考を踏まえた上で百聞は一見にしかず、まずは相手や自分の方法のどちらも実際に試してみることです。結果を見ればどちらの実装が優れているかが明らかになると思います。そうすれば大抵の議論は結果を見れば終わると思います。
自分の実装が劣っていれば相手の提案を採用するでしょうし、相手の実装が劣っていれば自分の実装を採用するでしょう。しかし単にどちらの実装が優れているかを明らかにするだけではなく、どこをどう改善すればお互いがもっと良くなるかを指摘することも大事だと思います。せっかく提案してきてくれた人に対してただこき下ろして終わりというのは失礼だと思うからです。そして改善されたものがもう一度競うと、意外といいものが生まれるのではないかと思うからです。
もし試すことが叶わない場合はソフトウェアであればソースコードを公開し、ハードウェアであればブロック線図やフローチャートによる機構の公開と材料や部品の特性などを公開して、それぞれの利点と欠点を明らかにしていきます。ソフトウェアは世界共通の言語でかかれているので、だれでも読んで修正できます。一方ハードウェアは機構をいちいち文章で説明するのは大変ですし、説明は自然言語に依存してしまうので母国語が異なると意思の疎通から苦労してしまいます。フローチャートやブロック線図であれば、相手の言語で各機構の機能を表す単語さえわかれば、自分が考えた実装の全貌を齟齬なく簡潔に伝えることができると思います。母国語の異なる相手からそのような方法で説明を受けたら私もきっと理解できると思います。
さらに、もし公開しても差し支えないプロジェクトであれば1対1で話し合うのではなく、議論の過程を公開して他の人からもいろいろな修正や指摘をもらってより良いものを作っていきます。
仮に何も聞かずに実装を修正されてしまった場合は間違いなく一時的にいざこざが起きると思います。その際は一度自分の実装も試してあなたの実装と比較してみてくれないか、と頼むのがいいと思います。理由は最初のものと同じです。この試行さえだめだと断ってくる石頭さんならば一歩引いていろいろ修正点をぶつけていくのがいいと思います。決してここがだめ、あれがだめとただひたすらいちゃもんを付けるような内容ではなく、例えば石頭さんの方法で問題が起きたら、私の提案した手法を試してみない?と提案するなどといった、建設的な意見であることが大切だと思います。
(「思います」ばっかりですいません)

 

文字数:1142文字

感想:どうだ、ポエみを感じるだろう!なぜかというと他人と実装方法で衝突した経験など過去に一度もないからだ!この回答は理想形だ!あぁなんてメルヘン優しい世界!

 

選A-8

問題文

いわゆる「セキュリティ技術」の中で、あなたがもっとも興味があるテーマひとつについて、好きなだけ語ってください。

 

回答

私がもっとも興味を持っているのは、一般の人達、エンドユーザーがもつ「セキュリティ意識」についてです。なぜなら、技術を作る人達がいくらセキュリティについて意識をして努力しても、技術を使う人達がセキュリティに関して興味関心を抱かなければその努力は水の泡になってしまうことがあるからです。
その興味関心をもつこととは、例えば怪しげな添付ファイルは開いてはいけない、とか定期的にウイルス検知のソフトウェアで検査を行い潜伏型のウイルスの発見を試みるとか、定期的にファイルのバックアップは取っておく、とかOSの脆弱性を防ぐためのパッチを必ず適用する、といったことです。
これらエンドユーザーの行動に対して技術者は、たとえば添付ファイルを実行しないように設定することもできるかもしれませんが、エンドユーザーが怪しげな添付ファイルを開いて実行することを許可してしまえば無意味なものになってしまいます。ほかにもコンピュータウイルス対策ソフトウェアをインストールしていても、ウイルスの定義を更新しないあるいは定期的な検査を怠った場合、ウイルスの感染防止は限界ギリギリの水際対策以外に防御方法がありません。また、OSやソフトウェアベンダーが必死になって脆弱性をなくしていき、ゼロデイ攻撃を受けないように日夜脆弱性を探してパッチを発行しても、エンドユーザーが適用しなければなんの意味も持たなくなってしまいます。
これらに対して技術者はどのようなフィードバックをとったかというと、すべてフィードフォワードを行うようになったと思います。要はセキュリティについてユーザーに対して先手を取るということです。
例えばWindows10は自動アップデートをバックグラウンドで勝手に行うので、ユーザーがセキュリティを意識せずとも勝手にセキュリティを高めていく仕組みをとっています。これは非常に良くできた仕組みであり、コンピュータアーキテクチャで行われる抽象化と同じようなことが、OS内で行われていると思います。つまり、私達はアプリケーションやソフトウェアの根幹にあるセキュリティは抽象化されて気にする必要がなく、パソコンを利用するできるようになっているということです。
この機能や抽象化は、例えばパソコン操作に戸惑っている人たちに対して最も有効であると考えます。なぜなら彼らは操作を覚えるのに必死でセキュリティについてかまっている余裕が無いと思われるからです。
もちろん、私自身もセキュリティ意識は完全ではありませんから、おそらく私の知らないところで安全性を高める機構が働いていると思います。
セキュリティ意識はパソコン内のみならず、何年か前に普及し始めたスマートフォンでも必要とされています。
例えば以下はAndroidの脆弱性は、誰も気づくことができないでしょう。設計上の問題は直ちに修正できるとは思えませんが、これは技術者が対処すべき問題です。しかし、このようなことが起こりうる、ということを意識するとしないとでは大きな違いが生まれると思います。そもそも怪しげなサイトに接続しないということも大事ですが、ユーザーがキー入力をする際に疑うことができるからです。http://gigazine.net/news/20170525-cloak-and-dagger/ほかにも、これは私の弟の例なのですが、ゲームを公式アプリからダウンロードすることを禁止された子供が非公式の不正なサイトからapi(アンドロイドアプリのファイル)をダウンロードしてインストールしようとしていました。これはただひたすらゲームで遊びたいという欲求を満たすためにセキュリティ意識が薄れ、手を出してしまった一つの例だと考えられます。幸い、インストール前で助かりました。
このように、子供はセキュリティ意識が皆無です。彼らが大人になるころにはさらにこの情報技術社会は発達していると考えられ、このままのセキュリティ意識では彼らが危険に晒されます。私たちは現代の社会において情報セキュリティについて敷衍するだけでなく、興味のあるなしにかかわらず学校教育の段階から徹底的に周知し、そのうえでユーザーがセキュリティについて意識することなく裏では安全性を確保するという対処法を行うことが技術者の重要な役割だと思います。
私は大丈夫、と思っている人に対しては劇薬として一度情報流出を体験してもらうというのも手かもしれません。もちろん法的にだめな場合は実演を見てもらうといった手があると思います。
チョット思い出したので追加で書きます。
技術は使い手を選びます。中学の頃情報の授業ですべてのパソコンがコマンドプロンプト機能によってリモートでシャットダウンでき、他にもリモートデスクトップ機能がONになっていたために、いたずらが流行してしまいました。本来、離れたところからパソコンを制御することを可能にする技術が悪用されてしまったのです。このように、ある人にとっては便利な機能であっても、使い方次第では非常に悪質な道具になるということも留意する必要があります。ですから私は、当時は正しい道具の使い方をみんなに周知するべきだったとおもいます。結果的にコマンドプロンプトは使用不可となり、リモートデスクトップ機能も削除され、イタズラの流行は止みました。
高校や中学の情報の授業では、先生が一括で生徒のパソコンを管理します。生徒が先生の話をしっかりと聞くように、画面を切り替えたうえでコマンドを一切操作不可能にしてしまう機能がありました。この機能が嫌いだったのでなんとかして抜け出せないかとタスクマネージャを開いたところ、怪しげなプロセスがあったので停止したところ、本当にこの機能を止めることができてしまいました。当時、もちろん先生の話はしっかり耳を傾けて効いていましたが、非常に単純な仕組みで動いていたのでちょっと驚きました。先生が予期しない動きを生徒に取らせないためのセキュリティ措置としてはかなり甘いと思います。もっとプロセス名をごまかすなどしておくべき(そんなことしたらマルウェアと同じようなものかもしれませんが)だと思いました。
最後にセキュリティ意識について私ができることを考えました。
私の所属サークルではロボコンの併設イベント内で子どもたちにロボットの操縦体験(有線、無線の両方)をしてもらったり、文化祭では作品展示を行ったりしています。
今年はこれらの展示や実演に加えて、私がセキュリティ・キャンプで学んだことを活かして、子どもたちにセキュリティ意識を身に着けてもらうようにいろいろ教えてあげたいです。

 

文字数:2629文字

感想:

とくにセキュリティについて知識がないのでコレを選択。

WannaCryがどうと騒ぎ立てていた頃だったので、過去にもこの手の出来事いっぱいあったなぁと思い出し、テーマを「セキュリティ意識」に絞って回答した。

ええ、また子どもネタです、理由は省略。

怪しげな添付ファイルを開く:某機構のことなんて気にしてないよ?

他、Windows Update関連ネタ:今月の定例アップデート実施日が、実験実施日の前日だったから、実験中にアップデート適用&再起動地獄にならないようにちゃんと事前にアップデートと再起動を済ませとけ、と勧告した私は偉い(断言)。

 

 

おわりに

この手の文章を書くの初めてなので読みやすさとか度外視しています。

数日後に読み返して「読み辛っ!」ってなったら多分書き直します。

 

応募用紙の回答はどうあれ、私は参加できることになりました。

自信をもって予習課題等に取り組みたいと思います。

審査員の方々、ありがとうございました。