したっぱ理系学生の雑記@東京工科

大学生活などについて記録出来たらと思います。

【講義情報】東京工科大学の一年次前期講義(CS学部)を受けてみての感想

一つ前の記事では教養教育科目について書いたので、今回は専門科目について書いていきたいと思います。私はコンピュータサイエンス学部(以下CS学部)なので、他の学部の方はあまり参考にならないかもしれません。

↑前回に続き、私が受けた講義です
9. 線形代数

クラスによって難易度が違うようですが(数学概論で見かけた人がちらほら)、友人の話を聞く限り、定期試験に影響は無いように思われます。ちなみに、このクラスは後期の解析学基礎にも引き継がれます。

私の担当教員は千葉先生でした。成績のつけ方ですが、毎週のノート提出をするだけで25%・テスト前のオンライン問題を解くだけで5%(なんと問題の成否問わず!)、残りは期末テストで決まるようです。

講義の難易度は前期ということもあり、そこまで難しくない印象でした。ベクトルを既習している人は楽勝だと思います。私は入学前に"マンガでわかる線形代数"という本で軽く触れましたが、なくても良かったなというレベルです。

そのほか、講義中に線形代数が実生活にどのように用いられているかという具体例を話してくれるので、線形代数への解像度が上がって良い感じでした。また、質問しやすい雰囲気をこれでもかと醸し出してくれるので、分からなくなっても安心だと思います。加えて、moodleの右上の吹き出しから直接質問もできます

期末テストについてですが、証明問題が(確か)2つ・その他は演習問題が出題された記憶です。千葉先生の場合はテスト前に配布される、まとめ問題を苦も無く解けるレベルに持っていければSは余裕で取れると思います。また、証明問題についても、事前にここを出すと教えてくれるので、そこを出来るようにするだけで大丈夫でした。

10. プログラミング実験

python版processingを用いて、指示されたプログラムを作成する演習があります。講義の難易度は個人的にかなり高かったです。分からなくなったら即座にTAの方たちに質問するか、得意な友人に聞きましょう。

出来るなら別ですが、正直この授業は理解できなくていいと思います。プログラミングに慣れるためのものと割り切った方が良いです。私も最初の頃は全て理解しようとしていましたが、途中から"終わらせる"ことを最優先にしていました。

また、演習中に「わからないから何も書けない」状態に陥る人もいると思います。ですが、そのように質問する場合、TAの人は何も答えてくれない可能性があります(漠然としすぎていて向こうも困ってしまう)。具体的に「なぜここがxxとなるのかが分かりません」「そもそもこの箇所は何をしようとしているんですか?」みたいに少し具体性を持たせて質問すると上手くいくかもしれません。

期末テストはありませんが、代わりに期末レポートがあります。演習における成績は基本的に皆同じなので、実質レポートの出来で成績が決まると言っても過言ではありません。レポートは自分の名前を表示させるプログラム作成でした。

レポートの書き方ですが、多分テンプレートが配布されると思うので、その流れに沿って改造するだけで良いです。

私は"上部から下部まで移動する自分の名前をドットで打ち込み、位置に応じて名前の色を赤青緑に変える+背景を一つの星が高速で瞬く"というプログラムを作成しました。結構いろいろやっているように見えますが、演習課題でやったところなどをツギハギにしただけなので、難易度は高くありません。

後から担当教員に聞いたのですが、レポートに載せるプログラムはサンプルコードそのままじゃなければ良い、コードの出来についてはあまり注視しないみたいなことを言っていました。

つまりツギハギがおすすめ!!

11. コンピュータ概論I

個人的に、CS学部でプログラミング基礎Iと双璧を成す高難易度科目です。3単位なので、高GPAを目指す人は頑張った方が良いです。ただ、こういうのが得意な人や基本情報技術者試験の経験がある人は楽勝かもしれません。

この科目は成績の1/3が演習の出来で決定されます。これがかなり大きくて、逆に言えばテストで仮に満点を取ったとしても、約66.6...点にしかならないということです。つまり、演習でしくじると挽回が難しくなります(テストは簡単でした)。演習は制限時間もあるので、苦手な人は毎回が恐怖だと思います。

私は期末テスト自体は体感少なくとも9割は行った(これでワンチャンAいかないかな? と思ってました笑)、と勝手に思っていますが、演習はそれはもう酷いものでした……。

講義を振り返ってみると、割と序盤の第三回あたりの2の補数表現から辛かったですが、全体を通して考えてみると、
フローチャート
・実行アドレス
CASLアセンブリコード)
あたりは何回か解きなおしてもなお難しくて大変でした。

フローチャートが上手く解けないという人は、"うかる! 基本情報技術者 [午後・アルゴリズム編]"という参考書に書かれていた、トレース法というやり方を用いれば解けるようになりました(一年前期のうちに知りたかった😭)!

中間テストはありません。期末テストは記憶が正しければ、
・進数変換
・2の補数表現
カルノー
CASLアセンブリコード)
・少しの用語問題(確か2個くらいだったような?)
このあたりしか覚えてないです、範囲の分量はこの二倍くらいだったような気がします(本当すみません!)。ですが、CASLを除いて、問題の難易度は高くありませんでした公開されるテスト対策用のまとめ問題を解けるようにしておけば、9割は固いと思います。

反省点:
反省点としては、友達を早々に作って演習問題について聞くべきでしたね。TAの人はその特性上、迂遠的な教え方をするので、どうしても理解に時間がかかります。当時私は友達に聞くのは本当の理解にならないとか思っていましたが、普通に後から復習すればいいでしょう(というか前期の後半まで友達いなかった泣)。

12. プログラミング基礎I

pythonについて学びます。講義と演習がセットです。

私は演習がボロボロで、いつも最後まで残ってかつ終わらなかったりしたのですが、Aを取れました。シラバスには理解度確認(60%),演習課題の提出状況(40%)により評価するとあるので、時間内に提出するのが重要ということなのでしょうか。焦らずpythonを使いこなせるようになって欲しい、ということなのかもしれません。

中間テストと期末テストがあります。問題形式はともに、穴の開いたコードを読んでそこに当てはまるコードを選択式から選ぶ、といったものと記憶しています。他人が書いたコードを読み解いていく、といった方が分かりやすいでしょうか。

テスト勉強についてですが、演習で解けなかった問題を一から書けるようになるよりも先に、読んで理解できるようになる方がテスト対策にはなるのかなと思いました。そのあとで、書けるようにする。まあ両方やるに越したことはないですね。

正直もうテストはパズルみたいな印象を受けるので、即効的な対策は特に思い浮かびません。地頭が良いか、プログラミングに慣れているか次第なところも感じました。慣れるための手段としては、paizaスキルチェックのCランク問題やatcoder競技プログラミングを毎日解いて練習するとかすると、否が応でも慣れるうえ、演習問題も解けるようになると思います。

余談ですが、そういえば事前に演習の解答を持っている人を見つけたら密告してほしいみたいなことを講師陣が言っていたので、そういう形のズルはしない方が良いと思います。

確か関数定義辺りでRPGプログラムの提出がありました。内容は体力や攻撃力などを設定して、技を選んで戦闘を行わせるというものです。私の代だけかもしれませんが、勉強になるので予習しておくのも悪くないと思います。

結構大変だった記憶のうえ、予告なしで翌週に提出することになったので、たとえ講義内で終わらなくとも、とりあえず完成させた方が良いと思います。

どうしても無理だ、って場合は学習支援センターで作成を手伝ってくれます。

 

以上になります。色々甘かったり間違っている個所もあると思うので、あくまで参考程度にしていただけると幸いです。