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