Example implementation for the course TDT4165. Updated README with some aims and suggestions.
This commit is contained in:
parent
db082dd1fa
commit
3ab26ccc34
19
README
19
README
|
@ -0,0 +1,19 @@
|
||||||
|
System for handling assignments.
|
||||||
|
Mainly developed for use at NTNU.
|
||||||
|
|
||||||
|
Aiming for the following features:
|
||||||
|
- Users and user login (via innsida at NTNU)
|
||||||
|
- Publishing assignments, attaching files to publications
|
||||||
|
- Submitting assignments, attaching files to submissions
|
||||||
|
- Assessing assignments
|
||||||
|
|
||||||
|
Aiming to replace the following systems (among others):
|
||||||
|
- it's learning (the delivery part)
|
||||||
|
- http://www.idi.ntnu.no/emner/tdt4165/?page=deliver
|
||||||
|
- http://selje.idi.ntnu.no:1234/tdt4120/
|
||||||
|
- http://itgk.idi.ntnu.no/oving/
|
||||||
|
- http://www.math.ntnu.no/ovsys/?db=MA1101-H2011
|
||||||
|
|
||||||
|
Suggestions:
|
||||||
|
- Permissions for files / assignments
|
||||||
|
- Partitioning students into groups (GUI)
|
|
@ -1,12 +1,11 @@
|
||||||
package model;
|
package model;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class Assignment {
|
public class Assignment {
|
||||||
protected String name, description;
|
protected String name, description;
|
||||||
protected Date publishedDate, dueDate;
|
protected Date publishedDate, dueDate;
|
||||||
protected ArrayList<Delivery> deliveries;
|
public DeliveryGroup deliveries;
|
||||||
|
|
||||||
public Assignment(String name, String description, Date publishedDate, Date dueDate){
|
public Assignment(String name, String description, Date publishedDate, Date dueDate){
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
|
|
@ -3,7 +3,7 @@ package model;
|
||||||
public class Course {
|
public class Course {
|
||||||
protected String name;
|
protected String name;
|
||||||
protected UserGroup owner, students;
|
protected UserGroup owner, students;
|
||||||
protected AssignmentGroup assignments;
|
public AssignmentGroup assignments;
|
||||||
|
|
||||||
public Course(UserGroup owner, String name){
|
public Course(UserGroup owner, String name){
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package model;
|
||||||
|
|
||||||
public class Delivery {
|
public class Delivery {
|
||||||
protected UserGroup userGroup;
|
protected UserGroup userGroup;
|
||||||
protected Assessment assessment;
|
public Assessment assessment;
|
||||||
|
|
||||||
public Delivery(UserGroup userGroup){
|
public Delivery(UserGroup userGroup){
|
||||||
this.userGroup = userGroup;
|
this.userGroup = userGroup;
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
package model;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
public class DeliveryGroup extends HashSet<Delivery> {
|
||||||
|
|
||||||
|
}
|
|
@ -6,4 +6,34 @@ public class User {
|
||||||
public User(String username){
|
public User(String username){
|
||||||
this.username = username;
|
this.username = username;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Generated by Eclipse
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
final int prime = 31;
|
||||||
|
int result = 1;
|
||||||
|
result = prime * result
|
||||||
|
+ ((username == null) ? 0 : username.hashCode());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj)
|
||||||
|
return true;
|
||||||
|
if (obj == null)
|
||||||
|
return false;
|
||||||
|
if (getClass() != obj.getClass())
|
||||||
|
return false;
|
||||||
|
User other = (User) obj;
|
||||||
|
if (username == null) {
|
||||||
|
if (other.username != null)
|
||||||
|
return false;
|
||||||
|
} else if (!username.equals(other.username))
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package model.ntnu.tdt4165;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import model.files.*;
|
||||||
|
|
||||||
|
public class Assignment extends model.Assignment {
|
||||||
|
PublishedFileGroup problemFiles, solutionFiles;
|
||||||
|
|
||||||
|
public Assignment(String name, String description, Date publishedDate,
|
||||||
|
Date dueDate, PublishedFileGroup problemFiles, PublishedFileGroup solutionFiles) {
|
||||||
|
super(name, description, publishedDate, dueDate);
|
||||||
|
this.problemFiles = problemFiles;
|
||||||
|
this.solutionFiles = solutionFiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
package model.ntnu.tdt4165;
|
||||||
|
|
||||||
|
public class AssignmentGroup extends model.AssignmentGroup {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
package model.ntnu.tdt4165;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import model.Assessment;
|
||||||
|
import model.User;
|
||||||
|
import model.UserGroup;
|
||||||
|
import model.files.FileGroup;
|
||||||
|
import model.ntnu.Semester;
|
||||||
|
import model.files.*;
|
||||||
|
|
||||||
|
public class Course extends model.ntnu.Course {
|
||||||
|
|
||||||
|
public Course(UserGroup owner, String name, String code, Semester semester,
|
||||||
|
int year) {
|
||||||
|
super(owner, name, code, semester, year);
|
||||||
|
name = "progspråk";
|
||||||
|
code = "tdt4165";
|
||||||
|
|
||||||
|
test();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void test(){
|
||||||
|
// create some users
|
||||||
|
User andreao = new User("andreao");
|
||||||
|
User somaen = new User("somaen");
|
||||||
|
students.add(andreao);
|
||||||
|
studasses.add(somaen);
|
||||||
|
|
||||||
|
// create assignment
|
||||||
|
Date now = new Date();
|
||||||
|
PublishedFileGroup oving1Files = new PublishedFileGroup(now,now);
|
||||||
|
oving1Files.add(new File("ov1.pdf","ov1.pdf", "Introduksjon til Oz"));
|
||||||
|
PublishedFileGroup oving1SolutionFiles = new PublishedFileGroup(now,now);
|
||||||
|
oving1SolutionFiles.add(new File("ov1_lf.pdf","ov1_lf.pdf", "Løsningsforslag"));
|
||||||
|
oving1SolutionFiles.add(new File("List.oz","List.oz", ""));
|
||||||
|
Assignment assignment = new Assignment("Øving 1", "Introduksjon til Oz", now,now, oving1Files, oving1SolutionFiles);
|
||||||
|
assignments.add(assignment);
|
||||||
|
|
||||||
|
// create a delivery
|
||||||
|
UserGroup gruppe1 = new UserGroup();
|
||||||
|
gruppe1.add(andreao);
|
||||||
|
File fil = new File("oving1.oz","","mitt svar på øving 1");
|
||||||
|
FileGroup filer = new FileGroup();
|
||||||
|
filer.add(fil);
|
||||||
|
Delivery levering1 = new Delivery(gruppe1,filer);
|
||||||
|
assignment.deliveries.add(levering1);
|
||||||
|
|
||||||
|
// create an assessment
|
||||||
|
Assessment vurdering1 = new Assessment(studasses, "Bra!", now);
|
||||||
|
levering1.assessment = vurdering1;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package model.ntnu.tdt4165;
|
||||||
|
|
||||||
|
import model.UserGroup;
|
||||||
|
import model.files.FileGroup;
|
||||||
|
|
||||||
|
public class Delivery extends model.Delivery {
|
||||||
|
FileGroup files;
|
||||||
|
|
||||||
|
public Delivery(UserGroup userGroup, FileGroup files) {
|
||||||
|
super(userGroup);
|
||||||
|
this.files = files;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Reference in New Issue