How students can contribute to free software OpenOffice.org - - PowerPoint PPT Presentation

how students can contribute to free software
SMART_READER_LITE
LIVE PREVIEW

How students can contribute to free software OpenOffice.org - - PowerPoint PPT Presentation

How students can contribute to free software OpenOffice.org success story Eric Bachard (OOo) | Morgan Magnin (Centrale Nantes) eric.bachard@free.fr | morgan.magnin@ec-nantes.fr http://education.openoffice.org | http://tinyurl.com/magnin-ecn s


slide-1
SLIDE 1

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

How students can contribute to free software

OpenOffice.org success story

Eric Bachard (OOo) | Morgan Magnin (Centrale Nantes) eric.bachard@free.fr | morgan.magnin@ec-nantes.fr

http://education.openoffice.org | http://tinyurl.com/magnin-ecn

slide-2
SLIDE 2

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Centrale Nantes: key figures

  • Member of the Group of Ecoles Centrales
  • Combines three activities:

– Education – 1350 students

  • Graduate general engineering program (3

years, highly-selective admission procedure)

  • Other specialized master program including

two Erasmus Mundus Master programs

– Research: 4 laboratories – Industrial Studies

slide-3
SLIDE 3

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Why free software in education?

Free software is not only a technical alternative to proprietary solutions, it promotes values such that: Freedom Cooperation Security Durability

slide-4
SLIDE 4

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Centrale Nantes and free software

  • Research development:

– OrbisGIS: http://tinyurl.com/orbisgis – Roméo: http://romeo.rts-software.org – Trampoline: http://trampoline.rts-software.org/

  • Educational use:

– Linux : https://pedagogie.ec-nantes.fr/spip/ – OpenOffice.org – FireFox, Gimp, …

slide-5
SLIDE 5

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Centrale Nantes, free software and Tablet PC

  • Recipient of the HP Technology for Teaching

Grant 2008

– 21 Tablet PCs – Innovative projects about education and tactile

technologies

  • A students' project to evaluate the usability of

Tablet PC features under Linux... that led to OpenOffice.org

slide-6
SLIDE 6

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Centrale Nantes and OpenOffice.org

  • Annotation features in OOo/Impress:

– Regular users demand about it for 3-4 years – Open tickets

  • Students have worked on this issue:

– From October'08 to now; – Under the supervision of Thorsten Behrens and

Eric Bachard

slide-7
SLIDE 7

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Centrale Nantes and OOo: key figures

  • Two different projects involving:

– 7 students from September '08 to December '08 – 4 students from January '09 to April '09 – 1 supervising teacher – Active collaboration of OOo team

  • Other figures:

– Students: avg 65 work-hours by student by

project

– Teacher: avg 3 supervising-hours by student by

project

slide-8
SLIDE 8

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Centrale Nantes and OOo: factors for success

  • Education environment willing to contribute to

free software

  • Motivation of both students and OOo teams
  • Win-win relation for every actor:

– Education: real-life projects with added value – Students: contribute to a famous software – OOo: perspective of contribution to new

features

slide-9
SLIDE 9

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

… OpenOffice.org Education Project is an incubator and

INTERNATIONAL project type

slide-10
SLIDE 10

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

The Role of the « Incubators » projects is to ...

  • Experiment
  • Validate a new need
  • Innovate and make the OpenOffice.org Project

progress

slide-11
SLIDE 11

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

The goals of the OpenOffice.org Education Project ?

This is a young project, Belonging to OpenOffice.org with the main goal to create a bridge between Educational World and OpenOffice.org

slide-12
SLIDE 12

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

' Who ' is the Education Project ?

Approximatively 100 members, Students, developers (mostly) From all countries All participate to OpenOffice.org

slide-13
SLIDE 13

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

The 3 main objectives of Education Project :

  • Create a network of teachers using

OpenOffice.org

  • Provide a space for exchanging pedagogical

contents, under free file formats

  • Teach, provide young (core-)developers to write

code for OpenOffice.org

slide-14
SLIDE 14

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

3rd Objective : provide new developers

Idea : Associate : theory (the teachers) The know how (professional developers) The actors (students, profs, and so on) Mentors (OpenOffice.org Project developers) The needs (features for OpenOffice.org) … and finally provide developers

slide-15
SLIDE 15

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Already started actions

  • Online Courses « ClassRooms »
  • Projects with engineers schools students, and shools

contributions

slide-16
SLIDE 16

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Education Project Effort

  • Mentored projects with active participation of the

schools

http://wiki.services.openoffice.org/wiki/Education_Project/Effor

slide-17
SLIDE 17

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Schools who joined the project

Epitech/Epita (Paris, France) École Centrale Nantes (Nantes, France) UTBM (Sévenans, France) Seneca College (Toronto Canada) …

slide-18
SLIDE 18

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Examples

Mozilla 1.7.5 → Seamonkey 1.1.14 migration (Pierre Pasteau / Epitech Paris ) QA in progress, will be integrated Developers who contributed : Frank Schönheit (Sun MicroSystems), Eric Bachard (unaffiliated)

slide-19
SLIDE 19

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Examples

