Software Engineering in Computer Science Curricula 2013 (CS2013) Richard LeBlanc Seattle University

Slides:



Advertisements
Similar presentations
Andrew McGettrick The ACM SIG Governing Board Chicago 16 th March, 2012 The Education Board and Education Council – an update on activity.
Advertisements

QAA-HEA Education for Sustainable Development Guidance Document Consultation 5 November 2013, Birmingham Professor James Longhurst Assistant Vice Chancellor.
CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
Standards Alignment A study of alignment between state standards and the ACM K-12 Curriculum.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
CS3773 Software Engineering Lecture 01 Introduction.
A D ISCIPLINARY C OMMONS FOR D ATABASE T EACHING Too many folk to get on slide.
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
1 Copyright © 2010 AQA and its licensors. All rights reserved. Introduction to the new specification GCSE Computer Science Paul Varey.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Cyber Education Project Accreditation Committee November 2014.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 190 Computing in the Modern World CSE Curricula Fall 2014 Marco Valtorta.
© Copyright CSAB 2013 Future Directions for the Computing Accreditation Criteria Report from CAC and CSAB Joint Criteria Committee Gayle Yaverbaum Barbara.
Teaching Software Engineering Through Game Design Kajal ClaypoolMark Claypool UMass LowellWPI.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics William W. White Southern Illinois University Edwardsville.
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
Programming Practicum Day 1: Introduction and Problem Solving Aaron Tan NUS School of Computing.
Mohammad Alshayeb 19 May Agenda Update on Computer Science Program Assessment/Accreditation Work Update on Software Engineering Program Assessment/Accreditation.
Welcome and Overview Richard Anderson University of Washington June 30, 20081IUCEE: Welcome and Overview.
Software Engineering Education Andy Gravell, Feb 2007.
4 August st Century Computing Curricula 1 Richard J. LeBlanc, Jr. Professor, College of Computing Georgia Institute of Tech nology Atlanta, Georgia,
Distinctions Between Computing Disciplines
The Influence of the University/College/Department Mission How your university and department’s missions influence your engineering degree requirements.
CSinParallel Modules and the Topics in the Curriculum 2013 Core Libby Shoop Math, Statistics, and Computer Science Macalester College.
Information Technology
Desired Quality Characteristics in Cloud Application Development Leah Riungu-Kalliosaari.
Parallel and Distributed Computing in CS2013 Mehran Sahami Computer Science Department Stanford University.
Jeanne M. Clerc, Ed.D. Western Illinois University (WIU) October 14, 2011.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
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.
Guide to the Software Engineering Body of Knowledge Chapter 1 - Introduction.
Competence Analysis in the Two-subject Study Program Computer Science Jože Rugelj, Irena Nančovska Šerbec Faculty of Education Univesity of Ljubljana 1Beaver.
Computer Science Curricula 2013 (CS2013)
Learning Unit Documents and Examples. Learning Units - basic building block of a course For iGETT a Learning Unit consists of –Three parts Instructor.
Student Centered Teaching Through Universal Instructional Design Part II.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
 ACM/IEEE-CS Computer Science Curriculum Approximately every decade since “Curriculum ’68” ACM & IEEE-CS jointly publish curricular guidance.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 190 Careers in Computer Science, Computer Engineering, and Computer Information.
Automata, Computability, and Complexity Lecture 1 Section 0.1 Wed, Aug 22, 2007.
Flexible Instructional Space for Teaching Science Courses with emphasis on Inquiry and Collaborative Active Learning Finch-Gray Science Building Lab Renovation.
Spreading Curricular Change in PDC: Some Practical Tools This material is based on work supported by the National Science Foundation under Grant Nos. DUE / /
Update on Computer Science Curriculum 2013 (CS2013) Mehran Sahami Computer Science Department Stanford University
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
Computer Science Curricula 2013 (CS2013) Mehran Sahami Stanford University ACM Education Council – November 2013.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Computing Ontology Part II. So far, We have seen the history of the ACM computing classification system – What have you observed? – What topics from CS2013.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Computer Science Curricula for the Coming Decade Mehran Sahami Computer Science Department Stanford University University Course.
An Introduction to Software Engineering (Chapter 1 from the textbook)
CS Curriculum Changes Fall, BS Computer Science 2015 COMPUTER SCIENCE COURSES—64 Hours COMPUTER SCIENCE CORE (48 Hours) CS 258Intro to Object-Oriented.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Training Presentation Tier Design using an Event Driven.
College of Computer Science, SCU Computer English Lecture 1 Computer Science Yang Ning 1/46.
New Curricula Proposal at FSMN by Miroslav Ćirić & Predrag Krtolica.
Accreditation of study programs at the Faculty of information technologies Tempus SMGR BE ESABIH EU standards for accreditation of study.
New Computer Science Programme at the Department of Informatics Pedro Guerreiro University of Nis, March 24, 2006.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
This Morning’s Discussion Topics Program accreditation Assessment as an aid in accreditation Model curriculum in computer science Certification.
TEMPUS IV MASTS Master curriculum design workshop in Nis Subject Teacher Education Master Programme at University of Belgrade.
Description of a Process for Enhancing Pre-service Programs to Better Prepare General Education Teachers to Teach Students with Disabilities 2016 CEEDAR.
Pierre Bourque, SWEBOK V3.0 Lead Coeditor 29 June 2016 Computer Society Learning Series Webinar Guide to the Software Engineering Body of Knowledge (SWEBOK)
2016 CEEDAR Cross-State Convening
Mastering the Fundamentals of RESTful API Design
CSEC2017 Update: Joint Task Force on Cybersecurity Education Diana Burley, Matt Bishop, and the members of the Joint Task Force.
ACM/IEEE-CS Computer Science Curriculum
Department of Computer Science The University of Texas at Dallas
D10A Metode Penelitian MP-03: Computing Curricula
Presentation transcript:

