What Training is Needed by Practicing Engineers Who Create Cyberphysical Systems? Chris Scaffidi Oregon State University (USA)

Slides:



Advertisements
Similar presentations
Chapter 14: Usability testing and field studies
Advertisements

Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Developed by Reneta Barneva, SUNY Fredonia
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
Introduction To System Analysis and Design
Chapter 8 Information Systems Development & Acquisition
Chapter 14: Usability testing and field studies. Usability Testing Emphasizes the property of being usable Key Components –User Pre-Test –User Test –User.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
1 Introduction The Database Environment. 2 Web Links Google General Database Search Database News Access Forums Google Database Books O’Reilly Books Oracle.
Interpret Application Specifications
Information Systems Development and Acquisition Chapter 8 Jessup & Valacich Instructor: Ramesh Sankaranarayanan.
Retrieval Evaluation. Introduction Evaluation of implementations in computer science often is in terms of time and space complexity. With large document.
Chapter 1 Assuming the Role of the Systems Analyst
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Roles of IT Personnel Unit Customer Service This is a facility that helps customers with wide-ranging questions relating to a specific company,
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Software maintenance Managing the processes of system change.
Computer Software in Today’s Classrooms Chapter 4.
Database Environment 1.  Purpose of three-level database architecture.  Contents of external, conceptual, and internal levels.  Purpose of external/conceptual.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Systems Analysis and Design: The Big Picture
IT – DBMS Concepts Relational Database Theory.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Chapter 14: Usability testing and field studies
UML - Development Process 1 Software Development Process Using UML (2)
Tech-Connected Teacher (TC*Teacher)
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Btec National Diploma Level 31 IT Systems Troubleshooting and Repair Identify and select remedies.
Presented By : Abirami Poonkundran.  This paper is a case study on the impact of ◦ Syntactic Dependencies, ◦ Logical Dependencies and ◦ Work Dependencies.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
WHAT IS A SEARCH ENGINE. Widescreen Presentation Proteus, Keeper of Knowledge. Proteus is synonymous with change and success.
COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?
UOS 1 Ontology Based Personalized Search Zhang Tao The University of Seoul.
Introduction To System Analysis and Design
VESL-Career & life planning Career Presentation April 13, 2011 Mt.SAC.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 13 Post-Implementation Training.
The Balance Between Theoretical and Practical Work Within Electrical and Computer Engineering Courses Dr. Bahawodin Baha March Development Partnerships.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Software Architecture
Binxing Jiao et. al (SIGIR ’10) Presenter : Lin, Yi-Jhen Advisor: Dr. Koh. Jia-ling Date: 2011/4/25 VISUAL SUMMARIZATION OF WEB PAGES.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
| 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Facilitating Software Architecting by.
ITGS Databases.
Hands-on Teleoperation TARET Winter School Villach, February 5 –16, 2007 Darko Hercog.
How Useful are Your Comments? Analyzing and Predicting YouTube Comments and Comment Ratings Stefan Siersdorfer, Sergiu Chelaru, Wolfgang Nejdl, Jose San.
Chapter 3: Software Project Management Metrics
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
WEB 2.0 PATTERNS Carolina Marin. Content  Introduction  The Participation-Collaboration Pattern  The Collaborative Tagging Pattern.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
A Classification-based Approach to Question Answering in Discussion Boards Liangjie Hong, Brian D. Davison Lehigh University (SIGIR ’ 09) Speaker: Cho,
Virtual Application Profiler (VAPP) Problem – Increasing hardware complexity – Programmers need to understand interactions between architecture and their.
1 End User Support Introduction Identify and select remedies.
Achieving Semantic Interoperability at the World Bank Designing the Information Architecture and Programmatically Processing Information Denise Bedford.
A code-centric cluster-based approach for searching online support forums for programmers Christopher Scaffidi, Christopher Chambers, Sheela Surisetty.
The Level-2 Projects for Course Clusters Haojun Sun College of Engineering Shantou University.
Parallel Computing Presented by Justin Reschke
GROUP PresentsPresents. WEB CRAWLER A visualization of links in the World Wide Web Software Engineering C Semester Two Massey University - Palmerston.
Software Design and Architecture
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Chapter 1 Assuming the Role of the Systems Analyst.
Ni.com/training LabVIEW Basics I National Instruments N. Mopac Expressway Austin, Texas (512)
The impact of human-centric design on the adoption of information systems: A case study of the spreadsheet Christopher Scaffidi Center for Applied Systems.
Research on Knowledge Element Relation and Knowledge Service for Agricultural Literature Resource Xie nengfu; Sun wei and Zhang xuefu 3rd April 2017.
Athabasca University School of Computing and Information Science
FROM TEACHING TO LEARNING: METHODS and TECHNOLOGIES
Presentation transcript:

What Training is Needed by Practicing Engineers Who Create Cyberphysical Systems? Chris Scaffidi Oregon State University (USA)

Complexity of cyberphysical engineering Digital logic Microcontrollers Sensing Signal processing Standards Control theory Object-oriented design Middleware Circuit design Requirements Specification Teamwork Verification Validation Process & methods Architecture design System modelling Simulation and analysis

