活動内容
NPCAでは、日頃からパソコンに関する様々な分野の活動を行っています。 部員は自らやりたいことを見つけ、その分野を追究するというスタンスをとっており、部会以外の召集はなく他部に比べて比較的自由に活動できます。 部内での交流も盛んで、部員達は日々様々な話題について熱弁しています。 不定期ですが、有識者によって専門性の高い講義も開かれています。
競技プログラミング
NPCAの主な活動のうちの一つが、「競技プログラミング」です。これは与えられた問題に対してその条件を満たすプログラムを書いて提出し、合計点と速さを競う競技です。
日本では「AtCoder」というコンテストサイトがあり、週末には競技プログラミングのコンテスト(大会)が開催され、毎回数千人もの人々が世界中から参加しています。また、AtCoderにはレート制があり、部員は日夜レートを上げる為に精進しています。
世界の他のコンテストサイトとしては、「CodeForces」や「CodeChef」などがあります。
NPCAでは、ほとんどの部員が最初にCやC++を学び、AtCoderで競技プログラミングを始めます。
CTF
"Capture the flag”(通称CTF)はIT、セキュリティ等に関する知識や技術を競う競技です。
CTFでは、クイズゲームのように楽しみながら情報セキュリティについて学ぶことができます。
これは用意されたファイルやWebページから、セキュリティ内部に潜む"Flag"という文字列を探す競技です。
シーザー暗号やモールス信号などの暗号を解くCrypto、.exeなどの実行ファイルを使って答えを探すReversingなど多くの分野に分類され出題されます。
詳しい説明(外部サイト)
各種大会への参加
NPCAでは各部員が各々の興味に合わせて競技プログラミングやCTFのコンテスト、情報オリンピックなどの様々な大会に参加しています。
情報関連のコンテストはオンラインで開催されていることが多く、コロナの流行に関係なく多くの大会に部員が参加出来ています。
実績についてはRecordをご覧下さい。
ゲーム開発
NPCAでは主に中学2年生の部員が毎年文化祭に向けてゲーム製作をしています。
製作にはUnityやOpenSiv3Dなどのゲーム開発エンジンを活用しています。
Unityとは有名なゲーム開発エンジンで、C#を使いゲームを製作することができます。
Web上にはたくさんのUnityで作られたゲームがあり、有名なゲームがUnityで作られていることも多いです。
OpenSiv3DはC++を使ってゲームを作ることのできる開発エンジンで、まだまだUnityほどの市場規模はありません。
しかしUnityよりも優れた部分も多く、今後さらに有名になるかもしれません。
部員の中にはゲーム開発で学んだプログラミングなどの技術を活用し、情報の授業などに役立てている人もいます。
また最近ではOculusVRも導入し、VRゲームの開発も行っています。
サーバー管理
NPCAではサーバーの保守・運用を行っています。
部室には業務用のラックサーバーやUPS、ネットワークスイッチがあり、他校よりも本格的な機器が揃っています。
部員専用ページはここから配信されている他、GitLab Runnerや部員用NASも運用されています。
過去には"NPCA judge"という競技プログラミングサイトの運用も行われていました。
Web開発
NPCAでは文化祭特設サイトや公式ホームページの作成などを行っています。
Webサイトを製作するときは「フロントエンド言語」と呼ばれるHTML・CSS・JavaScriptの3つの言語とPHPなどの「バックエンド言語」と呼ばれる言語を組み合わせて製作します。
フロントエンド言語の中では、HTMLがWebの土台を作り、CSSがデザインをし、JavaScriptがサイトの動きを担当しています。
またこのWebサイトでは使用されていませんが、バックエンド言語を用いるとログイン機能を持った高度なWebサイトを開発するができます。
このサイトはフロントエンド言語のみで作成された静的サイトですが、部員専用サイトはバックエンド言語も用いた動的サイトとなっています。