Lecture 1-1 Emily Navarro

Slides:



Advertisements
Similar presentations
Team Software Project - Ebnenasir - Spring CS 3141: Team Software Project - Introduction Ali Ebnenasir Department of Computer Science Michigan Technological.
Advertisements

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 ICS 52 Introduction to Software Engineering Lecture.
EG1003: Introduction to Engineering and Design EG1003 Overview.
MATH 331: Partial Differential Equations Spring 2015.
Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
General information CSE 230 : Introduction to Software Engineering
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 ICS 52 Introduction to Software Engineering Lecture.
CS – 600 Introduction to Computer Science Prof. Angela Guercio Spring 2008.
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
MATH 330: Ordinary Differential Equations Fall 2014.
Informatics 43 – October 2, 2014 Lecture 0-1 Emily Navarro.
Software Engineering Course Instructor: Aisha Azeem.
A Brief Calculus Course
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
Medical Law and Bioethics
Introduction to MA Day 1. Name: Charlotte Bailey Office: MATH 802 Office Phone: (765)
COMP 465W: Software Engineering Fall Components of the Course The three main components of this course are: The study of software engineering as.
Introduction to MA Introduction to Calculus
EECE 310 Software Engineering Lecture 0: Course Orientation.
MGS 351 Introduction to Management Information Systems
Syllabus and Class Policies MATH 130: Summer 2014.
WEEK-1 PRINCIPLES OF MANAGEMENT BUSN 107, Özge Can.
Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro.
Course Introduction Software Engineering
ECEN 301Discussion #1 – Syllabus1 All Sections MWF 1:00 – 1:50 PM 256 CB Lecture: MW Recitation: F Labs: M or Th Instructor: Prof. David Long Office: CB.
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.
COMP 465W Software Engineering Fall Components of the Course The three main components of this course are: The study of software engineering as.
CSCE 1040 Computer Science 2 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Physics For Engineers and Scientists II Principles of Electricity and Magnetism Dr. Jeffrey B. Bindell Fall 2006.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
ICS 6B Boolean Logic and Algebra Fall 2015
ECE 1100: Introduction to Electrical and Computer Engineering Wanda Wosik Associate Professor, ECE Dept. Notes 1 Spring 2011 Slides adapted from lectures.
[CS-225: Software Engineering] Course Guide Fatima Khan Prince Sultan University, College for Women.
ICS 6B Boolean Algebra and Logic Winter 2015
Course Information Sarah Diesburg Operating Systems COP 4610.
Econ 3320 Managerial Economics (Fall 2015)
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Math 115b Section 3 (Spring 09)  Instructor: Kerima Ratnayaka   Phone :  Office.
+ Introduction to Class IST210 Class Lecture. + Course Objectives Understand the importance of data, databases, and database management Design and implement.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Econ 110 Principles of Microeconomics Welcome!. Dr. Anwar Al-Shriaan Economics Department Office hours: Monday and Wednesday 10:00 – 10:50 am and by appt.
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
INF 117 Project in Software Engineering Lecture Notes -Winter Quarter, 2008 Michele Rousseau Set 1.
Evaluation & Assessment 10/31/06 10/31/06. Typical Point Breakdown COURSE GRADES: Grades will be assigned on the basis of 450 points, distributed as follows:
ACIS 3504 Accounting Systems and Controls. 2 Dr. Linda Wallace  Office: Pamplin 3092  
Welcome to PHY2049 Physics for Engineers and Scientists II Dr. Bindell.
CIS 842: Specification and Verification of Reactive Systems Lecture ADM: Course Administration Copyright , Matt Dwyer, John Hatcliff, Robby. The.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Electronic Drafting DFT 58A&B Cliff Monroe - Instructor.
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
King Saud University1 CSC 112 Java Programming I Introduction.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
AMS102 Elements in Statistics Prof. Kenny Ye Office: Math Phone: Office Hours: TuTh 3:30-4:30.
CSE 1340 Introduction to Computing Concepts Class 1 ~ Intro.
Welcome to Accounting II Professor Kris Friestad Unit 1 Seminar.
LISA A. TOBLER, M.S. Introduction to Psychology PS124 Seminar #1.
ICS 6D Discrete Math for Computer Science Spring 2016.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Syllabus and Class Policies MATH 130: Summer 2016.
Informatics 43 – March 29, Course Staff Prof. Dan Frost TA Tanooj Parekh (10:00 and 3:00 discussions) TA Ashwin Achar (11:00 and 12:00 discussions)
ICS 6D Discrete Mathematics for Computer Science Fall 2014
MATH/COMP 340: Numerical Analysis I
Course Information Mark Stanovich Principles of Operating Systems
EG 1003 Overview.
Syllabus and Class Policies
Lecture 1a- Introduction
Presentation transcript:

Lecture 1-1 Emily Navarro Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro

Today’s Lecture Course introduction Getting to know each other Introduction to software engineering Software is everywhere What is software engineering?

