<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>第14講 最終課題 on 2024年度 発展プログラミング演習（春学期）</title>
    <link>https://ksuap.github.io/2024spring/lesson14/index.html</link>
    <description>Recent content in 第14講 最終課題 on 2024年度 発展プログラミング演習（春学期）</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Thu, 27 Jun 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ksuap.github.io/2024spring/lesson14/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>概要</title>
      <link>https://ksuap.github.io/2024spring/lesson14/overview/index.html</link>
      <pubDate>Thu, 14 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson14/overview/index.html</guid>
      <description>概要 目標 参考資料 課題の進め方 課題の提出方法 課題のデータ 評価項目 最終課題の各ステップ 目標 あるデータが与えられますので，そのデータを分析し，結果を出力するプログラムを作成します． いくつかのステップが与えられるので，各ステップで指定された分析を行ってください．
参考資料 クラス定義の基本形 参照の一致性 値の一致性 コマンドライン引数 文字列からInteger型への変換 文字列からDouble型への変換 配列とList ユーザ定義型 例外機構 ファイルを扱う型 典型的なファイルからのデータの読み込み方法 典型的なファイルへのデータの書き込み方法 Map（連想配列） 文字列を特定の文字で区切る（split） 課題の進め方 この課題は大きく6つのステップに分けられます． それぞれのステップで ScoreAnalyzer1.java〜ScoreAnalyzer6.java を作成します． 以下のことを念頭に課題を進めてください．
ステップ1からステップ2， ステップ3と順番に課題を進めてください． 途中のステップのスキップはできません． 例えば，ステップ3を作成せずに ステップ4を完成させたとしても， ステップ2までしか作成していないと判定されます（ステップ3を完成させていないため）． ステップ1で作成した内容を元に， ステップ2を作成してください． ステップ3以降も同様に，前のステップで作成した内容を全て含めて当該ステップに取り組んでください． プログラムを作成するとき，一つ前のステップのプログラムをコピーして始めると良いでしょう． ただし，mainメソッドの内容を修正することを忘れないようにしましょう． mainメソッドで異なる型をnewするバグはなかなか気付きません． ステップ3までが必須で，ステップ4， ステップ5， ステップ6がチャレンジ問題です． ただし，必須問題しか完成させていない場合，最高でも60点にしかならないため，試験で失敗すると単位取得が厳しくなります． ステップ4までを完成させていれば，たとえ試験で失敗したとしても単位取得が現実的になります． もちろん，失敗の度合いもありますし，ステップ4まで完成させたつもりが完成できていないこともありますので，確実に単位取得を保証する訳ではありません． 課題の提出方法 この課題は６つのステップに分けられています． 各ステップでScoreAnalyzer1.java〜ScoreAnalyzer6.javaを作成します． 具体的に指示はしていませんが，独自の型を作成する必要もあるでしょう． それら全てのソースファイルを Moodle に提出してください．
提出期限は 2024-08-05 (Mon) 9:00です． 提出先は Moodle の【2024-08-05 (Mon) 9:00〆切】最終課題提出場所 です． 次のチェックリストを提出前に確認してください． 関係するソースファイルをすべて提出しているか． 提出したソースファイルのみでコンパイルに成功するか． 全てのソースファイルにコメントとして，自分の学生証番号，名前が記載されているか． 課題のデータ 課題には次のデータを利用してください． なお，評価には，このページからダウンロードできるデータとは異なるものを利用します． データの形式は同じですが，記載されているデータやデータ量は異なります． しっかりとデータを読み，適切な分析を行うようにして下さい． なお，多少の計算誤差は許容されます． また，与えられるデータはソートされているとは限りません．</description>
    </item>
    <item>
      <title>最終課題</title>
      <link>https://ksuap.github.io/2024spring/lesson14/assignments/index.html</link>
      <pubDate>Thu, 14 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson14/assignments/index.html</guid>
      <description>概要 最終課題の各ステップ ステップ0 ステップ1 [問題説明 | 実行例 | ヒント | 評価項目] ステップ2 [問題説明 | 実行例 | ヒント | 評価項目] ステップ3 [問題説明 | 実行例 | ヒント | 評価項目] ステップ4 [問題説明 | 実行例 | ヒント | 評価項目] ステップ5 [問題説明 | 実行例 | ヒント | 評価項目] ステップ6 [問題説明 | 実行例 | ヒント | 評価項目 ] ステップ0 以下のステップを実行する前に，概要の 課題のデータから必要なデータをダウンロードしておいてください．
reading.csv，writing.csvは同じフォーマットのデータで，左カラムから順に以下のデータが書かれています．
小テストが行われた日付 reading/writingの区別 課題番号 学生ID 点数 開始時刻 提出時刻 ステップ1 1-A. 問題説明 コマンドライン引数で問題番号とデータファイルが指定されます． 指定されたデータファイルを読み，指定された問題番号のスコアの頻度（%）を出力してください． コマンドライン引数で与えられるデータは必ず1つであり，正しいフォーマットのファイルが渡されると仮定して構いません．</description>
    </item>
    <item>
      <title>最終課題に向けて</title>
      <link>https://ksuap.github.io/2024spring/lesson14/toward_final_assignment/index.html</link>
      <pubDate>Thu, 27 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson14/toward_final_assignment/index.html</guid>
      <description>ここに示した内容はこれまでに提出された課題を見て，説明が必要であろうと思われる部分を抜粋しました．
Visual Studio Code で表示されるラベルについて インデントを揃える． コンパイル&amp;amp;実行結果を確認する． スコープについて メソッドの呼び出しについて メソッド分割について エラーについて 例外の責任転嫁について Visual Studio Code で表示されるラベルについて Visual Studio Codeなどの昨今の IDE (Integrated Development Environment; 統合開発環境) では， EoD (Ease of Development) のため実引数に仮引数の名前を表示する機能があります． 以下に例を図示します．
この図中の5, 7行目と12行目にそれぞれ，prefix，format という文字列が見えます． これは IDE の機能により表示されているラベルです． 実際にプログラム中にこのラベルを書くとコンパイルエラーになるため，注意してください．
インデントを揃える． インデントをしっかりと揃える必要がありますが，手作業でインデントを揃えないようにしましょう． 手作業でインデントすると漏れや間違いが起こる可能性があるためです． 利用しているエディタの一括インデントを行ってください．
Visual Studio Code の場合，Option+Shift+F で一括インデントが行えます．
Q&amp;amp;A インデントが面倒です コンパイル&amp;amp;実行結果を確認する． 提出された練習問題を見てみるとごく単純なコンパイルエラーが残っているケースが見られます． どんなに面倒でも一度コンパイルしてください． そして，コンパイルできたら実行して，結果を確認してください． その際，どのような入力により，どのような結果が期待されるのかを確認してから実行すると良いでしょう．
以下のような場合は，速やかにTA，教員に相談してください． 授業中に挙手する他に，Teams でのチャットでも質問対応しております． 相談により成績が下がることはありませんが，相談せずに未完成のまま提出することは 結果的に成績の低下に繋がります．
コンパイル方法がわからない． 実行方法がわからない． コンパイルエラーが修正できない． 期待する結果がわからない． 期待する結果と実行結果の差がわからない． スコープについて 変数には有効範囲があります．この有効範囲のことを スコープ（scope） と呼びます． プログラム中の { と } で囲まれた範囲を ブロック（block） と呼びます． スコープは変数が宣言された後，宣言されたブロックの中でのみ有効です．</description>
    </item>
  </channel>
</rss>