進路活動(受験)で役に立った物5選!!

はじめに

この記事は ICT Advent Calendar 2021 4日目の記事です.

昨日の記事はJava先輩のニコニコ非公式クライアント制作の記事です.

zenn.dev

内容がつよつよすぎるので僕の記事とのギャップで風邪をひかないように気を付けてください.

自己紹介

5年メディアのwakimikoです. 最近は卒研をしないで卒業する方法を模索しています.

今年もアドベントカレンダーを書こうと思ったのですが,1年の振り返りやネタ記事ばっかり書いていたので,たまには役に立つ記事を書きたいと思いました.

そこで,進路活動も無事終わったので

受験体験記とは別に記事を書いて将来進路活動をする後輩の役に立つ記事にすることにしました.

というわけで僕が受験中に使ってて役に立った物をランキング形式で紹介します!

第5位 編入数学徹底研究

www.amazon.co.jp

編入するなら取り敢えずこの本を買えば問題ないと言えるぐらいおすすめです.

章の初めの方に公式などが載っており,次のページから例題とその解説,練習問題があります.最後に章末問題として実際に過去の編入試験に出た問題などが載っています.

大学によっては高専の授業の範囲外の部分が出たりするのですが,この本を周回すれば網羅できると思うので数学に関してはこの本で勉強すれば大丈夫だと思います.

1つ欠点を挙げるとするならば,解説に少し不親切な部分があり,なぜその計算をしているのかわからなくなる時があります.その場合は先生に聞いたり,解説をネットで調べたりしてください.

第4位 情報技術者試験の参考書

編入試験で欠かせないのが専門科目ですが,沖縄高専の場合は基本的に教科書を用いずに先生が用意したスライド等で授業を行います.

そのため教科書で復習することができず,授業資料を集めるのも大変です.その場合,情報技術者試験の参考書を用いることで専門分野を網羅できます.

おすすめの参考書はわかりやすさ重視でいくならキタミ式,網羅したいなら合格教本がいいと思います.

www.amazon.co.jp

www.amazon.co.jp

第3位 スマートフォン

誰もが持っているものですが,手軽に調べることができるのでとても強いと思います.

いろんな情報が載っており,また文字媒体だと頭に入ってこない人ならYoutubeで解説動画を見ることもできます.

実際僕も微分方程式など勉強する際はYoutubeのお世話になりました.

あとゲームもできるよ!!(グラブルしてた)

第2位 PS4

グラブルVSの特典をもらうために買ったPS4ですが,BloodborneとかGhost of TsushimaとかDark Soulsとかずっとやってました

テスト前に部屋片づけるのと同じで受験期間にやるゲームが一番楽しい

第1位 ゲーミングPC

当時はApexとかしてた

最近はVALORANTかEscape from Tarkovばっかりしてます

たのしいね

最後に

結局ネタ記事の呪縛から逃れることができなかった...

ネタ記事としてゲームばっか書いたけどまじめな話するとゲームするのが悪いんじゃなくてメリハリつけようねって感じです.息抜きは大事テスト1週間前でもVALOしてたのは秘密

進路活動がんばれ~~~~~

2022年度会津大学編入学体験記

2022年度 会津大学編入学試験を受験しました. 僕のことや受験までにやってきたこと,受験当日の話などを書いていきます.

志望理由

 僕はアルゴリズム分野について勉強・研究したかったため,その分野について研究できそうな研究室がある大学に行こうと思っていました.希望に合った大学が複数ある中で,過去に2度パソコン甲子園に出場していたこともあり,思い入れのある会津大学を選びました.

筆者のスペック

所属(受験当時)

 沖縄工業高等専門学校 メディア情報工学

席次

1年:1位
2年:2位
3年:1位
4年:3位
 沖縄高専では学科の席次が1位になると10万円の給付奨学金がもらえるため,それを目標に頑張ってました.4年は教員とのそりが合わず順位を落としました

TOEIC

4年11月:585
 本当は点数を上げるために複数回受ける予定でした.しかし例のウイルスによってTOEICが抽選式になった結果,落ちまくるという縁起の悪い結果となり初めの1回しか受けられませんでした.

試験の配点

 会津大学編入試験の配点は以下のようになっています.

数学 物理 英語 専門科目 面接
100 50 100 150 50

 配点を見た時に,数学が物理の2倍の配点になっていたため物理を捨てて数学に力を入れることを決めました(絶対するな). そのため物理はほぼ触らずに本番に臨んでいます.

試験対策

数学

 初めは基礎を思い出すために高専の教科書を用いて復習し,その後編入数学徹底研究を用いて勉強しました。どんなに最低でも1周はしたほうが良いと思います。また、会津大学はネット上に過去問を公開していないため、出題傾向がわからなかったので会津大学1,2年次の微積分・線形代数シラバスを見ながら勉強していました。

