Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and.

Slides:



Advertisements
Similar presentations
Innovations in Teaching of Programming languages Milena Stanković Suzana Stojković Ivan Petković Petar Rajković.
Advertisements

Apprenticeship and Workplace Mathematics Meeting the Needs of Today’s Students.
Introduction to Financial Management. Overview of Financial Management Introduction Keys to Success Stay up in class (complete assignments on time each.
Gild Project: Jan 8/2003 CSc 115/160 (S01) Gild: Groupware enabled Integrated Learning and Development for Java.
Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
General information CSE 230 : Introduction to Software Engineering
CIS101 Introduction to Computing Week 01. Agenda Class Introductions What is CIS101? Using your Pace Introduction to Blackboard and online learning.
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Programming Games Using Visual Basic IS660Z Graduate Elective for IS Majors Lecture 1 – 6/2/2004.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
1 Develop a large software with IBM Rational ® Software Engineering Semester Project Chih-Hong Jeng & Farn Wang fall 2006.
Exploring a Model-Oriented and Executable Syntax for UML Attributes SERA 2013SERA 2013 (August 7, 2013 in Prague, Czech Republic) Omar Badreddin, Andrew.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
The Umple Model-Oriented Programming Technology: Easy-to-Use Open-Source Code Generation Code Generation 2013, Cambridge UK Timothy C. Lethbridge, University.
Model-Oriented Programming: Bridging the Model-Code Divide Modeling in Software Engineering (MiSE 2013) Omar Badreddin, Timothy C. Lethbridge University.
Copyright © 2009 On The Edge Software Consulting Advanced Enterprise Java Instructional Plan Presentation Tier Design using an Event Driven Design Methodology.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
CSCI 347 – Data Mining Lecture 01 – Course Overview.
Programming for Interactivity Professor Bill Tomlinson Tuesday & Wednesday 6:00-7:50pm Fall 2005.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Class and Lab Mark K. Reha.
Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa
 Computer Aided Software Engineering  The use of a computer system to aid in the creation of software  Used to reduce the amount of time required for.
GROUP PROJECTS IN SOFTWARE ENGINEERING EDUCATION Jiang Guo Department of Computer Science California State University Los Angeles April 3-4, 2009.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Introduction to Course MMIS 656 Web Design Technologies.
BIO1130 Lab 2 Scientific literature. Laboratory objectives After completing this laboratory, you should be able to: Determine whether a publication can.
Software Specification and Design Sirisin Kongsilp & James Brucker.
Teaching Thermodynamics with Collaborative Learning Larry Caretto Mechanical Engineering Department June 9, 2006.
Welcome to Physics 1D03.
IST359: Introduction to DBMS IST359 Spring 2013 Instructor : Michael Fudge t o.110b Hinds w.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
Model Oriented Programming: An Empirical Study of Comprehension Omar Badreddin Andrew Forward Timothy C. Lethbridge try.umple.org.
Umple Toolkit for Model-Oriented Programming NECSIS Webinar, May Timothy C. Lethbridge, University of Ottawa
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
An Anonymous Approach to Group Based Assessment Wayne Ellis & Mark Ratcliffe University of Wales, Aberystwyth
Lecture 1 Page 1 CS 111 Summer 2013 Introduction CS 111 Operating System Principles Peter Reiher.
Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity SERA 2013SERA 2013 (August 7, 2013 in.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Nov Quality Process for Research Software - Timothy C. Lethbridge Research Software Doesn't Have to be Buggy: A Model-Driven, Test-Driven and Agile.
Applying a Research Prototype Tool in Industrial Practice Ottawa Carleton Institute for Computer Science Umple: a Model Oriented Programming Language University.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
1 CIS101 Introduction to Computing Week 01 Dr. Catherine Dwyer Information Systems.
Unit 2 AS Sociology Research Methods Examination Technique.
Web Fundamentals (HTML and CSS) Course Introduction Svetlin Nakov Technical Trainer Software University
Separation Of Concerns: Mixins + Variability Models + Aspects in Umple CSER – June 2013 – Montreal Timothy C. Lethbridge, University of Ottawa
Blackboard Learn 9.1 © 2010 Blackboard Inc. All rights reserved. Advanced Communication.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Training Presentation Tier Design using an Event Driven.
Welcome to Research Methods!. Does everyone have a syllabus ?
Oct Interchangability in Software Design Notation - Timothy C. Lethbridge Interchangability in software design notation: programs models visual.
Blackboard Learn 9.1 © 2013 Blackboard Inc. All rights reserved. Advanced Communication.
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
CSC207 Fall 2016.
CSc 1302 Principles of Computer Science II
Applying a Research Prototype Tool in Industrial Practice
Exercise The university wants to create a database for teaching. The database needs to contain information about the different courses, the different versions.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Introduction to Programming 2
Computer Programming 1 introduction to JAVA Lecture 1 Instructor: Ruba A. Salamah Islamic University of Gaza.
Accelerated Introduction to Computer Science
Teaching Effective UML Modeling by Combining it with Programming
MyStatLab Student Overview QNT/561
CS Problem Solving and Object Oriented Programming Spring 2019
Timothy C. Lethbridge, Andrew Forward, Omar Badreddin
Presentation transcript:

Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and Omar Badreddin University of Ottawa

Motivation Students and practitioners are not good UML modelers They have many patterns of misconception about —Semantics —What you can do with UML Lack of skill hinders adoption of model driven development —Slows down development in all industries I learned how to teach UML through trial and error, but it requires slow ‘board work’ to do well I needed a faster tool T. Lethbridge CSEE&T 20112

Overview of Umple: A tool set for Model-Oriented Programming A textual language for UML class and state diagrams —Which you can embed in Java, PHP, Ruby —Can reduce code volume by 90% for some types of code State-of the art code generation of top quality code Online tool (Umpleonline at try.umple.org )try.umple.org —Allows editing of the diagram or text Eclipse plugin Open source on Google code code.umple.org T. Lethbridge CSEE&T 20113

Example of textual Umple We will visualize the following in UmpleOnline, then edit the diagram and see the text changingUmpleOnline class Student { Integer id; status { entered { register -> registered; } registered { pay -> paid; } paid {} } class CourseSection { description; 1 -- * Student registrants; } T. Lethbridge CSEE&T 20114

My Classroom Technique When Teaching UML Modeling 45% PowerPoint Slides (as designed for my book) 30% Blackboard work 25% UmpleOnline T. Lethbridge CSEE&T 20115

Use of Umple to Date Used by me for teaching in Second year Introduction to Software Engineering Fourth year Advanced Design Used by other professors including in a graduate course Used in several student projects in various universities Including one of the SCORE finalists here at ICSESCORE Umple is written in itself T. Lethbridge CSEE&T 20116

Key Benefits from Classroom Use of Umple Faster and easier than using the black/white board for UML modeling Textual mode twice as fast as board Graphical editor 25% faster than board Ability to load saved designs to edit Easier to rearrange design Can explore design alternatives then save them for later Ability to umplify, i.e. convert Java code to a model Ability to generate good-quality code for discussion Low footprint: Only requires a browser Although Eclipse version could also be used T. Lethbridge CSEE&T 20117

Sample Student Exercises Using Umple Steps we might ask students to follow: 1.Enter a model graphically 2.Generate code 3.Explain the semantics of UML by studying generated code 4.Enter another model textually 5.Write a main program and test the generated code T. Lethbridge CSEE&T 20118

Student Satisfaction Survey In a Sept-Dec 2010 Course: SEG2105: Introduction to Software Engineering 10 Likert-scale questions —Took five minutes Voluntary: 30 out of 68 students participated No lecture time consumed —Just before start of class On the next two slides, error bars indicate standard deviation T. Lethbridge CSEE&T 20119

Results of survey T. Lethbridge CSEE&T Umple in the classroom helped me understand concepts Umple in the lab helped me understand concepts I will get better grades because of Umple Prof. Lethbridge should use it in future courses As of Dec 2010, Umple is too incomplete or buggy Other tools would have been just as effective I would use Umple in the future, assuming bugs fixed

T. Lethbridge CSEE&T Availability of a textual form for models and diagrams Ability to edit diagram or text & have the other reflect changes Ability to generate code to represent the model

Comparison of Grades Comparison of 4 offerings of the same course before introducing Umple, and 2 offerings afterwards Midterm examination grades on UML modeling question rose from 75.8% to 82.3% 8.6% improvement Final exam grades on UML modeling questions rose from 76.4% to 83.6% 9.4% improvement Highly statistically significant p< on T Test n=332 prior to Umple; n=137 afterwards Similar results in 4 th year course SEG4110 No difference in non-UML questions T. Lethbridge CSEE&T

Threats to Validity Students may have been trying to ‘please the professor’ by giving positive reviews of Umple We think this is unlikely —The survey was anonymous —Students tend to be critical when they want to be Not all students participated Perhaps those who didn’t would have been more negative This is a universal problem with all surveys Exams differed from year to year Perhaps UML questions became easier, by chance Perhaps we are becoming more lenient when marking UML questions T. Lethbridge CSEE&T

Conclusions To help students better understand modeling concepts, we highly recommend: Live modeling in the classroom with an easy-to-use web-based modeling tool such as UmpleOnlineUmpleOnline Showing the results of good-quality code generation so students understand the consequences of modeling decisions Umple has been designed with the above goals in mind Simple web interface Text-based or graphical modeling in UML State-of-the-art, but easy-to-understand generated code for class and state diagrams T. Lethbridge CSEE&T