COMP 7012: Foundations of Software Engineering

Slides:



Advertisements
Similar presentations
What is a CAT?. Introduction COMPUTER ADAPTIVE TEST + performance task.
Advertisements

Assessment of Undergraduate Programs Neeraj Mittal Department of Computer Science The University of Texas at Dallas.
© Copyright CSAB 2013 Future Directions for the Computing Accreditation Criteria Report from CAC and CSAB Joint Criteria Committee Gayle Yaverbaum Barbara.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
 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.
Guide to the Software Engineering Body of Knowledge Chapter 1 - Introduction.
Foundations of Educating Healthcare Providers
Dr. Tom WayCSC What is Software Engineering? CSC 4700 Software Engineering Lecture 1.
Software Engineering ‘The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and.
1 General Introduction CPRE 416-Software Evolution and Maintenance-Lecture 1.
Chapter 1: Introduction to Project Management
The Guide to the Software Engineering Body of Knowledge
 Introduction Introduction  Contents of the report Contents of the report  Assessment : Objectives OutcomesObjectivesOutcomes  The data :
Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.
Lecture 4. Software Engineering Body of Knowledge SWEBOK  Articulating a body of knowledge is an essential step toward developing a profession because.
Virtual Classroom Economics of Engineering Design Virginia Tech University of Massachusetts General Electric Company National Science Foundation.
Welcome Parents! Computer Science Periods 3 &4 Anthony A. Atwood, M.Ed. Computer Science Teacher Valley Center High School Valley Center-Pauma Unified.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Soft Skills: Where Do We Teach Them in a 4-Year Environment Kathy Winters University of Tennessee, Chattanooga.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Advanced Software Engineering Dr. Cheng
MBA CLASS CONTENT AND TEACHING EFFECTIVENESS
COMP 4081: Software Engineering
Course Overview - Database Systems
OUTCOME BASED EDUCATION
What is a CAT? What is a CAT?.
Math for Mastery Information
Welcome to 7th Grade Integrated Science
COMP/EECE 7012/8012: Foundations of Software Engineering
COMP/EECE 7012/8012: Foundations of Software Engineering
Welcome to Software Engineering!
For more course tutorials visit
Competency Based Learning and Project Based Learning
System Testing Antares Rocket Test Launch ( HQ) System Testing.
Security: Exploits & Countermeasures
Lecture 1 What is Software Engineering? CSC 4700 Software Engineering
COMP 7012: Foundations of Software Engineering
Software Requirements
Khan Academy in the Classroom A Student-Centered Learning Approach

Regents Prep Living Environment.
Software Requirements
Software Engineering Process
The Systems Engineering Context
Mr. Paul Egleston Sun Valley Mathematics Algebra 1B
Math Parent Night September 2016
Notes for helpers Supporting everyone to tell their story
The purposes of grading student work
Department of Computer Science The University of Texas at Dallas
Welcome to COE212: Engineering Programming
EECE 310 Software Engineering
Active Learning A Pedagogic Framework for Bringing Active Learning Into Your Classroom Jason Babcock.
Hard Skills vs. Soft Skills
Welcome to the First-Year Experience!
COMP/EECE 7012: Foundations of Software Engineering
Planning and Estimation.
Software Requirements
Security: Exploits & Countermeasures
Domain Modeling.
Security: Exploits & Countermeasures
Lifelong Learning.
Software Configuration Management.
Team Based Learning A Pedagogic Framework for Bringing Active Learning Into Your Classroom Jason Babcock.
Software Requirements
Welcome to the First-Year Experience!
Software Engineering Process
Human-Centric Software Engineering
Course Outline Network Management Spring 2018 Bahador Bakhshi
Welcome to the First-Year Experience!
OU BATTLECARD: Oracle WebCenter Training
Presentation transcript:

COMP 7012: Foundations of Software Engineering Spring 2019 Dr. Scott Fleming, Instructor Aashis Ghimire, Teaching Assistant http://flic.kr/p/3f1RGT

Questions! What’s an SE project like? What knowledge/skills must SEs master? How will you learn in this course?

Questions! What’s an SE project like? What knowledge/skills must SEs master? How will you learn in this course? Caveat: Every project is an individual

Characteristics of SE Projects Large Scale http://flic.kr/p/sAPm8 Customers http://flic.kr/p/hnrKZ Teams of Developers http://flic.kr/p/83MmEP

What is the measure of a successful software engineering project?