物理

 試験配点の項目で述べたとおり、全く対策せずに望みました。「数学の配点高いし物理捨ててもなんとかなるやろ」ぐらいの気持ちでした。今思うと絶対にやってはいけない行為なので皆さんはしっかり対策しましょう。

英語

 過去問がないので出題傾向がわからず、とりあえず英単語を暗記したり、TOEIC対策の本を使って勉強していました。

専門科目

 これまでに受けた講義の資料を用意するのが大変だったので、3年次に受けた基本情報技術者試験の参考書を用いて勉強していました。

試験前日

 朝10時に那覇空港を出発し,12時に羽田空港着.そこから電車と新幹線で移動してホテルに着いたのは午後6時.ほぼノンストップで8時間ぐらい移動してました. その後寝付けなかったのでどうせ起きてるならと思い数学の勉強をしていました.

試験当日

服装についての記載がなかったのでスーツを着ていきました.自分の受験番号の下1桁が2だったので最低でも自分含めて2名は確定だし,他に何人いるのかわくわくしながら試験会場につくとなんと受験生は僕一人だけでした.(1番は辞退したらしい)

試験内容

各教科について大問ごとに書いていきます.

数学

大問1
 未知数4つに対して式が3つの4元連立一次方程式の問題が出たので,拡大係数行列を用いて掃き出し法で解きました.

大問2
 3×3の正方行列の固有値を求める問題と対角化の問題が出ました.

大問3
 偏微分の問題.小問に分かれていて,全体を通して極値を求めさせる問題でした.

大問4
 重積分の問題.極座標変換を用いて与えられた領域の面積を求める問題が出ました.


 物理を捨てるつもりで挑んでいたので,数学で取れなかったらどうしようというプレッシャーがありましたが,実際蓋を開けてみると基礎的な部分しか問われない問題が多く,とても安心しました.計算ミスがなければ10割取れてると思います.

物理

大問1
 力学の問題でした.与えられた情報から運動方程式を記述したり,加速度などを求める問題が出ました.

大問2
 クーロン力の問題など,電磁気学の問題が出ました.


 物理も数学同様,基礎的な部分が問われる問題が出ていたのですが,その基礎すら触っていなかったのでもちろん解けませんでした.できそうな部分は書いたのですが多分0点だと思います.

英語

 英作文が2つ出て,それぞれ再生可能エネルギー地球温暖化について自分の考えを記述する問題でした.


 まさか英作文のみとは思わず問題用紙を開いた瞬間,テンパってしまい10分ぐらい何もできない状態になってしまいました.1つ目は何とか書き終えたのですが,2つ目は最後まで書ききることができませんでした.もし部分点をくれるとしたら6割ぐらいじゃないかと思います.

専門科目

プログラミング
 C言語の基本文法やプログラムの穴埋め,関数を実装する問題などが出ました.

コンピュータリテラシー
 主にUNIX系OSのコマンドやファイルシステムなどの知識が問われ,一部セキュリティやコンテンツ系が出題されました.

コンピュータシステム概論
 n進数計算やコンピュータの知識,論理回路ブール代数などの問題が出ました.


 専門科目は元々好きで授業以外でも触っていたこともあり,特に苦労することもなく解けました.ただ,細かい所を聞かれたときに迷ったり,計算問題で少しミスをしていたため出来は8割ぐらいだと思います.

面接

  • 会津大学に訪れた際の印象
  • テストはどうだったか
  • ○○(数学の分野)って授業でやった?
  • 院進する?
  • 高専で取得した単位の変換状況によっては2年次になるかもしれないけど大丈夫?
  • 英語で自己紹介と簡単な質問(家族のことや趣味など)



 特別変な質問もなかったため答えやすかったです.英語での質問は,少し止まったり聞き直したりしてしまいました.志望動機や将来の目標などはあらかじめ紙に書いて提出しているため聞かれませんでした.

結果

合格しました.

 結果発表までの間,物理を捨てたことを後悔したり英作文ができなかったことを引きずったり,正直気が気でなかったです.もし落ちていたら相当落ち込むことがわかっていたので,一人でトイレの個室内で結果を見ました.

まとめと感想

  • 物理と数学は基礎をきちんとしておくと良い
  • 英語はWritingとSpeakingを練習したほうがよい
  • 専門科目は、UNIXのコマンドなどの知識も有るため授業だけでは厳しい。FEかAPの勉強してるとある程度楽
  • 面接は特に変な質問もないため普通の面接対策で行けると思う



 受験地が県外ということで緊張していましたが、無事合格できてよかったです。もしここには書いてないことで聞きたいことがあったら気軽にTwitterでDMしてください。

ススススマホで競技プログラミングwwww

この記事は Girak Advent Calendar 2020 - Adventar 22日目の内容です.

