Talk of Eric Bachard (lead of the OpenOffice.org Education Project) and Morgan Magnin (Associate Professor, École Centrale de Nantes) at the Libre Software Meeting 2009 (http://2009.rmll.info/)
During academical year 2008-09, a group of students from Centrale Nantes worked on the integration of annotation features in the slideshow module of OpenOffice.org. Two of them (Olivier Girardot and Frédéric Gélot) have become official OOo developers and interact with the other members of OOo team (like Thorsten Behrens).
This talk summarizes the fruitful collaboration between Centrale Nantes and OOo Education project and gives guidelines for the contribution of students to free software developments.
More information on https://pedagogie.ec-nantes.fr/tablet-pc/ and http://blog.educoo.org/dotclear/
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
How students can contribute to free software: Centrale Nantes/OpenOffice.org Education Project success story
1. 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 t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
2. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
– Industrial Studies
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov
ov ov
ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
ov
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
3. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
4. 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, …
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov
ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
5. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
6. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
7. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
project
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov
ov ov
ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
ov
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
8. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
9. … OpenOffice.org Education Project
is
anincubator and
INTERNATIONAL
project type
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
10. The Role of the « Incubators »
projects is to ...
●
Experiment
●
Validate a new need
●
Innovate and make the OpenOffice.org Project
progress
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
11. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
12. ' Who ' is the Education Project ?
Approximatively 100 members,
Students, developers (mostly)
From all countries
All participate to OpenOffice.org
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
13. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
14. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
15. Already started actions
●
Online Courses « ClassRooms »
●
Projects with engineers schools students, and shools
contributions
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
16. Education Project Effort
●
Mentored projects with active participation of the
schools
http://wiki.services.openoffice.org/wiki/Education_Project/Effort
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
17. Schools who joined the project
Epitech/Epita (Paris, France)
École Centrale Nantes (Nantes, France)
UTBM (Sévenans, France)
Seneca College (Toronto Canada)
…
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
18. 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)
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
19. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
20. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
21. 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/Effort
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
22. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
23. ...
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
24. 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, …
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
– Video
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov
ov ov
ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
ov
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
25. 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... ?
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
26. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
27. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l ● en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
=l ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
28. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
29. Perspectives
● New collaborations between free software
development teams and educational institution
● Towards teaching how to contribute to free
software developments?
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
30. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
31. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov
32. 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
s t at i c v oi d s y nc _i c ac he _030( addr _ t addr e s s , s i z e_ t l e n) { i nt l , of f ; c har * p; ui nt 32 c ac r ; of f =( uns i gned i nt ) addr es s &( CACH ELI NE- 1) ;
l en+=of f ; l =l en; p=( c har * ) addr es s - of f ; as m v ol at i l e ( " nop" ) ; as m v ol at i l e ( " m ec %%c ac r , %0" : " =r " ( c ac r ) : ) ; c ac r | =0x00000004; / * * / do{ as m
ov
v ol at i l e( " m ec %0, %%c aar nm e c %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec
ov ov ov ov ov ov
%1, %%c ac r naddq. l #4, %0 nm ec %0, %%c aar nm ec %1, %%c ac r n" : : " r " ( p) , " r " ( c ac r ) ) ; p+= CACH
ov ov ELI NE; } whi l e ( ( l - =CACH ELI NE) >0) ; as m
v ol at i l e( " nop" ) ; } s t at i c v oi d s e t _ pgdi r ( v oi d* r t )
{ l ong_page_ di r e c t or y _ent r y ent r y ; * ( ui nt 64* ) &ent r y =D FL_PAGEENT_VAL; ent r y . t y pe =D T_RO T; ent r y . addr =TA_TO
O _PREA( ( ( addr _ t ) r t ) ) ; as m v ol a
t i l e( " pm e ( %0) , %%s r p npm e ( %0) , %
ov ov