Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Software engineering education
Learning by doing software engineering
Apprenticeship by immersion
Software engineering education
Learning by doing software engineering
Apprenticeship by immersion
Philippe Saliou and Vincent RibaudPhilippe Saliou and Vincent RibaudDépartement Informatique - Université de Bretagne OccidentaleDépartement Informatique - Université de Bretagne Occidentale
Philippe Saliou and Vincent RibaudPhilippe Saliou and Vincent RibaudDépartement Informatique - Université de Bretagne OccidentaleDépartement Informatique - Université de Bretagne Occidentale
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
PlanPlan
• Introduction
• Immersion principles
• Donald Schön’s reflective practicum
• Some elements of the immersion system
• The Guide to the Software Engineering Body of Knowledge
• TEMPO: Thales’s corporate baseline
• Apprenticeship repository
• Linking knowledge and skills
• Shifting the immersion paradigm
• Conclusion
• Introduction
• Immersion principles
• Donald Schön’s reflective practicum
• Some elements of the immersion system
• The Guide to the Software Engineering Body of Knowledge
• TEMPO: Thales’s corporate baseline
• Apprenticeship repository
• Linking knowledge and skills
• Shifting the immersion paradigm
• Conclusion
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Introduction Introduction
• Immersion– Students are immersed in a virtual software company
– The apprenticeship guideline is the project
– A reflective practicum – Donald Schön (1987)
• Environment– ISO 9001 software processes and organization
– Model-driven engineering for n-tier Information Systems (MIS)
– Professional frameworks
• Apprenticeship process– Apprenticeship repository
– One turn to learn, a second turn to do
– Redefinition of roles for students and teachers
– Continuous assessment
• Immersion– Students are immersed in a virtual software company
– The apprenticeship guideline is the project
– A reflective practicum – Donald Schön (1987)
• Environment– ISO 9001 software processes and organization
– Model-driven engineering for n-tier Information Systems (MIS)
– Professional frameworks
• Apprenticeship process– Apprenticeship repository
– One turn to learn, a second turn to do
– Redefinition of roles for students and teachers
– Continuous assessment
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Immersion principlesImmersion principles
Company YCompany YCompany XCompany XMeeting roomMeeting room
• An immersion in a realistic project
• 2 companies of 6 students, led by a tutor
• A staged apprenticeship system
• Tutors’ continuous feedback and assessment
• A software development process sustainedby a corporate baseline
• A professional technological framework
• Dedicated fitted-out rooms : landscape rooms, meeting room, machine room
• An immersion in a realistic project
• 2 companies of 6 students, led by a tutor
• A staged apprenticeship system
• Tutors’ continuous feedback and assessment
• A software development process sustainedby a corporate baseline
• A professional technological framework
• Dedicated fitted-out rooms : landscape rooms, meeting room, machine room
Iteration 3Iteration 3 « Training period »« Training period »
Iteration 3Iteration 3 « Training period »« Training period »
Iteration 1 Iteration 1 « Tutored apprenticeship »« Tutored apprenticeship »
Iteration 1 Iteration 1 « Tutored apprenticeship »« Tutored apprenticeship »
Iteration 2 Iteration 2 « Accompanied application »« Accompanied application »
Iteration 2 Iteration 2 « Accompanied application »« Accompanied application »
StudentsStudentsStudentsStudents
4 months4 months4 months4 months
2 months2 months2 months2 months
4 - 6 months4 - 6 months4 - 6 months4 - 6 months
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Donald Schön’s reflective practicumDonald Schön’s reflective practicum
It’s a situation in which people learn by doing
Where they learn by doing in a practicum which is really a virtual world.
• A virtual world that represents the world of practice, but is not the world of practice.
• In that virtual world, students can run experiments cheaply and without great danger.
And they learn by doing with others in the virtual world of the practicum in interaction with someone who is in the role of coach
• more like a coach than like a teacher, because that coach is trying to help them do something.
It’s a situation in which people learn by doing
Where they learn by doing in a practicum which is really a virtual world.
• A virtual world that represents the world of practice, but is not the world of practice.
• In that virtual world, students can run experiments cheaply and without great danger.
And they learn by doing with others in the virtual world of the practicum in interaction with someone who is in the role of coach
• more like a coach than like a teacher, because that coach is trying to help them do something.
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
StagesSoftware project
management
Software development
engineering
Development
support
Stage 1
Stage 2
Stage 3
...
Area
Apprenticeship process – First iterationApprenticeship process – First iteration
Quality
insurance setup
Project
set-up
Means set-up
Technical
environment
validation
Configuration
management
Requirements
consolidation
Analysis
tailoring
Project
management
Technical
support
Functional
requirementsTechnical
requirements
Generic design
Technical
prototype
Analysis Framework
explorationMethods and
tools support
Design tailoringSoftware test
plan
Project
set-up
Functional
requirements
Generic design
Framework
exploration
Software test
plan
• Main element of the Tutor-Student relationship
• Structure– Role(s)– Actor(s)– Activity type :
analysis, design, ...– Work description and
pedagogical resources– Expected deliverables– Workload and lead-
time information
• Main element of the Tutor-Student relationship
• Structure– Role(s)– Actor(s)– Activity type :
analysis, design, ...– Work description and
pedagogical resources– Expected deliverables– Workload and lead-
time information
Number : 8 Date : 11-21-2002 Origin : Ph. SALIOU Action Program : SI2E-WP1
APPRENTICESHIP CARD
Analyst
L. Delemazure S. Le Livec
Area : Development engineering Activity : Requirements capture
Name : Requirements consolidation
WORK DESCRIPTION
This work aims to consolidate in a single document the set of requirements. The purposes of this work are :
To be in accordance with the TEMPO-ILI baseline and the Two-Track Unified Process. To bring together two requirements : functional and technical.
… The expected result will be materialized with a Software Requirements Specification document (SRS). This specification is a reference document for the software design. … Pedagogical resources can be helpful in order to write the SRS :
Simplified writing guide for the software requirements specification (TEMPO-IGQ347). SRS Examples
…
Products Version Milestone
Software Requirements Specification (SRS)
A
11-29-2002
WORK IN PROGRESS
Estimation Reality Start date End date Workload Start date End date Used workload 11-25-2002 12-03-2002 3,5 3,5
Date Used workload Deliveries-Observations
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
From apprenticeship to production – Second iterationFrom apprenticeship to production – Second iteration
• Accompanied autonomy
• Real-world simulation– Fixed organisation
– This iteration should end with the delivery of the required information system, qualified according to the validation protocol written by the project team
• The apprenticeship process becomes a development process
• Progress– The company’s tutor stands back
– Apprenticeship Card (AC) -> Manufacturing Card (MC)
– The student acting as project manager chairs progress report meetings
• Accompanied autonomy
• Real-world simulation– Fixed organisation
– This iteration should end with the delivery of the required information system, qualified according to the validation protocol written by the project team
• The apprenticeship process becomes a development process
• Progress– The company’s tutor stands back
– Apprenticeship Card (AC) -> Manufacturing Card (MC)
– The student acting as project manager chairs progress report meetings
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Authentic assessmentAuthentic assessment
Regulation assessment
• Tutor-Author cycle– Carefully examination of deliverables
– Feedback
– Reworking
• Apprenticeship supervision and regulation– Writing, planning and assigning Apprenticeship Cards
– Bi-weekly regulation meeting
Verification and validation assessment
• Validation and reviews– Contribute to the important role play
– Still a formative experience
Regulation assessment
• Tutor-Author cycle– Carefully examination of deliverables
– Feedback
– Reworking
• Apprenticeship supervision and regulation– Writing, planning and assigning Apprenticeship Cards
– Bi-weekly regulation meeting
Verification and validation assessment
• Validation and reviews– Contribute to the important role play
– Still a formative experience
Regulation assessment
Verification and validation assessment
Regulation assessment
Verification and validation assessment
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
The SWEBOKThe SWEBOK
The Guide to the Software Engineering Body of Knowledge (SWEBOK) was established with five objectives:
• To promote a consistent view of software engineering worldwide
• To clarify the place—and set the boundary—of SE with respect to other disciplines such as computer science, ...
• To characterize the contents of the SE discipline
• To provide a topical access to the SE Body of Knowledge
• To provide a foundation for curriculum development and for individual certification and licensing material
The Guide to the Software Engineering Body of Knowledge (SWEBOK) was established with five objectives:
• To promote a consistent view of software engineering worldwide
• To clarify the place—and set the boundary—of SE with respect to other disciplines such as computer science, ...
• To characterize the contents of the SE discipline
• To provide a topical access to the SE Body of Knowledge
• To provide a foundation for curriculum development and for individual certification and licensing material
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
The SWEBOK Knowledge Areas (KAs)The SWEBOK Knowledge Areas (KAs)
Software requirements
Software design
Software construction
Software testing
Software maintenance
Software configuration management
Software engineering management
Software engineering process
Software engineering tools and methods
Software quality
Software requirements
Software design
Software construction
Software testing
Software maintenance
Software configuration management
Software engineering management
Software engineering process
Software engineering tools and methods
Software quality
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Third objective—a characterization of the contents of SEThird objective—a characterization of the contents of SE
The Guide uses a hierarchical organization to decompose each KA into a set of topics.
The Guide treats the selected topics in a manner compatible with breakdowns generally found in industry and in SE literature and standards.
Each topic only describes the generally accepted nature of the topic and helps to find reference material.
After all, the Body of Knowledge is found in the reference material themselves, not in the Guide.
The Guide uses a hierarchical organization to decompose each KA into a set of topics.
The Guide treats the selected topics in a manner compatible with breakdowns generally found in industry and in SE literature and standards.
Each topic only describes the generally accepted nature of the topic and helps to find reference material.
After all, the Body of Knowledge is found in the reference material themselves, not in the Guide.
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
TEMPO: Thales’s corporate baselineTEMPO: Thales’s corporate baseline
The company’s “corporate baseline”, TEMPO
• a vital tool for demonstrating the ability of its quality system to meet general requirements (such as ISO).
TEMPO is the foundation of corporate culture and is the basis for sustaining good working practices.
TEMPO is a set of procedures, guides and instructions :
• defining how the company operates and how it is organised,
• providing a framework for programme management, software development and system integration activities.
The company’s “corporate baseline”, TEMPO
• a vital tool for demonstrating the ability of its quality system to meet general requirements (such as ISO).
TEMPO is the foundation of corporate culture and is the basis for sustaining good working practices.
TEMPO is a set of procedures, guides and instructions :
• defining how the company operates and how it is organised,
• providing a framework for programme management, software development and system integration activities.
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Apprenticeship by immersion repositoryApprenticeship by immersion repository
Apprenticeship repositoryApprenticeship repository• TEMPO-ILITEMPO-ILI
• Technical frameworks supportTechnical frameworks support
• Technical libraries and forumTechnical libraries and forum
• Books and self-training mediaBooks and self-training media
• Apprenticeship process descriptionApprenticeship process description
• Role playRole play
•Development cycleDevelopment cycle
• StagesStages
• Work cardsWork cards
• Pedagogical resourcesPedagogical resources
• Expected deliverablesExpected deliverables
• Previous deliverablesPrevious deliverables
Apprenticeship repositoryApprenticeship repository• TEMPO-ILITEMPO-ILI
• Technical frameworks supportTechnical frameworks support
• Technical libraries and forumTechnical libraries and forum
• Books and self-training mediaBooks and self-training media
• Apprenticeship process descriptionApprenticeship process description
• Role playRole play
•Development cycleDevelopment cycle
• StagesStages
• Work cardsWork cards
• Pedagogical resourcesPedagogical resources
• Expected deliverablesExpected deliverables
• Previous deliverablesPrevious deliverables
ISO 9001ISO 9001
ClearCaseClearCase
WebSphereWebSphere
RationalRequisiteProRationalRequisitePro
XDEXDE
Rational EntrepriseRational Entreprise
J2EEJ2EEEJBEJB
HTTPHTTP
Session Session BeanBean
HTMLHTML
JDBCJDBC
Entity BeanEntity BeanJavaJavaJava RMIJava RMI
XMLXMLSCMSCM
DesignerDesignerJDeveloperJDeveloper
ReportsReports
Rational EntrepriseRational Entreprise
CompanyCompany X X Company YCompany Y
JSPJSPServletServlet
BC4JBC4J
OracleOracle
IBMIBM
Oracle 9iASOracle 9iAS
WebSphere WebSphere Application ServerApplication Server
DBDB22
Oracle9i DatabaseOracle9i Database
UMLUML
TopLinkTopLink
JHeadStartJHeadStart
MVC Framework for J2EEMVC Framework for J2EE
ClearCaseClearCase
WebSphereWebSphere
RationalRequisiteProRationalRequisitePro
XDEXDE
Rational EntrepriseRational Entreprise
J2EEJ2EEEJBEJB
HTTPHTTP
Session Session BeanBean
HTMLHTML
JDBCJDBC
Entity BeanEntity BeanJava RMIJava RMI
XMLXMLSCMSCM
DesignerDesignerJDeveloperJDeveloper
ReportsReports
Rational EntrepriseRational Entreprise
BC4JBC4J
OracleOracle
IBMIBM
Oracle 9iASOracle 9iAS
WebSphere WebSphere Application ServerApplication Server
DBDB22
Oracle9i DatabaseOracle9i Database
UMLUML
TopLinkTopLink
JHeadStartJHeadStart
MVC Framework for J2EEMVC Framework for J2EE
Manufacturing Manufacturing processesprocesses
Corporate Corporate baselinebaseline
BuildingBuildingBuildingBuilding
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Linking knowledge and skillsLinking knowledge and skills
Diploma supplement → establish two lists per unit :
• one for the knowledge covered in the unit,
• the other for the abilities linked to the unit.
The abilities (competencies) list : description of activities and tasks from
• the corporate baseline
• the work cards of the immersion system
The knowledge list :
• more difficult to extract the knowledge really covered
• even with the help of the SWEBOK
For others curricula, it may be the other way round
Diploma supplement → establish two lists per unit :
• one for the knowledge covered in the unit,
• the other for the abilities linked to the unit.
The abilities (competencies) list : description of activities and tasks from
• the corporate baseline
• the work cards of the immersion system
The knowledge list :
• more difficult to extract the knowledge really covered
• even with the help of the SWEBOK
For others curricula, it may be the other way round
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Unification reference frameworkUnification reference framework
Software engineeringApprenticeship by immersion
SCM
PM
SPMSoftware project
management
SDE
TS
MTS
SDS
RC
AQ
SA
TA
SD
CUT
IV
UD
ID
Requirements captureProject
management
Quality Insurance
Software configuration management
Technical support
Software analysis
User’s documentation
Methods and tools support
Installation - Deployment
Integration - Validation
Coding – Unit testing
Software design
Technical requirements
Software development engineering
Software development
support
StudentsPedagogical team
Professional branch
University
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Shifting the immersion paradigmShifting the immersion paradigm
Duffy and Cunningham, Constructivism :
• learning is defined as an active process for knowledge building rather than a knowledge acquisition process
• teaching is essentially aimed at helping students in this process rather than transmitting knowledge
At the organizational level, the shift involves at least two dimensions.
• First, lectures are replaced with student learning.
• Secondly, the whole immersion system should operate as a learning organization.
The main goal of the system is to educate skilled but also reflective practitioners
Duffy and Cunningham, Constructivism :
• learning is defined as an active process for knowledge building rather than a knowledge acquisition process
• teaching is essentially aimed at helping students in this process rather than transmitting knowledge
At the organizational level, the shift involves at least two dimensions.
• First, lectures are replaced with student learning.
• Secondly, the whole immersion system should operate as a learning organization.
The main goal of the system is to educate skilled but also reflective practitioners
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Conclusion Conclusion
• Last year of a Master in Computer Engineering– A new kind of learning, but also a new kind of teaching
– Strong commitment is required
• Last year of a Master in Computer Engineering– A new kind of learning, but also a new kind of teaching
– Strong commitment is required
• Pros– Immersion in a real project
– Working in a team
– Complex technological frameworks
– Model-driven development
– Apprenticeship repository of the software engineering
• Pros– Immersion in a real project
– Working in a team
– Complex technological frameworks
– Model-driven development
– Apprenticeship repository of the software engineering
• Cons– A fragile system : everybody has to play the roles
– Heavy assessment
• Cons– A fragile system : everybody has to play the roles
– Heavy assessment
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
More detailsMore details
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Immersion environmentImmersion environmentPedagogical objectives• Model-driven engineering
• N-tier information systems
• Complexity of infrastructures
• Market frameworks and tools
Pedagogical objectives• Model-driven engineering
• N-tier information systems
• Complexity of infrastructures
• Market frameworks and tools
2-Track Unified Process2-Track Unified Process
ISO 9001ISO 9001ISO 9001 corporate baselineISO 9001 corporate baseline
ClearCaseClearCase
WebSphereWebSphereRational ArchitectRational Architect
EJBEJBRational RequisiteProRational RequisitePro
J2EEJ2EE
EJBEJB
HTTPHTTP
Session BeanSession Bean
HTMLHTML
Web ServicesWeb ServicesBeansBeans
JavaJava
Java RMIJava RMI
XMLXML
SCMSCM
DesignerDesignerJDeveloperJDeveloperADFADF
Business ComponentsBusiness Components
Company XCompany X Company YCompany YJSPJSPServletServlet
UIXUIX
OracleOracle
IBMIBM
OAS 10gOAS 10g WebSphere WebSphere Application ServerApplication Server
DB2DB2
Oracle10g databaseOracle10g database
UMLUML
TopLinkTopLink
JHeadStartJHeadStart
MVC Framework for J2EEMVC Framework for J2EE
Each company uses a different frameworkEach company uses a different framework
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Tutors’ and students’ rolesTutors’ and students’ roles• « Coordinator »
– prepares the logistics, consolidates and tailors the apprenticeship repository, supervises the pedagogical system.
• « Company’s tutor »– defines the new project, leads the student’s team, coordinates and regulates
students’ apprenticeships (individual and collective).
• « Coordinator »– prepares the logistics, consolidates and tailors the apprenticeship repository,
supervises the pedagogical system.
• « Company’s tutor »– defines the new project, leads the student’s team, coordinates and regulates
students’ apprenticeships (individual and collective).
• « A builder »– In turn architect, project manager, manufacturer, inventor, artist.
– Provides / uses pieces of the puzzle, understands long-term issues, works regularly.
• « An explorer »– Sometimes there is no pre-defined way.
– Has to discover new skills, to invent personal solutions.
• « A team member »– Be aware that nothing can be done without others.
– Cooperates truly rather negotiating mutual services.
• « A citizen »
• « A builder »– In turn architect, project manager, manufacturer, inventor, artist.
– Provides / uses pieces of the puzzle, understands long-term issues, works regularly.
• « An explorer »– Sometimes there is no pre-defined way.
– Has to discover new skills, to invent personal solutions.
• « A team member »– Be aware that nothing can be done without others.
– Cooperates truly rather negotiating mutual services.
• « A citizen »
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
Characteristics of authentic assessment Embedding assessment into apprenticeships
Characteristics of authentic assessment Embedding assessment into apprenticeships
The assessment of complex tasks is replaced by the continuous assessment of activities and deliverables.
Two kind of assessment :
• Direct support to the knowldege building with a continuous feedback to learners, called regulation assessment (De Ketele)
• Verification and validation (V & V) activities
The assessment of complex tasks is replaced by the continuous assessment of activities and deliverables.
Two kind of assessment :
• Direct support to the knowldege building with a continuous feedback to learners, called regulation assessment (De Ketele)
• Verification and validation (V & V) activities
Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006Informatics Education Europe – The consistency of informatics curricula across Europe – 09/11/2006
An example - The Software Quality KA An example - The Software Quality KA
The Software Quality KA transcends the software life cycle processes
• it is also considered in many of the other KAs
The description of this KA covers three subareas :
• Software Quality Fundamentals (4 subtopics)– software engineering culture and ethics, the value and costs of quality,
models and quality characteristics, and quality improvement.
• Software Quality Management Processes (3 subtopics)– software quality assurance, verification and validation, reviews and
audits
• Practical Considerations (4 subtopics)– software quality requirements, defect characterization, software quality
management techniques, and software quality measurement
The Software Quality KA transcends the software life cycle processes
• it is also considered in many of the other KAs
The description of this KA covers three subareas :
• Software Quality Fundamentals (4 subtopics)– software engineering culture and ethics, the value and costs of quality,
models and quality characteristics, and quality improvement.
• Software Quality Management Processes (3 subtopics)– software quality assurance, verification and validation, reviews and
audits
• Practical Considerations (4 subtopics)– software quality requirements, defect characterization, software quality
management techniques, and software quality measurement