本学部では最初の3セメスターでプログラミング演習が「必修科目」として用意されています。
セメスター | 科目名 | 言語 | 内容 |
---|---|---|---|
1 | プログラミング演習A | Python | 基本的なプログラム記述から簡単なデータ処理・可視化、またコンピュータの操作、シェルスクリプトなどを学ぶ |
2 | プログラミング演習B | Python | 関数・再帰・クラスなどの言語機能を、行列・ベクトル処理・機械学習などを題材として学ぶ |
3 | プログラミング演習C | C | ソフトウェアとハードウェアの接点を意識するため、第二言語として C を用いてメモリを直接的に扱うプログラミングについて学ぶ |
プログラミングについては経験量が効いてくるにも関わらず、入学時点での学生の経験量には大きな差があることを意識してください。これらの科目で身に付けるのは、その先の専門領域を学ぶ際の「基礎体力」です。この科目ではなく、その後を視野に入れて各自その能力をできるだけ高める(そのために時間を投入する)ように。
特に入学時点でプログラミング慣れのある学生は初学者が慣れてくるのを待たず、その間に自己の能力をできるだけ高めることを勧めます。周囲を待ったり、科目に頭を押さえられたりしないように。
学年を四つに分け、各クラスごとに進行します。基本的には共通の内容になりますが、状況によって少しずつ異なる場合もあります。この科目は以下の四つのツールを使って運用します。
(どの科目もそうですが、詳しくはシラバスを参照のこと)
成績評価は毎回の課題の内容と試験によって行います。試験は学期中に小テストを2回と期末の定期試験を予定しています。試験の成績が極端に悪い場合は、課題評価の積算値とは関係なく、その試験結果が最終評価となりますので、課題の内容が良くても試験の内容が悪いと落第します(*1)。試験はどれもペーパーテストで行い、教科書も持ち込めません(予定)。
*1) この一見奇妙な設定は課題の「不正」な提出への対策です。成績評価の掛かった課題では、それはあってはならない事です。しかしそれを防御するために不自然な制約を課題を加えたり、怪しげなものを調べる労力(コスト)はいずれも教育上プラスになりません。全ての労力は指導に回したいのです。
定期試験を未受験の場合は単位認定できませんので必ず受験してください。受験上の注意などは全て「履修要項」に記載があります。これはルールブックであり、「読んでいなかったので分からなかった」ことは大学では救済されませんので念の為。 当日、大学が認める事情により試験を受験できない場合は、大学所定の手続きに則って追試験(*1)の受験が可能です。病気の場合は診断書など各種の証明書が必要になります。全てのことは「履修要項」に記載がありますので事前に把握しておくことが重要です。(急な病気や怪我で苦しい時に「さて履修要項を精密に読みましょうか」なんて、、、)
*1) 本学の追試験とは、本来の試験を受験できなかった場合に別日程で行う試験の事です。初回の試験で不合格だった場合に、救済的に実施する試験のことではありません。なお、本科目では試験で合格点に満たない場合はそのまま不合格となります。
この演習ではTA (Teaching Assistant)と授業補助員がつきます。主に演習時のコードレビューや質問対応を行います。いずれも受講生の先輩です。演習中のみの対応になりますが、気軽に質問すると良いです。
誰かと一緒に作業することは問題ではありません。むしろ推奨します。プログラミングは複数人のチームで行うことが多いため、技術的な質問・相談・議論の経験は重要です。入学前に既に多くの経験を積んだ人は、誰かに教えることも積極的に行うと良いです。教えることはより理解を深める良い方法です。
ただし結果的に「自分で考えるべきところ」を「教えてもらった」がために、試験で「自分で考える」部分が全くできなかった、といったことにならないように。
「まずい」相談パターン |
---|
二人の学生(A, B とする)で一緒に相談しながら課題をやっていた場合、時々まずいことが起きます。つまりAが比較的よく分かっており、Bがそうでない場合、続けていくうちになんとなくBがAに「依存」するようになって結果的に「一人ではできない」状況になるコースです。するとBの試験成績が極端に悪くなり、落第します。二人とも悪気はない場合が多いのですが、要注意です。 |