Metodologie di Programmazione: Hw1
Il primo homework è in questo archivio jar homework1.jar. Dopo averlo scaricato, dare il comando da terminale jar -xf homework1.jar
, essendo posizionati nella directory che contiene il jar che supponiamo si chiami mydir
. Le directory e file estratti in mydir
sono i seguenti:
hw1/
hw1/game/
hw1/game/board/
hw1/game/board/Action.java
hw1/game/board/Board.java
hw1/game/board/GameRuler.java
hw1/game/board/Move.java
hw1/game/board/PieceModel.java
hw1/game/board/Player.java
hw1/game/board/Pos.java
hw1/game/GameFactory.java
hw1/game/Param.java
hw1/game/util/
hw1/game/util/BoardHex.java
hw1/game/util/BoardOct.java
hw1/game/util/package-info.java
hw1/game/util/RandPlayer.java
hw1/game/util/Utils.java
hw1/games/
hw1/games/HexFactory.java
hw1/games/Othello.java
hw1/games/OthelloFactory.java
hw1/package-info.java
hw1/test/
hw1/test/PartialGrade.java
La spiegazione dell'homework è contenuta nei javadoc dei file partendo da hw1/package-info.java
.
Se si vuole si può usare un IDE creando un project contenente tali file. Ad esempio, con IntelliJ IDEA si può creare il project scegliendo Import Project...
dal menu File
, successivamente si seleziona la directory mydir
, poi si sceglie create project from existing sources
e mantenendo sempre come nome del project e directory base la directory mydir
(o qualunque sia il nome della directory che contiene hw1
). Per evitare che il project veda l'archivio jar homework1.jar
come una libreria, prima di creare il project togliere da mydir
il file homework1.jar
.
L'homework deve essere consegnato entro la mezzanotte del 10 Aprile 2016.
Prima di poter consegnare l'homework è necessario registrarsi tramite la pagina Registrazione. Una volta ottenuta la password si può procedere con la sottomissione. Bisogna consegnare un file jar che deve contenere tutti i file e directory del jar originale (ovviamente alcuni file saranno stati modificati). Il jar può contenere altri file e directory (package) ma i file aggiunti devono essere file sorgenti .java
e non ci devono essere directory o file non .java
o che non servono all'homework. Per creare il jar si dovrebbe usare il seguente comando essendo posizionati nella directory che contiene la directory di base dell'homework hw1
, che coincide con il package base hw1
:
jar cvMf homework1.jar hw1
Per controllare il contenuto del jar creato si può usare il comando:
jar -tf homework1.jar
La directory di base hw1
deve coincidere con la directory dell'omonimo package base dell'homework. Questo significa che non ci devono essere file o directory al di fuori del package base. La dimensione massima consentita per il jar è 100KB.
La sottomissione del jar dell'homework si effettua tramite la pagina Consegna. Si può controllare lo stato delle sottomissioni tramite la pagina Status.
import
di package esterni (cioè esterni all'homework) che non siano strettamente della piattaforma Java, cioè evitare import
di package esterni che non iniziano con java.
o javax.
(anche se poi non sono usati). Anche solo la presenza nei sorgenti di import
di tale tipo (anche se non usati) può ostacolare la compilazione e quindi la valutazione dell'homework consegnato.C'è un errore nel javadoc del campo actions
della classe Move
, quello corretto è il seguente:
/** Sequenza di azioni della mossa, non è mai null, la lista non è vuota
* solamente se il tipo della mossa è {@link Kind#ACTION}, la lista è
* immodificabile */
public final List<Action<P>> actions;
Grade completo: homework1_grade.
Non copiare. Gli homework consegnati saranno scrupolosamente confrontati anche con strumenti automatici. La prova di convalida sarà tanto più approfondita tanto più forti sono gli indizi di copiatura e tanto più alto è il punteggio.
11 Apr 2016