Aude Quintana, Olivier Girardot (École Centrale Nantes): implementation of the eraser features, with Tablet PC and Impress. Code review in progress. Developers who contributed : Thorsten Behrens (Novell) Managed by Morgan Magnin, for Ecole Centrale Nantes

slide-20
SLIDE 20

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Examples

Frédéric Gelot, Pierre-Jean Parot (École Centrale Nantes): annotations implementation with Tablet PC and Impress Developers who contributed : Thorsten Behrens (Novell) Managed by Morgan Magnin, for ECN

slide-21
SLIDE 21

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Other example : Seneca College, Toronto Professor : Fardad Soleimanloo (4 projects started, expected for Summer 09) All other proposed subjects :

http://wiki.services.openoffice.org/wiki/Education_Project/Effor

slide-22
SLIDE 22

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Scheduled Project (july to december 2009 ): Thomas Fontenay, Abdelkader Bellabes ( Epitech Paris ) : performance improvement of OOo4Kids on powerless machines (include backport to OpenOffice.org for the most interesting solutions), profiling, User Interface Improvement Developers : Pierre Pasteau, Eric Bachard Managed by Julien Ballet for Epitech Paris

slide-23
SLIDE 23

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

...

slide-24
SLIDE 24

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Guidelines for further projects: benefits of communication

  • All documentation must be in english
  • Frequent communication

– Inside the education community – Inside the free software community

  • Use a maximum of media:

– News on official websites – Blog, Twitter, … – Video

slide-25
SLIDE 25

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Guidelines for further projects

  • Development team opened to students'

contribution

  • Supervising teacher to guarantee the project

respects the educational expectations

  • Team of students from 2 to... ?
slide-26
SLIDE 26

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Guidelines for further projects

  • Find students

– Interested in a first professional development

experience

– Having a good knowledge in technical matters – Potentially willing to contribute beyond the

given project

slide-27
SLIDE 27

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Timeline

  • Detailed specifications according to the

software standards

– Features – Test cases

  • Learn the basics about the implementation

– IRC courses – Documentation

  • Implementation on a Child WorkSpace w.r.t.

software development rules

  • Tests
slide-28
SLIDE 28

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Guidelines for further projects

  • Be “transparent” yourself :

– Do not lie about the difficulties! – Do not base your evaluation only on final

results.

– Take into account the methods and autonomy of

students.

  • Frequent (on-line or IRL) meetings between

students and supervisors to keep up the motivation

slide-29
SLIDE 29

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Perspectives

  • New collaborations between free software

development teams and educational institution

  • Towards teaching how to contribute to free

software developments?

slide-30
SLIDE 30

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Special thanks to...

  • Thorsten Behrens
  • Group of students:

– Olivier Girardot – Frédéric Gélot – Aude Quintana – Pierre-Jean Parot – Guillaume Arfaoui – Florent Rouvière – Sashi Juganaikloo

slide-31
SLIDE 31

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

References

  • EducOO : http://www.educoo.org
  • Blog on the various projects involving Tablets

PC at École Centrale de Nantes: https://pedagogie.ec-nantes.fr/tablet-pc/

  • “Effort page”: http://tinyurl.com/effort-ooo-ecn
slide-32
SLIDE 32

s t at i c voi d s ync_i cache_030( addr_t addr es s , s i ze_t l en) { i nt l , of f ; char *p; ui nt 32 cacr ; of f =( uns i gned i nt ) addr es s & ( CA CH ELI NE- 1); l en+=of f ; l =l en; p=( char *) addr es s - of f ; as m vol at i l e( " nop" ) ; as m vol at i l e( " m

  • vec %

% cacr, % 0" : " =r " ( cacr) : ) ; cacr | =0x00000004; / **/ do{ as m vol at i l e( " m

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec

% 1, % % cacr \ naddq. l #4, % 0\ nm

  • vec %

0, % % caar \ nm

  • vec %

1, % % cacr \ n" : : " r " ( p) , " r " ( cacr ) ) ; p+= CA CH ELI NE; } whi l e( ( l - =CA CH ELI NE) >0) ; as m vol at i l e( " nop" ) ; } s t at i c voi d s et _pgdi r ( voi d*r t ) { l ong_page_di r ect or y_ent r y ent r y; *( ui nt 64*) & ent r y=D FL_PAG EENT_VAL; ent r y. t ype=D T_RO O T; ent r y. addr =TA _TO _PREA ( ( ( addr _t ) r t ) ) ; as m vol a t i l e( " pm

  • ve ( %

0) , % % s r p\ npm

  • ve ( %

0) , % % cr p\ n" : : " a" ( ( ui nt 64*) & ent r y) ) ; } s t r uct m 68k_vm _ops m 68030_vm _ops ={ _m 68k_t r ans l at i on_m ap_get _pgdi r , m 68k_vm _t r ans l at i on_m ap_i ni t _m a

Auteurs : Morgan Magnin (morgan.magnin@ec-nantes.fr) Eric Bachard (eric.bachard@free.fr), www.educoo.org 2009 Document sous licence libre http://creativecommons.org/licenses/by-sa/3.0/deed.fr