adventar.org

Girakが何かやるときにここまで続いたのは奇跡なのでは?????

昨日の記事↓

passion-ranran.hatenablog.com








皆さんは競技プログラミング,してますか??????
そもそも競技プログラミング知ってますか??????

競技プログラミングとは

競技プログラミングでは、参加者全員に同一の課題が出題され、より早く与えられた要求を満足するプログラムを正確に記述することを競う。コンピュータサイエンスや数学の知識を必要とする問題が多く、新卒学生の採用活動などに使われることもある。多くのコンテストでオンラインジャッジが採用されている。また、競技プログラミングに参加する人を「競技プログラマ」または「競プロer」と呼ぶことがある。

簡単に言うと,与えられた問題をプログラムを使って解き,その速さを競う競技です.
国内で競技プログラミングができるサイトでは日本最大のAtCoderがあります.

プログラミングと数学の知識が必要ですが,高専生の皆さんなら大丈夫ですね!!!!!!
やれ!!




ちなみに皆さんは競技プログラミングをするときのプラットフォームは何を使いますか????
多くの人がPCを使うと思うのですが,実はPC以外でも競技プログラミングはできるんです!!!!
そこで今回は私が競技プログラミングに使ったことのある機器を紹介します!!!!!!!!!



















1. PSP

f:id:yuuki-wakimiko:20201221212754j:plain

一つ目はPSPです!!!!
最大の特徴は飽きたらゲームができることです!!!!
僕はよくモンハン2Gやってました.なんだかんだ言ってあれが一番楽しかった記憶があります.
ちなみに画面が小さく,タイピングは1文字打つのに5秒ぐらいかかります!クソ!























2. PS4pro

f:id:yuuki-wakimiko:20201221213633j:plain

二つ目はPS4です!!!!
最大の特徴は飽きたらゲームができることです!!!!
PS4だとダクソとかブラボとかフロムゲーばっかやってました.(なんでブラボはPC版が出ないん?)

画面の大きさはディスプレイによりますが,大抵は大きいのでとても見やすいです!!
タイピングに関しては基本的にはPSPと大きな差はありませんが,PS4はコントローラーを画面に向けるとWiiリモコンみたいな操作ができるのでエイムを極めれば素早いタイピングが可能です!!!!























3. スマホ

f:id:yuuki-wakimiko:20201221214246p:plain宗教戦争を避けるためイラストやを利用.)

三つ目はスマホです!
最大の特徴は飽きたらゲームができることです!!!!
グラブル...?ウッ頭が...

画面は少し小さめですが普段からたくさん使っているだけあってタイピングは皆さん早いと思います. ただし注意点が1つあって,改行をする際に学校で¥nで習ったからと言ってそのまま投げるとCE(コンパイルエラー)で詰まります.実際私も1年生の時にやらかしました.ちゃんと\nにしようね!























4. PC

f:id:yuuki-wakimiko:20201221215420p:plain

四つ目はやっぱりPCです!
最大の特徴は何と言っても飽きたらゲームができることです!!!!YOU ARE THE APEX CHAMPION

画面もディスプレイを接続すれば好きな枚数使えるし,タイピングも4年間高専にいた皆さんならそこそこの速度で使えると思います.





ここまでで4つ紹介してきましたが,他にもゲーム競技プログラミングができるゲーム機機器はたくさんあります!皆さんも色々試してみて自分に合ったものを探してみてください!
ところで...

































f:id:yuuki-wakimiko:20201221221254p:plain

明日(23日)はCAFFくんです.

だいなみっくぷろぐらみんぐ!!!!!!

はじめに

この記事はICT Advent Calender 2019の22日目の記事です。
昨日の記事はかりんと君が書いてくれました。

ka-rin-tou82.hateblo.jp

僕はノートPCを触っている時間が長くて慢性的な肩こりや首の痛みに悩まされているので この記事を参考にして自分の周りの環境を整えていきたいと思います。

ちなみに僕は魔剤を加湿器に入れる*1なんて頭のおかしい人ではありません。

...ん?

自己紹介

こんばんは。
最近学校に行くことへのモチベが下がりつつあるwakimikoです。
勉強自体が嫌なわけじゃなくて学校の課題や授業で自分の好きな分野の勉強ができないことが辛いねって感じです。

今回の記事でICTのアドベントカレンダーは3回目の参加になるんですが、前回と前々回どっちも1年の振り返りでした。
たまには違うやつも書きたいと思ったのでタイトル通りDPについて書きます。

DP(?)

DPはDinamicDynamic Programmingの略です。
Dynamicの意味は、三省堂 大辞林 第三版より

力強く,生き生きとしているさま。躍動的。力動的。

とあります。つまりDPとは、
全身を激しく動かし、キーボードを叩くのに全力を使ってプログラムを書く
行為のことを指します。