Need for education of many forms Traditional undergraduate, Master's degrees Lectures, laboratories, course-centric projects New opportunities for these students, and also for ongoing education of professionals Internships Summer programs Distance-learning programs Online independent learning resources Including forums

Online forums as useful tool for study What problems do practicing engineers ask for help with solving? What topics and what kinds of questions get answered? Where are the opportunities for training efforts? Complementary to other methods for identifying opportunities for improvements to training Give engineers a task, watch where they struggle [5] Interview experts, build consensus [16, 17] Review projects, note training necessary for success [14]

Study of the LabVIEW forums LabVIEW as a lens into experiences of engineers Designed with hardware-software integration in mind E.g.: sensors, analyzing signals, processing video, communicating via the internet, reading and writing databases, and controlling hardware Data obtained May 1999 – Nov ,059 forum threads 79,290 LabVIEW VI (program) attachments Including 22,187 attached to the initial questions

Clustering forum threads Each thread has a question, usually several responses some with attachments maybe including a marked solution. Thread content is summarized as TFIDF vector in N-dimensional space (one dimension per distinct word ever used in the forum).

Clustering forum threads When each thread is represented as vector, those in same cluster have high dot products. They are "in the same direction" or "near one another" in vector space.

Clustering forum threads Analysis to determine… What are people asking? Have topics shifted over time? Are they getting answers? Placed into 100 clusters Manually examined 10 center-most threads from each cluster (1000 total) Assigned each cluster to an overall category 14 overarching categories

What are people asking about?

Examples of what people seek Hardware I/O proportional-integral-derivative/PID controller reading and writing serial port data acquiring multi-channel data User interface fine-tune XY scatter graphs manipulate user interface panels dynamically General algorithm design how to create maintainable code how to do data logging

Changes over time Category Trend Hardware I/O29%22% User interface11% General algorithm design10%11% Specific LabVIEW primitives4%8% Build/deploy4%7% Signal/image/video processing5%7% Version/license/compatibility7%5% LabVIEW control structures4%6% Language interoperability10%4% Coordinating LabVIEW code4%5% File I/O4%5% Non-English2%4% Other6%3% Troubleshooting tool errors1%3%

Are they getting answers? Category Avg. # answer s % un- answered % un- solve d Soln. odds ratio Hardware I/O4.294%88%7 to 1 User interface4.722%83%5 to 1 General algorithm design5.144%86%6 to 1 Specific LabVIEW primitives5.182%79%4 to 1 Build/deploy4.134%86%6 to 1 Signal/image/video processing4.534%86%6 to 1 Version/license/compatibility4.553%86%6 to 1 LabVIEW control structures5.442%80%4 to 1 Language interoperability3.995%90%9 to 1 Coordinating LabVIEW code5.033%83%5 to 1 File I/O4.882%84%5 to 1 Non-English3.415%88%7 to 1 Other4.317%90%9 to 1 Troubleshooting tool errors4.433%88%7 to 1

Which aspects of programmers’ posts affected if they obtained solutions? Logistic regression of existing of solution versus attributes of the programmer's initial post Topic of the question Year posted Question length (characters) # VIs attached to question # Images attached # Other attachments Attached code length (KB) Explicit solution mark only supported from 2009

Which aspects of programmers’ posts affected if they obtained solutions? SignificantOdds impact Topic of the question up to 2.25x higher Year posted Question length # VIs attached to post 1.27x per VI # Images attached 1.10x per image # Other attachments Attached code length 0.65x per MB Overall logistic regression significant at p< ; indicates significant factor at p<0.0001; based on data from ; N=72263

A quick look elsewhere… What other resources address engineers' problems? Used Google to search for content For each of the biggest 3 clusters in top 2 categories Manually reviewed top 5 search results => 2 * 3 * 5 = 30 results Also reviewed examples that ship with LabVIEW Only the base installation (2013) Windows Explorer

Key take-aways Plenty of resources found The tool vendor had resources in every search result list 1/3 rd of resources provided by 3 rd parties Extremely diverse, including code samples, videos, tutorials, and whitepapers LabVIEW included relevant examples for 5 of 6 queries But difficult (for me) to see answers or relationship among the search results No apparent emphasis on code Apparently random mixture of resources Google doesn't organize results (nor do the forums)

Conclusion #1: Code is Key Many topics posed by learners were software- centric, even though hardware was top topic Most topics with highest likelihood of getting answers were software-centric Posting code with a question increased the likelihood of getting a solution Many of the available online training resources are pieces of reusable code

Conclusion #2: Need better help finding & learning from code Not all examples are equally high in quality Google does not sort code by quality… it has no idea Relationships among resource types not obvious E.g., tracing relationships between code and other resources, such as videos and tutorials Relationships among topics not obvious How to tell what topics are "dependencies" of one another that should be mastered in a certain order? Perhaps introduce a scheme of linked case studies?

Thank you! To SEAA for the opportunity to present To National Instruments for funding and permission To you for your attention, questions, ideas