Today’s Lecture Course introduction Getting to know each other Introduction to software engineering Software is everywhere What is software engineering?

Course Basics Course: Informatics 43 – Introduction to Software Engineering Professor: Emily Navarro (emilyo@uci.edu) Lecture: T Th 5-6:20pm, EH 1200 Discussion: Fridays Starting in week 2 Course Website: http://www.ics.uci.edu/~emilyo/teaching/info43s2015/index.html

Teaching Staff Professor: Emily Navarro TAs Readers Swanand Pethe Anirudh Sethi Readers Isley Gao Cassie Jeansonne

Course Basics (II) My office hours TA office hours Tuesdays 3:45-4:45 DBH 5221 TA office hours TBD Questions and announcements Piazza (https://piazza.com/uci/spring2015/in4matx43) Email or in class Class email list Required textbook Tsui, Karam, Bernal, "Essentials of Software Engineering," Third Edition

Quizzes 6 quizzes, most Thursdays (see schedule) Usually held from 6:05-6:20 Additional quizzes may be given without prior notice, and the time and length of the quizzes may change Quiz answers will be given orally, in class, each Tuesday after a quiz

Grading (I) Quizzes: 11% (total for all quizzes; each student's lowest quiz score will be dropped) Midterm: 25% Final: 25% Three homeworks: 36% (12% each) Class attendance and participation: 3% Submitting the EEE course evaluation: 0.5% extra credit

Grading (II) Performed by TA/reader and professor Resolve disagreements with the TA/reader first Keep up with the gradebook Do not come to me after the quarter is over with a discrepancy—it will be too late

Cheating DON’T DO IT!! Plagiarism = presenting someone else’s work as your own All assignments are checked thoroughly for plagiarism Looking at someone else’s paper during a quiz/test will be interpreted as cheating Plagiarism/cheating consequences Fail the course Offense recorded with Student Affairs

Late Work Late work will not be accepted Truly extenuating circumstances will be evaluated on a case-by-case basis Must provide official documentation (e.g., doctor’s note) Exceptions only granted by the professor Contact professor as soon as possible Contact professor with valid reasons

Questions When in doubt E-mail questions ask the TA (or reader) ask the professor(s) E-mail questions answers are (generally) copied to everybody

Rules for Success in Info 43 (I) Attend every lecture Take notes Many quiz and test questions will be drawn from lecture material Attend every discussion It is your responsibility to make sure you sign the roll sheet in discussion Many quiz and test questions will be drawn from discussion assignments Complete the assigned readings Some quiz and test questions will be drawn from readings This is a non-technical course that deals with “fuzzy” concepts so follow the rules, different from other CS courses Assigned readings both textbook and non-textbook. Non-textbook ones may be challenging so allow sufficient time

Rules for Success in Info 43 (II) Check your UCI email daily Primary method of class announcements outside of lecture Work hard throughout the quarter Not just at the end! You will be held responsible for all information distributed in this way Don’t come to me in week 9 and ask what you can do to improve your grade. It will be too late.

Today’s Lecture Course introduction Getting to know each other Introduction to software engineering Software is everywhere What is software engineering?

Who am I?

Who are you? What year of college is this for you? 1, 2nd, 3rd, 4th, 5th or more

Who are you? What is your major? CS, CGS, or ICS Informatics, Software Engineering, BIM Engineering or Physical Sciences Other sciences Humanities, Social Sciences, Social Ecology, Arts

Who are you? How much do you love software engineering already? Scale from 1 to 5

Today’s Lecture Course introduction Getting to know each other Introduction to software engineering Software is everywhere Definitions

Today’s Lecture Course introduction Getting to know each other Introduction to software engineering Software is everywhere What is software engineering?

Software is everywhere: cars http://spectrum.ieee.org/green-tech/advanced-cars/this-car-runs-on-code/ “New cars now frequently carry 200 pounds of electronics and more than a mile of wiring” “…if you bought a premium-class automobile recently, it probably contains close to 100 million lines of software code…”

Software is everywhere: cars “The radio on many cars talks to the automatic transmission over an in-car network” “The airbag accelerometer, parking lights, GPS navigation, cell phone, and door locks also network so that in a serious accident, the car calls for emergency aid, sends the GPS coordinates of the accident, unlocks the doors, and flashes the car’s lights” Your life depends on SW!

Software is everywhere: medical systems Your life depends on SW!

Software is everywhere: games

Software is everywhere: bonus

Software is everywhere: bonus The machine also connects to WiFi and has a camera for a QR scanner. They hope that some day, coffee bags will have a QR code that the machine will recognize and brew appropriately.

Today’s Lecture Course introduction Getting to know each other Introduction to software engineering Software is everywhere What is software engineering?

What is Software Engineering? Software – History of SE: 1968 NATO conference. hardware development accelerating, opportunity to build more complex SW, many of these projects were failing, recognized the need for a structured discipline for creating these larger, more complex SW systems

What is Software Engineering? Software – Code Documentation, user manuals Designs, specifications Test cases Plans and schedules

What is Software Engineering? Software – Code Documentation, user manuals Designs, specifications Test cases Plans and schedules Application: taking basic research and making things people want to use or purchase All of these points are used to make software Skill and knowledge Application of scientific principles Trade-offs, cost / benefit analysis

Software engineering “A broad field that touches upon all aspects of developing and supporting a software system.” [Tsui, Karam, Bernal]

Software engineering “A broad field that touches upon all aspects of developing and supporting a software system.” [Tsui, Karam, Bernal]

Software engineering “A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers.” [Ghezzi, Jazayeri, Mandrioli]

Software engineering “A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers.” [Ghezzi, Jazayeri, Mandrioli]

Software engineering “Multi-person construction of multi-version software.” [Parnas] multi-person: client, programmers, consumers, management, teams of developers, etc. multi-version (why do they exist): improve sw, fix bugs, expand number of applications, update UI to match trends of what people like, need to make a deadline, different Oss, different price points (students vs. companies, free version vs. paid version), diff features on diff versions to test out which features are better, specific feature(s) added at the request of a specific client, localization (e.g., french version, currencies) Why is multi-version necessary? Thinking about client’s needs. This changes the way you develop software.

Software engineering “Multi-person construction of multi-version software.” [Parnas] multi-person: client, programmers, consumers, management, teams of developers, etc. multi-version (why do they exist): improve sw, fix bugs, expand number of applications, update UI to match trends of what people like, need to make a deadline, different Oss, different price points (students vs. companies, free version vs. paid version), diff features on diff versions to test out which features are better, specific feature(s) added at the request of a specific client, localization (e.g., french version, currencies) Why is multi-version necessary? Thinking about client’s needs. This changes the way you develop software.

Software engineering “A discipline whose aim is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change.” [Schach]

Software engineering “A discipline whose aim is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change.” [Schach] not if the user’s needs change. When they change. They change all the time. Before, during, and after development.

Software engineering “Given a problem that can be addressed by a software solution, software engineering consists of the practices that manage the complexity of both the problem and the solution, to create a software product that successfully solves the problem.” [Navarro]

Software engineering “Given a problem that can be addressed by a software solution, software engineering consists of the practices that manage the complexity of both the problem and the solution, to create a software product that successfully solves the problem.” [Navarro]

What is Software Engineering? Informatics 43: The process of constructing software. Phases of development other than programming. Principles and qualities of enduring value.

What is Software Engineering? Informatics 43: The process of constructing software. Phases of development other than programming. Principles and qualities of enduring value. Also of (lesser) interest (in this course): Managing & scheduling software development teams. Making money – business models. Software’s impact on users, organizations, and society.

What is Software Engineering? The process of constructing software. waterfall model: idealization of how things work; not necessarily used in practice design: structure of the sw now this is mainly just a summary of the five major types of tasks in SE, not necessarily in this sequential order other popular methods: prototype, agile: quick requirements, no design, quick implementation w/ verification

What is Software Engineering? Phases of development other than programming. Design:

Reliability Correctness! MODULARITY Adaptability Efficiency What is Software Engineering? Principles and qualities of enduring value. Reliability Correctness! MODULARITY Adaptability Correctness, i.e., correct math reliability: doesn’t crash, no unexpected glitches adaptability: works on other Oss, easily maintained and fixed and understandable to other programmers modularity: take something complicated and break down into smaller, more manageable parts, different modules are designed not to interfere w/ each other (e.g., wheels of car and electrical system) i.e., OO programming – separating a large program into classes; consistency: between different parts of sw, visual, other sw, features efficiency: uses resources, e.g., memory, well Efficiency Consistency

Essential Characteristics of Software Engineering (I) Software engineering concerns the development of large programs The central theme is mastering complexity The efficiency with which software is developed is of crucial importance Software evolves

Essential Characteristics of Software Engineering (II) Regular cooperation between people is an integral part of programming-in-the-large The software has to support its users effectively Software engineering is a field in which members of one culture create artifacts on behalf of members of another culture Software engineering is a balancing act

Three “Essential Ingredients” of Software Engineering People who else would do the work? range from novice to very experienced Processes to organize and manage the efforts of individuals range from informal to very formal Tools to support the people and the processes range from simple to very advanced

People The single most important factor in the success/failure of a product Scarce resource quality suitability cost Many different kinds of people managers programmers technical writers …

Processes Essential to achieve a quality product Scarce resource suitability cost Many different kinds of processes bug tracking change approval quality assurance

Tools Needed to support people and processes Scarce resource quality suitability cost Many different kinds of tools drawing analysis project management source code management

Programming versus software engineering Small project Large to huge project You Teams Build what you want Build what they want One product Family of products Few sequential changes Many parallel changes Short-lived Long-lived Cheap Costly Small consequences Large consequences Programming Software engineering

Next Time What is software engineering? Brooks’ “No Silver Bullet” Complete assigned readings before Thursday