What is the measure of a successful software engineering project? Customer Satisfaction http://flic.kr/p/hnrKZ * OK, effect on society and humanity matters too, but humor me…

What do customers want?

Meets their needs, On time, On budget What do customers want? Software that Meets their needs, On time, and On budget

Unfortunately, satisfying customers is hard… http://flic.kr/p/7pGoCd Have you ever been a dissatisfied customer?

The “Software Crisis” Since the 1960s (More like a depression) (Standish Group) Of 28,000 projects completed in 2000… (Cutter Consortium) 2002 Study: 78% of orgs landed in court

Although stats improving, challenges remain… Recent headlines (Oct 2013–Aug 2014): Tech Problems Plague First Day Of Health Exchange Rollout Health Exchange Tech Problems Point To A Thornier Issue It's Easy To Blame The Canadians For HealthCare.gov Problems Sebelius: Hold Me Accountable For HealthCare.gov Debacle Add Security To The List Of HealthCare.gov Tech Issues Oregon's State Exchange May Be Worse Than HealthCare.gov Could A Tech Giant Build A Better Health Exchange? Maybe Not Official In Charge Of Creating HealthCare.gov Steps Down Giving Up On Its Obamacare Exchange No Cure For Oregon's Ills Oregon Sues Oracle For "Abysmal" Healthcare Website ( ) ( )

Questions! What’s an SE project like? What knowledge/skills must SEs master? How will you learn in this course?

The SWEBOK (pronounced “SWEE-bock”) Software Engineering Body Of Knowledge SWEBOK Guide: http://www.computer.org/web/swebok

So what’s in this SWEBOK anyway? One possible (albeit circular) definition of Software Engineering: Applying SWEBOK to software creation and evolution So what’s in this SWEBOK anyway?

15 Knowledge Areas (KAs) Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process Software Engineering Models and Methods Software Quality Software Engineering Professional Practice Software Engineering Economics Computing Foundations Mathematical Foundations Engineering Foundations

We’ll focus on this subset 15 Knowledge Areas (KAs) Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process Software Engineering Models and Methods Software Quality Software Engineering Professional Practice Software Engineering Economics Computing Foundations Mathematical Foundations Engineering Foundations We’ll focus on this subset

Questions! What’s an SE project like? What knowledge/skills must SEs master? How will you learn in this course?

Levels of Mastery Which will be our focus? Familiarity Usage Understand what concept means “What do you know about this?” Usage Use or apply concept “What do you know how to do?” Assessment Justify selection of concept vs others “Why would you do that?” Which will be our focus? We use three levels of mastery, defined as: ● Familiarity: The student understands what a concept is or what it means. This level of mastery concerns a basic awareness of a concept as opposed to expecting real facility with its application. It provides an answer to the question “What do you know about this?” ● Usage: The student is able to use or apply a concept in a concrete way. Using a concept may include, for example, appropriately using a specific concept in a program, using a particular proof technique, or performing a particular analysis. It provides an answer to the question “What do you know how to do?” ● Assessment: The student is able to consider a concept from multiple viewpoints and/or justify the selection of a particular approach to solve a problem. This level of mastery implies more than using a concept; it involves the ability to select an appropriate approach from understood alternatives. It provides an answer to the question “Why would you do that?” From the ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013)

Levels of Mastery This one! Familiarity Usage Assessment Understand what concept means “What do you know about this?” Usage Use or apply concept “What do you know how to do?” Assessment Justify selection of concept vs others “Why would you do that?” This one! From the ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013)

Practice! Levels of Mastery How do you learn usage? Familiarity Usage Understand what concept means “What do you know about this?” Usage Use or apply concept “What do you know how to do?” Assessment Justify selection of concept vs others “Why would you do that?” How do you learn usage? Practice! From the ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013)

How You’ll Practice Boot Camp Significant software project Team skills Communication skills Project management

What type of software will you build for the project? Web Apps!

Why web apps? Every bit as dynamic and interactive as native apps Avoid deployment problems Reach people world wide http://flic.kr/p/9DTDXi

What programming language(s)? http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018

Most Valuable Skills on Resume (2014)

Course Structure Rails Web App Boot Camp (7 weeks) Team Project Weekly Homework Team Project Initial Planning (2 weeks) Development Iteration 1 (3 weeks) Development Iteration 2 (3 weeks) Pop quizzes throughout Two exams Each project iteration ends with demos

Let’s tour the course syllabus and web pages and see what’s coming up…