Software Engineering in Computer Science Curricula 2013 (CS2013) Richard LeBlanc Seattle University

CS2013 Timeline February 2012:Strawman draft (alpha) public release –Includes: Body of Knowledge, Characteristics of Graduates March 2013:Ironman draft (beta) public release –Incorporates feedback on Strawman draft –Includes: Body of Knowledge, Characteristics of Graduates, Curricula and Course Exemplars, Professional Practice, Institutional Challenges June 30, 2013: Comment period for Ironman draft closes Fall 2013: Final report released (general availability)

CS2013 Steering Committee ACM Mehran Sahami, Chair (Stanford) Andrea Danyluk (Williams College) Sally Fincher (Univ. of Kent) Kathleen Fisher (Tufts University) Dan Grossman (Univ. of Washington) Beth Hawthorne (Union County Coll.) Randy Katz (UC Berkeley) Rich LeBlanc (Seattle University) Dave Reed (Creighton) IEEE-CS Steve Roach, Chair (U. of Texas, El Paso) Ernesto Cuadros-Vargas (Universidad Católica San Pablo, Peru) Ronald Dodge (US Military Academy) Robert France (Colorado State) Amruth Kumar (Ramapo College of NJ) Brian Robinson (ABB corporation) Remzi Seker (U. of Arkansas, Little Rock) Alfred Thompson (Microsoft) Member of SE KA Subcommittee: Tony Cowling, University of Sheffield, UK

Knowledge Areas in CS2013 AL - Algorithms and Complexity AR - Architecture and Organization CN - Computational Science DS - Discrete Structures GV - Graphics and Visual Computing HC - Human-Computer Interaction IAS - Information Assurance and Security IM - Information Management IS - Intelligent Systems NC - Networking and Communications OS - Operating Systems PBD - Platform-based Development PD - Parallel and Distributed Computing PL - Programming Languages SDF - Software Development Fundamentals SE - Software Engineering SF - System Fundamentals SP - Social and Professional Issues

Software Development Fundamentals A new "foundational" KA that includes SE topics –Content from old Programming Fundamentals, Software Engineering, and Algorithms and Complexity areas –Identifies foundational (paradigm-independent) concepts and skills (paradigms moved to Programming Languages) –Meant to be covered early –Includes a Knowledge Unit called Development Methods

Topics moved from 2001/2008 SE KA High-level topics under Development Methods: –Program comprehension –Program correctness –Simple refactoring –Modern programming environments –Debugging strategies –Documentation and programming style Greatest emphasis on correctness, including: –specifications –code reviews –several aspects of testing

Curricular Organization (Part 1) Three-tiered classification of Body of Knowledge Units –Core-Tier1: essential topics, all of which are required for any undergraduate CS program –Core-Tier2: important foundational topics, the vast majority (no less than 80%) of which should be in a CS program Still considered “Core” topics – ideally all Tier2 topics would be included in an undergraduate program, if possible Tiering allows for flexibility to locally customize curricula –Elective: additional topics that can be included to complete an undergraduate CS program Covering just “core” material is insufficient for a complete curriculum

Curricular Organization (Part 2) Knowledge Areas are not (necessarily) courses For example, introductory programming course might include: Software Development Fundamentals (key concepts) + Programming Languages (paradigm/language) + Platform (e.g., mobile devices or robots)

Curricular Organization (Part 3) Guidance provided on depth of coverage for learning outcomes in each Knowledge Area –3 levels of depth: Familiarity, Usage, and Assessment –Familiarity: know what it means –Usage: can apply concept (e.g., write the code to use it) –Assessment: can compare/contrast/select appropriate method/strategy for different situations

