Blended learning in Software Engineering Education: the Application Lifecycle Management Experience...

Preview:

Citation preview

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

BLENDED LEARNING IN SOFTWARE ENGINEERING EDUCATION:

THE APPLICATION LIFECYCLE MANAGEMENT EXPERIENCE WITH

COMPUTER-SUPPORTED COLLABORATIVE LEARNING

Alexey Neznanov, Olga Maksimenkova

National Research University Higher School of EconomicsMoscow, Russian Federation

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

CollaborationHistory, actual meaning and challenges

2

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Features of collaboration

• Role-based collaborating leads to civilization

• Adequate collaboration involves synergy

• Collaboration consolidate and save resources

3

In this presentation we do not touch standard topics of collaboration in education. Detailed literature review can be easily find the full text.

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

The history of electronic collaborative technologies

• Late 1970s: Term “collaborative” in the context of electronic tools for teamwork was first used by famouse Douglas Engelbart at Augmentation Research Center

• See D. Engelbart, Collaboration Support Provisions in Augment, Proceedings of the 1984 AFIPS Office Automation Conference, Los Angeles, 1984.

• Early 1990s: Routine collaborative technologies in lots of areas quickly grew their popularity and began wide spreading with local area networks and Internet

• Late 2000s One of the last additions to this spread is “collaborative manufacturing” in context of so called “third industrial revolution”

