オブジェクト指向言語・同演習のホームページです。 受講者はこのページを随時チェックするようにしてください。
中間試験(30%)、期末試験(40%)、毎週の課題(30%)、 で採点し、授業の目標達成が確認できた者に単位を認定する。
なお、合格/不合格の判定については、単純な加算で 60 点以上を合格とするが、 秀・優・良・可の判定については、割合を考慮して調整をすることがある。
必須課題すべてと、選択(発展)課題の平均提出率分を完璧に解けば満点とする。
個々の課題については、以下の通りとする。
演習時間(通常、木曜日 2 限)内は、原則として自分の力で解く。(TA・教員に聞くのは良い。)
(ただし、解いている問題に特有ではないプログラミング言語一般に関する質問などは許容範囲とする。)
なお、対話型の AI は、人と同等とみなす。つまり、演習時間内は使用禁止である。
なお、一部の事前に公開した課題は、演習時間開始 10 分後を締切とすることがある。
演習時間終了後は、人に相談して解いても良い。 (ただし人の解答のコピペは絶対禁止(コピーさせた側も同罪)) なお、対話型の AI は、人と同等とみなす。つまり、対話型 AI の解答のコピペも禁止である。(自分なりに理解して再構成したものはよい)
安易に訂正して再提出を繰り返すことを防ぐために、基本的に提出しなおしは1回までとする。
(つまり、最初の提出とあわせて、2回まで)
ただし、指摘を受ける前に自分で気がついて再提出するのは良い。
解答の間違いはできるだけ見つけて指摘するようにするが、 他の間違いに隠れて気付かないこともあるので、あくまでも自分の責任で問題の要件を満たしているかチェックすること。
たとえ演習終了後でも、問題を掲示板などに投稿して、不特定多数の人に相談することは禁止する。
「オブジェクト指向言語」と「オブジェクト指向言語演習」は密接に関連しています。 創造工学部生は必ず同時に受講するようにして下さい。両科目の単位認定は連動しています。
インストールには時間がかかるので、 ソフトウェアのインストールを読んで、 実際に演習で使用するより前にソフトウェアをインストールしておいて下さい。
オンライン配布のみで、紙での配布はしません。 ここにリンクをはっていないファイルや、公開日前のファイルは 公開日までに変更する可能性があるので注意してください。
注意: 設定が変更されたのに、変更が反映されないときは、 いったんログアウト (旧 Ver)して、 再度アクセスを試みて下さい。
必ず各自で提出したファイルのバックアップを取っておいて下さい。 (自分のノート PC だけではなく、stfile などの大学のサーバのどこかにもバックアップしておいて下さい!!)
NG などで再提出してもらったファイルの採点は、水曜日にすることが多いですが、忙しくてできないときもあります。 再提出の採点は気長に待ってください。
これより過去の課題はありません
注意: Java のソースファイルを保存するときは encoding として
UTF-8 を選ぶこと。
UTF-8-BOM ではコンパイルのときに BOM を解釈できず、
エラー: '\ufeff'は不正な文字ですのようなエラーになる。
第 4 章終了後(第 8, 9 週あたり)に中間試験を実施する予定です。
課題、
アップロード、
5/19 の停電によるサーバー不具合のため、5/14 の課題の締切を 24 時間延長して、
5/20(水)23:59 とします。
第 4 章終了後に中間試験を実施します。おそらく 6/11 です。
(1 時限目の後半 45 分は中間試験の予定)
6/25(または 7/02, 7/09)に、2時限めの演習で補足 Ⅰ –Ⅱ 章のプリントの内容を扱う可能性があります。 補足 Ⅰ–Ⅱ 章は授業では解説しませんので、各自で読んでおいてください。
(6/25 New!) 中間試験の得点を「各個人へのメッセージ」 に公開しました(はず)。6/11 の WeightConverter4.java のところに記載しています。 確認しておいてください。
2 時限めの演習では補足 Ⅰ, Ⅱ 章のプリントの内容を扱う予定です。
Java Servlet のコンパイル・実行
(Gretty を使わないほうを推奨します。何らかのトラブルでよっぽどうまく行かないときのみ Embedded Jetty を試してください。)
> git clone https://guppy.eng.kagawa-u.ac.jp/2026/OOPL/SimpleJettyApp.git > cd SimpleJettyApp > gradle run
というコマンドを実行すると、(最初は JAR ファイルのダウンロードなども行うのでひじょうに時間がかかるかもしれないが)
サーブレット用のサーバーが実行されるので、
“Press any key to stop the server.” とメッセージが出てから、ブラウザーに「http://localhost:8080/MyServlet/MyDate」というアドレスを入力すると、
実行結果を見ることができる。
授業評価アンケート
期末テストは 1 時限めに 3102 教室で、対面で実施します。
2 時限めは授業はありません。
毎週の課題のやり直し分の提出は 7/30(木)23:59 を締め切りとします。
これ以降の予定はありません。🐻🐼
Gretty を使わない Web アプリケーションの作り方(推奨)
Gradle をインストールする必要はありますが、
他は一般的な Gradle のプラグインのみ使用します。
Gretty による Web アプリケーションの作り方
Gradle と Gretty という Gradle のプラグインを使用します。
楽ですが、大抵の場合、最新の Java のバージョンに追随していないという欠点があります。
Git の使い方 — バージョン管理ツール Git の使い方を紹介します。
Java のソースファイルは UTF-8 で保存しています。
プリント第 2 章のプログラム
Hello0(java,
JDK 24 以前の書き方),
Hello(java,
JDK 24 以前の書き方, ),
ColorTest( java),
ShapeTest(java),
StringExample(java),
ScannerExample(java)
プリント第 3 章のプログラム
CalendarTest(java),
N_gon(java),
Parabola(java),
Gradation1(java),
Graph(java),
ArrayIndexOutOfBoundsExceptionTest(java,
c,),
Othello(java),
プリント第 4 章のプログラム
MouseTest(java),
KeyTest(java),
ChangeColor(java),
AudioSample(java),
Factorial(java),
TryCatchTest(java),
TryCatchQuiz(java),
TryCatchTest2(java),
Graph2(java),
AddTime2(java),
MouseDraw(java),
ColorName(java),
LeftRightButton(java),
LeftRightButton2(java),
LeftRightButton3(java),
FinalExample(java),
Graph2InnerPanel(java),
LeftRightButton4(java),
Guruguru(java)
プリント第 6 章のプログラム
ThreadTest.java,
GuruguruTh (java)
Mystery (java)
Denko (java)
BubbleSort1(java),
BubbleSort2(java),
Hanoi(java,
JavaScript 版)
プリント第 7 章のプログラム
foo/bar/Baz.java,
abc/xyz/Main.java,
foo/Bar.java,
foo/BarTest.java,
BarTest.java,
プリント補足第 Ⅰ 章のプログラム
MyDate.java
Counter.java, GetRealPathExample.java, Counter0.java, DirIndex.java,
getRealPathメソッド,
XXXReaderクラス,
Fileクラス,
XXXWriterクラス,
Integer.parseIntメソッド,
プリント補足第 Ⅱ 章のプログラム
QueryStringTest.java,
HighLight.java
getQueryStringメソッド
Aisatsu.java, Aisatsu.html, Mitsumori.html, GuestBook.java, GuestBookInput.html,
doPostメソッド,getParameterメソッドsetCharacterEncodingメソッド,
(フィルタ
Filterで設定する方法),
forward メソッド,
sendRedirect メソッド
getParameterNamesメソッド,
Enumerationクラス
(Parameters.html,
GetParameterNamesTest.java)
プリント補足第 Ⅲ 章のプログラム
SessionCounter.java,
Quiz.java,
quiz.txt
getSessionメソッド,
getAttributeメソッド,
setAttributeメソッド,
invalidateメソッド ,
プリント第 A 章の参考プログラム
プリント第 K 章のプログラム
Hello.kt,
Twice.kt,
VarTest.kt,
Quadratic.kt,
Point.kt,
PointTest.kt,
Movable.kt,
ExtensionTest.kt,
ExtensionTest2.kt,
LambdaTest.kt,
(GUI アプリケーション)SwingTest.kt,
Gradation.kt
(サーブレット)src/main/kotlin/HelloKotlin.kt,
(Kotlin を含む Gradle プロジェクトの build.gradle.kts),
SequenceTest.kt,
Primes.kt,
Java の故郷(英語)
TIOBE index
さまざまな検索エンジンに基づく、プログラミング言語の人気ランキング
PYPL
Google 検索に基づく、プログラミング言語の人気ランキング
Programming Languages
Influence Network
最新版
プログラミング言語同士がどう影響を与えあっているかをグラフにしたもの
GitHut 2.0
GitHub で使われているプログラミング言語のランキング