www.nicovideo.jp

つまり彼はDPがとても上手なつよつよプログラマーだったということになりますね。
以上、DPについての記事でした。

                                  〜完〜










DP(本物)

このままだと殺されそうなので真面目に書きます。
DPとは、動的計画法と呼ばれるアルゴリズムの分類の1つです。
全探索などでは計算量が大きくて時間がかかってしまうような問題を小さい問題に分割して解き、その結果を用いて元の問題を解く手法です。
説明だけではわかりにくいので、実際の問題を考えながら解いていきましょう。

A - Frog 1
1番目の足場に乗っているカエルが、

  • 次の足場へジャンプする

  • 1つ飛ばして2つ隣の足場にジャンプする

の2つの行動でN番目の足場まで行くことを考えた時、それぞれコストが

  • |h_i - h_{i+1}|

  • |h_i - h_{i+2}| (iは足場の番号)

の分1回ジャンプするごとにかかる。2つの行動を組み合わせてN番目の足場にたどり着く時の最小コストを求めろ、という問題です。

例として、N=6で、
h_1からh_6の数字がそれぞれ30 10 60 10 60 50の場合を考えてみましょう。
まず、足場1からそれぞれの足場へ移動するときの最小コストを求めていきます。 足場1から足場1へは、移動は必要ないのでもちろんコストは0です。

dp[6] = {0, INF, INF, INF, INF, INF}
// dp[n]はn番目の足場に移動する最小コスト

次に足場2への移動ですが、移動方法は足場1から移動する1通りしかないので、コストは|30 - 10| = 20で確定です。

dp[6] = {0, 20, INF, INF, INF, INF}

足場3への移動方法は、足場1から1つ飛ばしで移動する方法と、足場2から移動する2通りあります。
足場1からだと
|30 - 60| + 0 = 30 + 0 = 30 (0は足場1から足場1への最小コスト)
足場2からだと
|10 - 60| + 20 = 50 + 20 = 70 (20は足場1から足場2への最小コスト)
になります。よって足場1からのコスト30が最小コストです。

dp[6] = {0, 20, 30, INF, INF, INF}

同様に他の足場についても計算すると、足場4は足場2からの移動がコスト最小になり、

dp[6] = {0, 20, 30, 20, INF, INF}

足場5は足場3から、

dp[6] = {0, 20, 30, 20, 30, INF}

そして目的地の足場6は足場5からの移動が最小コストになります。

dp[6] = {0, 20, 30, 20, 30, 40}

こうして足場1から2, 3, 4とだんだん移動範囲を広げながら計算することで最終的に目的地の足場の最小コストを求めることができました。

このようにして小さい範囲の問題から解き、その計算結果を利用して元々の問題を解く手法がDPです。 プログラムの流れとしては、

  1. 必要な情報を入力
  2. dpに使う配列を初期化
  3. ループなどを使って小さい範囲から計算
  4. 出力
    の流れになると思います。以下、この問題をACするコードを載せます。
#include <stdio.h>
#include <math.h>

#define INF 10000000

int main(void)
{
    int n;
    int h[100010];
    int dp[100010] = {};
    int i;

    scanf("%d", &n);

    for (i = 0; i < n; i++) {
        scanf("%d", &h[i]);
        dp[i] = INF; // 配列をINFで初期化(未探索にする)
    }

    dp[0] = 0;
    dp[1] = abs(h[0] - h[1]); // 足場1から2への移動は1つなので確定

    for (i = 2; i < n; i++) {
        int first = dp[i-1] + abs(h[i-1] - h[i]); //一つ前からの移動
        int second = dp[i-2] + abs(h[i-2] - h[i]); //2つ前からの移動
        if (first < second) { // コストの小さい方を採用する
            dp[i] = first;
        }
        else {
            dp[i] = second;
        }
    }

    printf("%d\n", dp[n-1]);

    return (0);
}

なお、このプログラムは0-indexedなので、問題文の足場の番号と1ずれています。
気になる方は配列の添字を1から使うか、問題文の足場の数字を1引いて読み替えるなど工夫しましょう。

最後に

遅刻してごめんなさいいいいいいいいいいいいいいいいいいいいい
てか急いで書いたから解説が雑だしそもそも文章がものすごい読みにくい
とりあえず公開した後も何回か修正は入れるかも

メモ化再帰とかの話もやりたかったけど時間無いからまた別の機会に...

誤字報告や解説わかりにくいなどありましたらSlackかTwitterでよろしくおねがいします。

明日(今日)の記事はみずきち先輩です!!
---ここにはる---

shimamiz-m.hatenadiary.jp

*1 去年のPCKの時、ホテルで加湿器の隣に魔剤並べてツイッターに上げたらそういうことになった。もちろん今年もやった。