Metodologie di Programmazione: Hw1

Riccardo Silvestri

Homework 1

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.

Consegna

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.

Importante

Rettifica

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

Grade completo: homework1_grade.

Avvertenze

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