The Software Engineering Knowledge Area Software engineering is the discipline concerned with the application of theory, knowledge, and practice to effectively and efficiently build reliable software systems that satisfy the requirements of customers and users. This discipline is applicable to small, medium, and large-scale systems… Core Tier-1 hours Core Tier-2 hours Includes electives? SE/Software Processes21Y SE/Software Project Management2Y SE/Tools and Environments2N SE/Requirements Engineering13Y SE/Software Design35Y SE/Software Construction2Y SE/Software Verification and Validation3Y SE/Software Evolution2Y SE. Software Engineering (6 Core-Tier1 hours, 20 Core-Tier2 hours)

Example of Knowledge Unit (Topics) SE/Software Processes [2 Core-Tier1 hour, 1 Core-Tier2 hours] Topics: [Core-Tier1] Systems level considerations, i.e., the interaction of software with its intended environment Introduction to software process models (e.g., waterfall, incremental, agile) Phases of software life-cycles Programming in the large vs. individual programming [Core-Tier2] Applying software process models [Elective] Software quality concepts Process improvement Software process capability maturity models Software process measurements …

Example KU Learning Outcomes [Core-Tier1] 1.Describe how software can interact with and participate in various systems including information management, embedded, process control, and communications systems. [Familiarity] 2.Describe the difference between principles of the waterfall model and models using iterations. [Familiarity] 3.Describe the different practices that are key components of various process model. [Familiarity] 4.Differentiate among the phases of software development. [Familiarity] 5.Describe how programming in the large differs from individual efforts with respect to understanding a large code base, code reading, understanding builds, and understanding context of changes. [Familiarity] [Core-Tier2] 1.Explain the concept of a software life cycle and provide an example, illustrating its phases including the deliverables that are produced. [Familiarity] 2.Compare several common process models with respect to their value for development of particular classes of software systems taking into account issues such as requirement stability, size, and non-functional characteristics. [Usage]

Remaining Concerns and Challenges Are there enough core hours allocated to SE? Is there sufficient emphasis on software change/ working with an existing code base/ open source software? How can we make the SE KA description (or structure) look more friendly to teaching agile processes?

Engaging the Community Website: cs2013.org –Dissemination of drafts (e.g., Strawman report) Opportunities for involvement –Comment on Body of Knowledge –Mapping exemplar courses/curricula to Body of Knowledge –Pedagogic approaches and instructional designs –Share institutional challenges (and solutions to them)

Bounding Size of Curriculum CS2013 Knowledge AreaTier1Tier2 AL-Algorithms and Complexity 199 AR-Architecture and Organization 016 CN-Computational Science 10 DS-Discrete Structures 374 GV-Graphics and Visual Computing 21 HC-Human-Computer Interaction 44 IAS-Security and Information Assurance 26 IM-Information Management 19 IS-Intelligent Systems 010 NC-Networking and Communication 37 OS-Operating Systems 411 PBD-Platform-based Development 00 PD-Parallel and Distributed Computing 510 PL-Programming Languages 820 SDF-Software Development Fundamentals 430 SE-Software Engineering 621 SF-Systems Fundamentals 189 SP-Social and Professional Issues 115 Total Core Hours All Tier1 + All Tier2 Total306 All Tier1 + 90% of Tier2 Total291.8 All Tier1 + 80% of Tier2 Total277.6

Bounding Size of Curriculum CS2013CS2008CC Knowledge AreaTier1Tier2Core LACS AL-Algorithms and Complexity AR-Architecture and Organization CN-Computational Science DS-Discrete Structures GV-Graphics and Visual Computing HC-Human-Computer Interaction IAS-Security and Information Assurance IM-Information Management IS-Intelligent Systems NC-Networking and Communication OS-Operating Systems PBD-Platform-based Development PD-Parallel and Distributed Computing PL-Programming Languages SDF-Software Development Fundamentals SE-Software Engineering SF-Systems Fundamentals SP-Social and Professional Issues Total Core Hours All Tier1 + All Tier2 Total306 All Tier1 + 90% of Tier2 Total291.8 All Tier1 + 80% of Tier2 Total277.6

Course Exemplars Name of Course, Location of Institution, Instructor, Course URL Knowledge Areas that contain topics and learning outcomes covered in the course Where does the course fit in your curriculum? What is covered in the course? (Short description, and/or a concise list of topics) What is the format of the course? (Contact hours? Lecture, lab, discussion?) How are students assessed? (Assignments: number and type, expected workload) Course textbooks and materials Why do you teach the course this way? (Course rationale and goals) Body of Knowledge coverage Additional topics/comments Knowledge AreaTotal Hours of Coverage Name (e.g., Systems Fundamentals (SF))Number KAKnowledge UnitTopics CoveredHours XYFull name of KUNum