On Understanding Teaching Modeling in Computer model qualities and characteristics ... OCL, SYSML,...
Transcript of On Understanding Teaching Modeling in Computer model qualities and characteristics ... OCL, SYSML,...
On Understanding Teaching Modelingin Computer Science as an Ecosystem
Martin Gogolla
University of Bremen, Germany
What is an ecosystem?
What is an ecosystem?
● Community of living organisms in conjunction with nonliving components of environment (e.g. air, water, soil).
● Interacting as a system.
● Biotic factors as well as abiotic factors.
● Self supporting.
● Components linked through nutrient cycles and energy flows.
● Network of interactions among organisms, andbetween organisms and their environment.
● Any size.
● Usually encompasses limited space.
What is an ecosystem?
● Factors and dimensions (in example): soil, water, air, climate, sun, animals, plants, harvest, fields, housing, growth, energy flow (production, consumption)
● Content
– modeling techniques use case modeling
– model qualities abstraction
– modeling style domain-specific
● Medium Excel
● Demonstrations industrial case study
● Actors tutor
● Timing 3rd year undergraduate
● Form project 10 ECTS
● Style gamification
● (Involved CS) Areas articial intelligence
● Environment legal requirements
Factors and dimensions in teaching modeling
Content Medium Demonstrations Actors Timing Form Style Areas Environment
● Content
– modeling techniques
● class diagrams, state charts, ...● profiles, ...● bx trafos, ... model - structure, behavior, organisation
– model qualities and characteristics
● classification, abstraction, structuredness, appropriateness● clearness, understandability● verifiability, executability
– modeling style
● textual..graphical● universal..domain-specific● semi-formal..formal
Detailed factors and dimensions
Content Medium Demonstrations Actors Timing Form Style Areas Environment
● Medium
– blackboard, sheet
– UML @ Magic Draw
– USE, Umple, EMFtoCSP
– Excel, Power point, yEd
– Java, SQL, ATL
● Demonstrations (examples, case studies)
– tiny..large, vague..detailed, concrete..abstract
– positive..negative, academic..industrial
– suitability for modeling technique
– cases at different development stages or refinement levels
Detailed factors and dimensions
Content Medium Demonstrations Actors Timing Form Style Areas Environment
● Actors
– researcher, teacher, lecturer
– student, tutor
– programmer, designer
– examination administrator, technician, dean
● Timing
– undergraduate, graduate, phd, education for professionals
– Gogolla: basics of dbs, dbs, design of information systems
● Form
– lecture, exercise, course, seminar
– homework, project, thesis
– research paper
Detailed factors and dimensions
Content Medium Demonstrations Actors Timing Form Style Areas Environment
● Style
– teacher-in-front, group work
– traditional..gamified
– research-oriented..trainee-oriented
● (Involved CS) Areas
– programming languages, information systems, networks
– theory
– artificial Intelligence, sw engineering
● Environment
– curricula
– institution, related curricula & institutions
– colleagues, law
Detailed factors and dimensions
Content Medium Demonstrations Actors Timing Form Style Areas Environment
Factors and dimensions – Ecosystem relationships
● Content: Model qualities and characteristics
– abstraction, classification, executability, verifiability, appropriateness
● Demonstrations
– cases at different development stages or refinement levels
– negative examples
● Actors
– teaching researcher .. professional teacher
● Timing
– modeling before programming
● Areas
– identification of confederate CS areas and their integration
● Environment
– MODELS conference: Edusymp..Tutorials
Factors needing attention and improvement
● Content: Model qualities and characteristics
– abstraction, classification, executability, verifiability, appropriateness
● currently neglected: `traditional´ modeling languages (flowcharts, automata, er, 1st order predicate calculus, graphs)
● focus on `modern´ modeling languages (UML, OCL, SYSML, EMF, ATL, QVT)
● focus on teaching techniques not onmodel qualities like abstraction or classification
● models in their representing medium should give feedbackabout verifiabilty or executability
Factors needing attention and improvement
Is it possible to teach `when and how to use abstraction´?
Demonstrations with abstract classes with structure and behavior!
abstraction = reductionrelative to a concern
● Demonstrations
– cases at different development stages or refinement levels
– negative examples
● not only presentation of perfect, non-developing cases
discusssion of development steps and their rationals
presentation of models at various levels of detail
● negative examples that show how students should not model
Factors needing attention and improvement
● Actors
– teaching researcher .. professional teacher
● teaching typically done from our research perspective
teaching of our own research results
● research-oriented vs. trainee-oriented teaching method
● teach what students help in a way they undertstand
Factors needing attention and improvement
● Timing
– modeling before programming
● is modeling done too late?
● often modeling is regarded as `documenting the code´
● ban programming from the first years of CS education
Factors needing attention and improvement
● Areas
– identification of confederate CS areas and their integration
● modeling done in many (all?) CS areas
● modeling community looks from outside like to re-invent the wheel
● identification of partners resp. confederates
● connecting `their´ modeling to our view on modeling
Factors needing attention and improvement
● Environment
– MODELS conference: Edusymp..Tutorials
● Edusymp and Tutorials separated at MODELS
● no common strategy
● tutorials as a place for MODEL education or teaching
● `Bridge´ tutorials from core modeling to other CS areas
Factors needing attention and improvement
Factors needing attention and improvement
'Thanks'.concat('for'). concat('your'). concat('attention!')