Marco Piccioni Possible projects External 1. Join and contribute to - - PowerPoint PPT Presentation

marco piccioni possible projects
SMART_READER_LITE
LIVE PREVIEW

Marco Piccioni Possible projects External 1. Join and contribute to - - PowerPoint PPT Presentation

Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Project presentation Marco Piccioni Possible projects External 1. Join and contribute to an open source project of your choice Internal to


slide-1
SLIDE 1

Languages in Depth Series: Java Programming

  • Prof. Dr. Bertrand Meyer

Chair of Software Engineering

Project presentation

Marco Piccioni

slide-2
SLIDE 2

2

Languages in Depth series: Java Programming

Possible projects

  • External
  • 1. Join and contribute to an open source project of your

choice

  • Internal to ETH
  • 2. Join and contribute to a project internal to ETH (can be
  • pen or closed source)
  • 3. Participate to a project suggested by the assistants

(open source)

slide-3
SLIDE 3

3

Languages in Depth series: Java Programming

Open source collaborations

Examples of projects from the last two years course iteration

http://azureus.sourceforge.net/ http://www.tegmento.org/gpsylon/ http://maven.apache.org/ www.eclipse.org http://tapestry.apache.org/ http://freeguide-tv.sourceforge.net/ http://www.hattrickitalia.org/gham/ http://www.jonelo.de/java/jacksum/ http://www.junit.org/ http://paloalto.dnsalias.net/ cacms_home/index.html http://www.columbamail.org/drupal/ http://freemind.sourceforge.net/

slide-4
SLIDE 4

4

Languages in Depth series: Java Programming

More open source collaborations

Further suggestions for collaborations

  • www.db4o.com
  • www.springframework.org
  • http://www.springframework.org/projects (14 projects)
  • http://www.jpox.org/
  • http://sourceforge.net/projects/prevayler/

Practical hints

  • Check the number of active developers
  • Check the recent project activity
  • Check the project mailing lists/wiki’s
slide-5
SLIDE 5

5

Languages in Depth series: Java Programming

Internal projects

  • Propose a project from another chair
  • Program a web-based, turn-based, two-player strategy

card game, using the Spring framework and db4o OODBMS

  • Example: something like Magic The Gathering card game

(www.magicthegathering.com), or a card game you like that still does not have an online version.

  • For an inspiration on card games have a look at

www.boardgamegeek.com

slide-6
SLIDE 6

6

Languages in Depth series: Java Programming

Restrictions for all projects

  • Language: Java
  • If joining an external project, must be > 5000 loc
  • Minimal facilities should be available
  • SVN or CVS
  • Web site
  • Documentation should include unit tests
  • Groups of 2 or 3 people
slide-7
SLIDE 7

7

Languages in Depth series: Java Programming

Important deadlines

  • April 2nd: choose a project and create an entry on the

course wiki together with a new project on origo

  • April 16th: devise a document describing what is planned
  • May 21st and May 28th: presentations, max 3 slides each
  • May 28th: devise a report describing the achievements

and possible issues encountered

slide-8
SLIDE 8

8

Languages in Depth series: Java Programming

Project grading

  • Project overall requirements doc
  • 15% of the project grade
  • Language, clarity and style are important factors
  • A template will be provided
  • Implementation
  • 70% of the project grade, of which
  • Contribution quantification: 50%
  • Documentation: 20% (includes unit tests)
  • Final report
  • 15% of the project grade
  • Reminder: project grade is itself 50% of the exam grade
slide-9
SLIDE 9

9

Languages in Depth series: Java Programming

OSS Contributions (2006)

  • Tapestry: Component exporting data to comma-separated values.
  • An RSS aggregator.
  • Columba mail client: search/replace and highlighting in e-mails bugs fixed, tray notification.
  • GPSylon: automatic map download.
  • FreeGuideTV: highlighting TV programs and recording help.
  • JackSum: GUI
  • WTFlash: Port from Objective C
  • CaCMS: WebDav support, mail notifier and bugfixing.
slide-10
SLIDE 10

10

Languages in Depth series: Java Programming

GHAM Injury Analyzer

slide-11
SLIDE 11

11

Languages in Depth series: Java Programming

Azureus Country Locator

slide-12
SLIDE 12

12

Languages in Depth series: Java Programming

Assessment

  • Motivation as an indicator of performance
  • Questionnaire on Current Motivation (QCM) [1] (given at

beginning and end of project)

[1] F. Rheinberg, R. Vollmeyer, and B. D. Burns. QCM: A questionnaire to assess current motivation in learning situations. Diagnostica, 47:57–66, 2001.

slide-13
SLIDE 13

13

Languages in Depth series: Java Programming

Analysis of QCM

QCM t1 QCM t1 QCM t2 QCM t2 Project variant 1 Project variant 2

t-Tests for independent sets t-Test for paired sets t-Test for paired sets

slide-14
SLIDE 14

14

Languages in Depth series: Java Programming

Summary of results

  • Open source projects create a more unstable situation than

traditional projects (many significant changes over time)

  • Students seem to be more intimidated by open source

projects, but probably more interested in the end This time: More on why you choose your favorite option

slide-15
SLIDE 15

15

Languages in Depth series: Java Programming

Please help us by participating in the questionnaire!

Thanks!

slide-16
SLIDE 16

16

Languages in Depth series: Java Programming

The benefits and dangers