automated software engineering: what’s missing in education?
DESCRIPTION
Automated Software Engineering: What’s missing in education?. Debra J. Richardson Department of Informatics Donald Bren School of Information and Computer Sciences http://www.ics.uci.edu/~djr/. What is ASE?. - PowerPoint PPT PresentationTRANSCRIPT
Automated Software Engineering:
What’s missing in education?
Debra J. RichardsonDepartment of Informatics
Donald Bren School of Information and Computer Sciences
http://www.ics.uci.edu/~djr/
What is ASE?•ASE is about automating the activities involved in software development, assisting human participants
• human participants remain “in the loop”
• mundane tasks are automated (downstream, accidents)
• not so mundane tasks are assisted (upstream, essential)
ASE TopicsAutomated reasoning techniques Process and workflow management
Automated software specification Program understanding
Automated software design and synthesis Re-engineering
Category and Graph-theoretic approaches Reflection- and Metadata approaches
Component-based systems Requirements engineering
Computer-supported cooperative work Reuse
Configuration management Specification languages
Domain modeling and meta-modeling Software architectures
Formal representations Software design and synthesis
Human computer interaction Software visualization
Knowledge acquisition System integration
Maintenance and evolution Testing
Modeling language semantics Tutoring, help, documentation systems
Ontologies and methodologies User modeling
Open systems development Verification and validation
ASE Essentials• ASE is different in focus from traditional
computer science and also from software engineering
• Aiming for some degree of knowledge-based, software-based assistance for software-intensive system developers
• Requires understanding the work, context, and participants that will be assisted
• Requires human-centered analysis and design
• Software “tools” to mediate work
• Evaluation is critical of conceptual frameworks and tools
Teaching ASE•Computer science doesn’t do it well
•neither do software engineering programs
•what’s needed is CS & SE in context
•both for the purpose of teaching ASE and also to excite students about the topic
challenge = opportunity!
ASE should take this on by contextualizing CS&SE
Crisis in CS/SE Education
•Decreasing enrollments in CS-related fields
•Continuing attrition of good students
•Virtual lack of diversity in participants
•Increasing breadth of computer science
Recruitment and retention is proportionally lower for women&minorities
More likely to seek something socially-relevant and/or people-oriented
Partly it’s an image problem•Low enrollments
due to• dot com crash
• fear of off-shoring
• geek image
• misunderstanding of computer science
• …
•High attrition due to
• boredom with programming
• loss of focus
• appearance of irrelevance
• …
Four issues of context:
two dimensions•Software / Information•Development / Design•Technical / Social•Creation / Study
To be effective, we must teach ASE as a discipline
broader than CS or SE alone
How should we teach ASE?• Novel, engaging,
problem-based, and creativity-oriented integrated & coherent curriculum
• multi-course sequences for depth and continuity
• apply spiral approach (“just-in-time learning”)
• Studio and design courses as well as cap-stone projects
• collaborative, team-oriented assignments,
• practical experiences with realistic, socially relevant projects in a safe educational setting
• showcase of projects done throughout the year, excellent internship preparation
Contextualize and Lead in CS/SE
Education
ASE has a challenge! and an opportunity!
Informatics@UCI:what do we mean?
• Interdisciplinary study of the design, application, use, and impact of information technology
• software but also information
• development but also design
• technical but also social
• synthesis but also analysis
• Broadly speaking: computing and software engineering in context
• inherently inter-disciplinary
• more on designing real-world solutions, less on building infrastructure