January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Spring 2014 Instructor:

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Advertisements

September 2, 2014Computer Vision Lecture 1: Human Vision 1 Welcome to CS 675 – Computer Vision Fall 2014 Instructor: Marc Pomplun Instructor: Marc Pomplun.
Fall 2002CMSC Discrete Structures1 Welcome to CMSC 203 – Discrete Structures Fall 2002 Instructor: Paul Artola Instructor: Paul Artola.
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
September 7, 2010Neural Networks Lecture 1: Motivation & History 1 Welcome to CS 672 – Neural Networks Fall 2010 Instructor: Marc Pomplun Instructor: Marc.
IT 240 Intro to Desktop Databases Introduction. About this course Design a database: Entity Relation (ER) modeling and normalization techniques Create.
September 8, 2009Introduction to Cognitive Science Lecture 1: Introduction and Preliminaries 1 Happy New Semester and Welcome to Intro to Cognitive Science!
General information CSE 230 : Introduction to Software Engineering
1 CS 491z / CS 791z Topics on Software Engineering Spring 2004 Course Syllabus January 21, 2004.
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
Systems Analysis and Design for Electronic Commerce, Networked Business Processes, and Virtual Enterprises Walt Scacchi, Ph.D. GSM 271 and FEMBA 271 Spring.
Course Syllabus January 24, 2012 CS 426/CPE 426 Senior Projects in Computer Science/Computer Engineering University of Nevada, Reno Department of Computer.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Feb. 27, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #13 Tuesday, Feb. 27, 2001.
1 / 16 CS 790z Seminar on Software Engineering Spring 2003 Syllabus Details January 23, 2003.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
 Dr. Natheer Khasawneh. Visual Programming CPE 411 Dr. Natheer Khasawneh Jordan University of Science and Technology.