• (http://www.economist.com/node/21552902)

4

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

The price of collaboration• Dependency on global telecommunication infrastructure

(Internet)

• Overheads of telecommunication acts

• Increasing data flows

• Increasing the value of responsibility

• Privacy?

5

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Four levels of modern collaborative tools

1. Informing tools like news feeds and blogsThis class of tools focuses on conveying the news to the audience

2. Real-time communicating tools like chats, pagers and messengersThis class of tools supports personal communication of two or several people in form of text messages, audio and video

3. Discussing tools like Internet groups and forumsThis class of tools attend to structured longitude multiuser conversation with full history tracking and search ability

4. Co-authoring tools like collaborative editorsThis class of tools focuses on multiuser creating of some artefacts: UI mockup, source code, etc.

6

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Collaborative platform

• Collaborative platform is a toolset that supports different types of artefacts and the different roles of participants of teamwork

• Such platforms necessarily support organizational tasks on some level of complexity:

• From simple scheduling component up to project management system of full value

• Actually, we do not need consider any other technological basis to collaborative tools except the Internet

• This describes by that Internet (as global telecommunication network) form is a key infrastructure for almost all collaborative tools since 2000s

7

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Software engineering best practicesLifecycle management, configuration management, etc.

8

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Industry standards and guidelines

• Guide to the Systems Engineering Body of Knowledge (SEBoK) v. 1.4, 2015

• (http://sebokwiki.org/wiki/Guide_to_the_Systems_Engineering_Body_of_Knowledge_(SEBoK))

• IEEE Computer Society, Guide to the Software Engineering Body of Knowledge, Version 3.0, P. Bourque and R. Fairley, Eds., 2014

• (http://www.computer.org/web/swebok)

• ITIL (IT Infrastructure Library) + ITSM (IT Service Management)• (http://www.itil-officialsite.com)

• ITIL is the most widely accepted approach to IT service management in the world

9

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-2110

From “On the Nature of Roles in Software Engineering”(http://www.slideshare.net/SridharChimalakonda/chase-20141)

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Configuration management process –collaboration background

• Configuration management • is a systems engineering process for establishing and

maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life

• is the detailed recording and updating of information that describes an enterprise's hardware and software

• (http://www.sei.cmu.edu/productlines/frame_report/config.man.htm)

• Basic component for student –codebase versioning system

11

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Modern software engineering • Late 1980s – after so called “Software Crisis” of 1970s

• SE central concept – Application Life Cycle Management• It is treated simultaneously as methodology and technological

framework based on specific Software Development Life Cycle(SDLC) Model

• SDLC is also an abbreviation of a broader term System Development Life Cycle whose extent includes many other phases and approaches

• There are a plenty of SDLC models in SE• From the naive Waterfall model up to Agile Development

12

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Microsoft Solution Framework

13

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Classical view of CASE tools

14

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Specific SE artifacts• Source code (with syntax highlighting and folding)

• Design diagrams (of ER Models, UML, BPMN, etc.)

• Datasets in popular formats (CSV, XML, JSON, etc.)

• API description (WSDL, JSON Schema, etc.)

• References to changesets (with “diffs” and changes history)

• Tickets in bug tracking and feature requesting systems

• …

15

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Characteristics of industry leading SE collaborative platform

• Supporting concrete SDLC or a set of SDLCs

• Supporting majority of the roles in ALM (system analyst, business analysts, project manager, team leader, software developers, etc.)

• Supporting most of the processes in ALM, including:• Primary (development, operation, and maintenance of software)• Supporting (configuration management, quality assurance, verification and

validation)• Organizational (training, process measurement analysis, infrastructure

management, portfolio and reuse management, organizational process improvement, management of software life cycle models)

• Optional cross-project (reuse, software product line and domain engineering)

• Ability to integrate smoothly with other ALM products

• High durability and scalability

16

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Learning outcomesWhat the output will be?

17

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

What about SE education?

• Software engineering education (SEE) has good foundation

• ACM/IEEE-CS Joint Task Force on Computing Curricula, "Software Engineering Curricula 2004," 2004

• (http://sites.computer.org/ccse/SE2004Volume.pdf)

• Bachelor of software engineer will • know …

• be able to collect the users’ requirements

• be able to use professional collaborative tools

• …

18

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Educational practiceOur experience

19

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

First-year undergraduates• What do we have at the very beginning?

• “Gods” & “Newbies” problem

But even “Gods” are not SE craftsman

• How to start collaboration in software development?• Learn a tool (e.g. IDE, CVS)

• Give students supportive materials

• Try to support teaching & learning processes through ALM systems

• Use and combine educational approaches (4C-ID, blended learning, collaborative learning, formative assessment, etc.)

20

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

What do we actually do?

• Brief assessment (10-15 min)

• Individual home assignment (module 2)

• New types of in-class training tasks

21

2014-2015 academic year

Formative assessment (programming assignment)

Summative assessment (programming assignment)

Feedback

Summative tests

Solutions examples

In-class self training tasksЗадания для работы в классе

Home self training tasks

Supportive information

etc.

2007-2014

First year SE undergraduates “Programming” course, FCS, NRU HSECourse supervisor: prof. Vadim Podbelskiy

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Fourth-year undergraduates• Special-purpose courses like “Distributed Systems”,

“System Programming”, “Human-Computer Interaction”• Additional skills training

• A lot of materials

• Teamwork and role management

• What we actually do?• Group collaboration

• Support many types of SE artifacts

• Simulate full artifact lifecycle

22

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Collaborative tools in classesWhat do we use in practice?

23

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Cases and solutions• How to select main collaborative platform and additional

tools?

SE specific ↔ Universal• Additional criteria

• Source code and dataset decoration

• Versioning

• Interpretation of diagrams

• Access to other SE tools

• …

24

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Simplified semantic text markup

• Wiki• Mediawiki (https://www.mediawiki.org)• Wikipedia (https://www.wikipedia.org)

• MarkDown• http://vstarkov.ru/markdown-basics

• MarkDown tools• StackEdit (https://stackedit.io)• GitBook (http://gitbook.com) (http://gitbooks.io)

• Format converters• PanDoc – a universal document converter (http://pandoc.org)

25

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

TeX (LaTeX) tools• Overleaf (https://www.overleaf.com)

• Authorea – for scientists (https://www.authorea.com)• http://drclimate.wordpress.com/2014/04/20/authorea-the-

future-of-scientific-writing

• Papeeria (http://papeeria.com)

• ShareLatex (https://www.sharelatex.com)

26

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Bibliography and references• Mendeley: Your research, anywhere.

(https://www.mendeley.com)• One of the most popular reference manager + social services

• ColWiz: Reference management – simplified (https://www.colwiz.com)

• Citavi (http://www.citavi.com)

• ...

27

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Microsoft collaborative platform – Office 365

• New slogan: Collaborate with Office Online!

28

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Microsoft Office 365 Education• Universal active collaborative platform prepared for

educational organizations

• Office 365 now offers seamless integration with educational open source software (https://blogs.office.com/2015/07/02/office-365-now-offers-seamless-integration-with-educational-open-source-software)

29

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Office 365 Education – Welcome screen

30

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Office 365 Education – Applications

31

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Office 365 Education –Cloud storage

• http://onedrive.live.com

• Office 365 and Office 2010+ integration

• «Live.com» services integration

• Integrated Skype

• Full Support of OneNote, Word, Excel, PowerPoint file formats

• Versioning of documents

• Batch upload/download

32

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Other cloud storages• DropBox (https://www.dropbox.com)

• Google Drive (https://www.google.com/intl/en_en/drive)

• In Russia we also use:• Яндекс Диск (https://disk.yandex.ru)

33

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Class Notebook – Main actions

34

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Microsoft OneNote• Masterpiece of information organization software by

Microsoft (https://www.onenote.com)• Any device, any OS, any data!

• This is why OneNote is awesome (http://www.thomasmaurer.ch/2014/02/this-is-why-onenote-is-awesome)

• OneNote Tips (http://www.onenote-tips.com)

• OneNote Addins• One of the best addin – Onetastic (http://omeratay.com/onetastic)

• You can mention Evernote (https://evernote.com)• We can discuss its drawbacks as collaborative space…

35

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

OneNote in education• OneNote for Teachers (http://onenoteforteachers.com)

• Using Microsoft OneNote in the Classroom (http://www.teachercast.net/microsoft-onenote)

• Moodle Versus OneNote Part 2 of 2 (http://eblog.stac.school.nz/tag/moodle-versus-onenote)

• Microsoft Educator Network - OneNote(https://www.educatornetwork.com/Resources/Tools/Details/a5c463e4-30af-4dd7-bdc0-2e1ea4a556e2)

• OneNote in Education (https://blogs.office.com/onenote/education)

• OneNote Class Notebook Creator – system of collaborative framework for schools and universities on top of OneNote

• Application - OneNote Class Notebook Creator (https://store.office.com/onenote-class-notebook-creator-WA104371260.aspx)

• Collaborating in the classroom with the OneNote Class Notebook Creator (http://onenoteforteachers.com/en-us/Guides/Collaborating%20in%20the%20classroom%20with%20the%20OneNote%20Class%20Notebook%20Creator)

• Getting Started with the OneNote Class Notebook: A Walkthrough for Teachers (https://support.office.com/en-us/article/Getting-Started-with-the-OneNote-Class-Notebook-A-Walkthrough-for-Teachers-28666b8e-b0ae-48fe-b001-1874f5f6db58?ui=en-US&rs=en-US&ad=US)

36

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Class Notebook – Preview of new notebook

37

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Class Notebook – Add students

38

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Class Notebook – Native UI example

39

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Workgroup management• Trello (https://trello.com)

• The free, flexible, and visual way to organize anything with anyone

• Doodle (http://doodle.com)• Simplifies scheduling

40

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Example of Trello Board interface

41

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Software Engineering online collaborative services

• Microsoft Visual Studio Online (https://www.visualstudio.com/en-us/products/what-is-visual-studio-online-vs.aspx)

• [free] Collabedit – is an online code editor (http://collabedit.com)

• Codeanywhere (https://codeanywhere.com)• CODEBUNK (http://codebunk.com)• jsFiddle (https://jsfiddle.net)

• Code interviews: Codassium – Interview developers remotely (https://codassium.com)

42

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Visual Studio Online – Code editor

43

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Visual Studio Online – Discussion room

44

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Complete SEE collaborative solutions

• Open source solution: • Edgewall Software TRAC (http://trac.edgewall.org) with plugins• Git (http://git-scm.com) or Mercurial (https://mercurial.selenic.com)• Any modern programming IDE (for example, Eclipse, but other good

choice is educational edition of JetBrains IDE like IntelliJ IDEA or PyCharm)

• Proprietary solution: • Microsoft Foundation Server (https://www.visualstudio.com/en-

us/products/tfs-overview-vs.aspx)• Microsoft SharePoint (https://products.office.com/en-

us/SharePoint/sharepoint-2013-overview-collaboration-software-features) withadditional Web Parts

• Microsoft Visual Studio (http://www.visualstudio.com/explore/app-lifecycle-management-vs)

45

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

What else?Collaborative systems for the different forms of teaching and learning

46

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Trinket platform

• [free] Trinket (https://trinket.io)• Code is Your Canvas!

• Any code fragment (so called trinket) can be shared

• Any trinket can be inherited from other trinket

• Any trinket has unique link

• Any trinket can be embedded into some web-page

• User can run any trinket just in web browser

• Code is not only programming language text!• Example -

47

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Trinket example – Python program

48

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Trinket example – Music trinket

49

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Coggle platform• Collaborative mind map editor (https://coggle.it)

• Extremely easy to engage!

• Support:• Sharing based on google accounts and any other e-mail

• Creating and linking sub-maps

• Markdown syntax

• MathJax and Latex formulas

• Import/Export maps

• Rendering maps as png and pdf files

50

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Coogle.io – Account page

51

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Coggle.io – Example of map editing

52The paper is coming soon…

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Conclusion• Educational collaborative software for SEE should meet

requirements of the configuration management systems and ALM methodology

• SWEBoK has been established a common framework for such SE requirements and provide an opportunity to use ontology modelling in educational tasks

• There is a gap between needs of SEE and common teaching and learning activities (e.g. Authorea, Zotero, GitBook, PanDoc)

• It is seems to be strange because there are the plenty of mature solutions with different forms of collaboration between deferent roles in software life cycle management (ALM, etc.)

• Communication subsystems (e.g., chats, forums, blogs) of SEE framework should support all mentioned SE artefact types with adequate decoration and have to provide formative feedback abilities

• Different stages of SEE require different abilities which can be achieved in the context of some collaborative platform

53

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Thank you for your attention

54

© A.A. Neznanov & O.V. Maximenkova – WEEF 2015, Florence, 2015-09-21

Feel free in contact us!• Alexey Neznanov

• School of Data Analysis and Artificial Intelligence, Faculty of Computer Science, NRU HSE, Moscow, Russia

• E-mail: aneznanov@hse.ru

• Site: http://hse.ru/staff/aneznanov

• Olga Maximenkova• School of Software Engineering,

Faculty of Computer Science, NRU HSE, Moscow, Russia

• E-mail: omaksimenkova@hse.ru

• Site: http://hse.ru/staff/maksimenkova

• Blog: http://stoptoscale.blogspot.ru (RU)

55

Recommended