カリキュラム上の位置づけ

2016年以降のカリキュラムの構成

応用アルゴリズムの主旨

本演習のテーマは、以下のとおりです。

具体的なプログラム課題へのアルゴリズムの適用を通して,アルゴリズムの理解を深めるとともに、プログラミング技術の向上を図る.

今まで養ってきたプログラミング技術と、アルゴリズム・データ構造に関する知識を使って、 より具体的なプログラム課題に適用してもらうことで、

  • プログラミング能力を確かなものにする
  • 既習データ構造・アルゴリズムの理解を深め
  • より複雑なアルゴリズムの学習をおこなう
  • 各種問題に対してプログラム中の問題表現,適切なアルゴリズムの選択および計算量などの見積りができるようになる

のが目標です。

今までの演習で、プログラミングが得意だと思っている人は、これを機会に大きく飛躍してほしいですし、 一方で、不得手だと思っている人は、しっかりと地盤を固めましょう。両方に配慮した演習をおこないたいと思っています。

専門知識以外のスキルも身に着ける機会です:

  • 思考・解決力・検索力
  • 学生同士で情報共有や協力すること

上記に書いているとうり、でどうやって課題を解決するか・デバッグの時の助け合う等は(「代わりにやってあげる」ではない限り)学生同士協力等は構いません。むしろ、お互いの知識や理解を深めてください。

使用プログラミング言語

原則、C 言語とします。 C 言語は標準ライブラリが不足しているので、 基本的なデータ構造などは、ある程度こちらで準備します。

一方で、別の言語を利用してもらっても構いません。 が、サポートはあまりしません(質問できるスタッフも限られる)ので、そこは承知しておいてください。

プログラミング環境

セットアップのページをご覧ください。

成績評価について

以下の成績評価は、通常時のものです。

  • レポートにより評価する
  • 30分以上の遅刻,授業中の無断外出,授業と関係のない作業は欠席扱いとする
  • 欠席は1回につき10点,遅刻は5点減点とする
  • 補講を含む授業全体を通じて4回以上の欠席は自動的に不可とする
  • やむを得ない事情(交通機関の遅延・病気・事故・忌引などの不可抗力)の場合,それを証明するものと事情を説明する理由書を,1週間以内に担当教員に提出すれば,出席と認めることもある

内容をきちんと理解してプログラム課題が完成していれば,S, A評価,不十分な点が見られれば,B,C評価,不十分な点が多くみられれば,不可となる.

課題提出上の注意点

レポート作成において、理解できていない点などについて友人同士で相談するのは構いません。

一方で、プログラムを理解しようとせず、他人の作成した完成品を提出したような場合、少なくとも本演習の評価は不可となります。 場合によっては、カンニング扱いとして、その期の単位をすべて取り上げることもありますので、注意してください。

すでに、過去にそのような処置を行っていますので、場合によっては、甘い対処をしてもらえるなどと期待しないでください。

教科書

プログラミングおよび、データ構造およびアルゴリズムについては、それぞれ今までの演習で利用したものをつかってくれれば OK です。 演習自体は、この Web テキストベースで行います。

質問などについて

メールでお願いします。Beef+に表示しております。

生成AIの利用について

最近すごい話題になっています。授業の実施を見直す必要もあるかもしれません。 方針としてはこの授業でChatGPTや他の生成AIを使ってもらって構いません。

現実的に見ると、皆さんが使いたいかったら止められません。生成AIは一つのツールなので、上手に使いこなせるのを身につけるべきスキルだと思います。 ただ、ChatGPT言ったから必ずしも正しいと言うわけではありません。下記、神戸大学の「ChatGPTをはじめとする生成AIの利用に関して」引用:

生成AIに関しては一般的に以下のような問題が指摘されていることに留意してください。  ●作成された文章の内容に間違いや矛盾が含まれている可能性があります。  ●作成された文章を利用することが著作権を侵害する可能性があります。  ●機密性の高い情報や個人情報などを生成AIに入力することで、それらの情報が流出・漏洩する可能性があります。

使った場合は、レポートの中に「レポート・プログラムの一部が生成AIに作成したものです」を記載するようにお願いします(評価の時に検討しません)。

また、授業のアンケートの時に、生成に関していくつか質問を足していきます(何に使いましたか・お役に立ちましたか等)。 今後の実施に検討するので、ご協力のほどよろしくお願いいたします。

参考資料:

履修上の注意

  • 「プログラミング演習」で学ぶ程度のプログラミング能力は必須である。また、「アルゴリズム・データ構造」および「アルゴリズム・データ構造演習」の学習内容を前提とした演習をおこなう。以上の演習・講義に関して,必ず復習をしておくこと。
  • 演習の題材全てを演習時間内だけで習得することは難しいでしょう。積極的な態度で、授業時間以外にも勉強や演習を行うこと.

事前・事後学修

応用アルゴリズム演習では、これまで学んできたプログラミング技能およびアルゴリズム・データ構造の知識をもとに、現実的なプログラミング課題に取り組んでもらう。 このため、事前に各分野に関する復習をおこなったうえで演習にのぞむこと。具体的には、初回演習までに、プログラミング演習の内容の復習をすませておき、加えて,2-4回目の演習においては、対応データ構造およびアルゴリズム分野の復習をすませておくこと。 また,演習時間中に解けなかった課題については,次回演習までに確実に提出すること。