Welcome to CS/MATH 320L – Applied Discrete Mathematics Spring 2015
Computer Network Fundamentals CNT4007C
SYSC System Analysis and Design 1 Part I – Introduction.
March 13, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #15 Tuesday, March 13, 2001.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Prof. Barbara Bernal NEW Office in J 126 Office Hours: M 4pm - 5:30 PM Class Lecture: M 6 PM - 8:30 in J133 Weekly Web Lecture between Tuesday to Sunday.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
ICS104 Computer Programming Second Semester 2012/2013 ICS1041 Tuwailaa Alshammari College of Computer Science & Engineering University.
September 8, 2009Theory of Computation Lecture 1: Introduction and Preliminaries 1 Welcome to CS 620 – Theory of Computation Fall 2009 Instructor: Marc.
1 Introduction to Software Engineering Lecture 1.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
IST 210: Organization of Data
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
CGMB324: MULTIMEDIA SYSTEM DESIGN
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
September 3, 2013Computer Vision Lecture 1: Human Vision 1 Welcome to CS 675 – Computer Vision Fall 2013 Instructor: Marc Pomplun Instructor: Marc Pomplun.
SYSC System Analysis and Design 1 Part I – Introduction.
Computer Networks CNT5106C
Introduction: What is AI? CMSC Introduction to Artificial Intelligence January 3, 2002.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Introduction: What is AI? CMSC Introduction to Artificial Intelligence January 7, 2003.
1 Sobah Abbas Petersen Adjunct Associate Professor, NTNU Researcher, Sintef TDT4252 Modelling of Information Systems Advanced Course TDT4252,
COP st Lecture August 29, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
ICS 151 Digital Logic Design Spring 2004 Administrative Issues.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
1 CS 491z / CS 791z Seminar on Software Engineering Spring 2006 Course Syllabus January 24, 2006.
Course Outline Three Themes for the course: Theme 1: Starting a Research Design and setting it up Theme 2: in-depth lectures on the most common research.
September 6, 2016CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Fall 2016 Instructor:
Computer Network Fundamentals CNT4007C
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Computer Networks CNT5106C
Object-Oriented Software Engineering Using UML, Patterns, and Java,
It’s called “wifi”! Source: Somewhere on the Internet!
Welcome to CMSC 203 – Discrete Structures Spring 2003
Welcome to CS 675 – Computer Vision Spring 2018
Chapter 1, Introduction to Software Engineering
Welcome to CS220/MATH 320 – Applied Discrete Mathematics Fall 2018
Welcome to CS 410 – Introduction to Software Engineering Spring 2019
Computer Networks CNT5106C
Homework Reading Machine Projects Labs
Welcome to CS 620 – Theory of Computation Spring 2019
Course Introduction Data Visualization & Exploration – COMPSCI 590
Presentation transcript:

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Spring 2014 Instructor: Marc Pomplun Instructor: Marc Pomplun

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 2 Instructor – Marc Pomplun Office:S Lab:S Office Hours: Tuesdays 4:30pm – 5:30pm Thursdays 6:45pm – 8:45pm Phone: (office) (lab) Website:

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 3 The Visual Attention Lab Eye movement research

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 4 The new EyeLink-2K System

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 5 Example: Distribution of Visual Attention

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 6 Selectivity in Complex Scenes

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 7 Selectivity in Complex Scenes

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 8 Selectivity in Complex Scenes

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 9 Selectivity in Complex Scenes

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 10 Selectivity in Complex Scenes

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 11 Selectivity in Complex Scenes

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 12 Modeling of Brain Functions

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 13 Modeling of Brain Functions unit and connection in the interpretive network unit and connection in the gating network unit and connection in the top-down bias network layer l +1 layer l -1 layer l

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 14 Computer Vision:

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 15 Human-Computer Interfaces:

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 16 Now back to CS 410: Textbook (available at the UMB Bookstore): C++ programming with design patterns revealed. By Thomasz Müldner. Addison-Wesley, ISBN Course materials on the Web: (contains all kinds of course information and also my slides in PPT and PDF formats, updated after each session)

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 17 Mailing List Please use the ‘apply’ command on the UNIX system to register for our mailing list (CS410, section 1). I expect everyone to be on the list, because I will use it to make announcements. Also, I would like to encourage you to use the list for discussion. If you have a question that you think is important for many students in the course, please send it to the list at and I will respond to the list. Send all other questions to me. For these questions, I will send my reply only to you. me

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 18 Your Evaluation 3 sets of exercises each set 3.33% 10% (only individual submissions allowed)3 sets of exercises each set 3.33% 10% (only individual submissions allowed) software project 40% (groups of 3 or 4 students)software project 40% (groups of 3 or 4 students) midterm (1.5 hours) 20%midterm (1.5 hours) 20% final exam (2.5 hours) 30%final exam (2.5 hours) 30%

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 19 Grading  95%: A  90%: A-  74%: C+  70%: C  66%: C-  86%: B+  82%: B  78%: B-  62%: D+  56%: D  50%: D-  50%: F For the assignments, exams and your course grade, the following scheme will be used to convert percentages into letter grades:

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 20 Complaints about Grading If you think that the grading of your assignment or exam was unfair, write down your complaint (handwriting is OK), write down your complaint (handwriting is OK), attach it to the assignment or exam, attach it to the assignment or exam, and give it to me or put it in my mailbox. and give it to me or put it in my mailbox. I will re-grade the whole exam/assignment and return it to you in class.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 21 Software Engineering 1968: Conference on ‘software crisis’.1968: Conference on ‘software crisis’. Delivery of software was sometimes years late.Delivery of software was sometimes years late. Its cost was often much higher than predicted.Its cost was often much higher than predicted. Many programs were unreliable.Many programs were unreliable. Maintenance of software tended to be difficult.Maintenance of software tended to be difficult. The software often poorly performed the task for which it was designed.The software often poorly performed the task for which it was designed.  The term ‘software engineering’ was coined.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 22 Questions about Software Engineering Q: What is software engineering? A: Software engineering is an engineering discipline which is concerned with all aspects of software production, for example, software specification, development, validation and evolution. Q: What is the difference between software engineering and computer science? A: Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 23 Problems: Complexity and Change Complexity: Software systems can include a huge number of functions and components.Software systems can include a huge number of functions and components. Many participants with usually different backgrounds participate in the development of software systems.Many participants with usually different backgrounds participate in the development of software systems. Often no single person can understand the whole system.Often no single person can understand the whole system. Sometimes systems become so hard to understand that they are never finished: ‘vaporware’.Sometimes systems become so hard to understand that they are never finished: ‘vaporware’.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 24 Problems: Complexity and Change Change: Requirements are updated when errors are discovered and when developers get a better understanding of the application.Requirements are updated when errors are discovered and when developers get a better understanding of the application. Long-term projects involve high staff-turnaround.Long-term projects involve high staff-turnaround. Often, important technological changes occur during the development of a software system.Often, important technological changes occur during the development of a software system. The client’s needs may change during the development process.The client’s needs may change during the development process.  It is impossible to specify a static set of requirements.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 25 Aspects of Software Engineering Modeling: Focusing on the relevant parts of the system and ignoring everything else.Modeling: Focusing on the relevant parts of the system and ignoring everything else. Problem solving: Using models to find an acceptable – not necessarily an optimal – solution (“engineering = making things work”).Problem solving: Using models to find an acceptable – not necessarily an optimal – solution (“engineering = making things work”). Knowledge acquisition: Gaining sufficient knowledge about the problem domain and formalizing it to build a model.Knowledge acquisition: Gaining sufficient knowledge about the problem domain and formalizing it to build a model. Rationale-driven development: Capturing the context in which decisions were made and representing it as a set of issue models.Rationale-driven development: Capturing the context in which decisions were made and representing it as a set of issue models.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 26 Software Engineering Concepts The following definitions follow those of the IEEE Standards on Software Engineering. A project is composed of a number of activities. Each activity is in turn composed of a number of tasks. A task consumes resources and produces a work product. A work product can either be a system, a model, or a document. Resources are either participants, time, or equipment.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 27 Software Engineering Concepts All persons involved in a project (developers, project manager, client, end users, etc.) are referred to as participants. A role is a set of responsibilities in the project or the system. A role is associated with a set of tasks and is assigned to a participant. The same participant can fill multiple roles. The term system refers to the underlying reality, and the term model refers to any abstraction of the reality.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 28 Software Engineering Concepts A work product is an artifact that is produced during the development, such as a document or a piece of software. A work product for the project’s internal consumption is called an internal work product, while a work product for a client is called a deliverable. An activity is a set of tasks that is performed toward a specific purpose, for example, delivery. Activities are also called phases. A task represents an atomic unit of work that can be managed.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 29 Software Engineering Concepts Resources such as time, equipment, and labor, are assets that are used to accomplish work. The project manager breaks down the work into tasks and assigns them to resources. A goal is a high-level principle that is used to guide the project. Goals define the attributes of a system that are important. A functional requirement is an area of functionality that the system must support, whereas a nonfunctional requirement is a constraint on the operation of the system.

January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 30 Software Engineering Concepts A notation is a graphical or textual set of rules for representing a model. In this course, we will use UML (Unified Modeling Language) to represent models. A method is a repeatable technique for solving a problem. A methodology is a collection of methods for solving a class of problems.