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

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

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

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

Informatics 43 – March 31, 2015

Lecture 1-1Emily Navarro

Page 2: 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?

Page 3: 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?

Page 4: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Course Basics

• Course: Informatics 43 – Introduction to Software Engineering

• Professor: Emily Navarro ([email protected])• 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

Page 5: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Teaching Staff

• Professor: Emily Navarro• TAs– Swanand Pethe– Anirudh Sethi

• Readers– Isley Gao– Cassie Jeansonne

Page 6: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Course Basics (II)

• My 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

Page 7: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 8: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 9: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 10: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 11: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 12: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Questions

• When in doubt– ask the TA (or reader)– ask the professor(s)

• E-mail questions– answers are (generally) copied to everybody

Page 13: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

– Take notes– Some quiz and test questions will be drawn from readings

Page 14: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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!

Page 15: 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?

Page 16: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Who am I?

Page 17: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Who are you?

• What year of college is this for you?

Page 18: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Who are you?

• What is your major?

Page 19: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Who are you?

• How much do you love software engineering already?

Page 20: 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– Definitions

Page 21: 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?

Page 22: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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…”

Page 23: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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”

Page 24: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Software is everywhere: medical systems

Page 25: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Software is everywhere: games

Page 26: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Software is everywhere: bonus

Page 27: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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.

Page 28: 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?

Page 29: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

What is Software Engineering?

Software –

Engineering -

Page 30: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

What is Software Engineering?

Software –

Engineering -

• Code• Documentation, user manuals• Designs, specifications• Test cases• Plans and schedules

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

What is Software Engineering?

Software –

Engineering -

• Code• Documentation, user manuals• Designs, specifications• Test cases• Plans and schedules

• Skill and knowledge• Application of scientific principles• Trade-offs, cost / benefit analysis

Page 32: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Software engineering

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

Page 33: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Software engineering

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

Page 34: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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]

Page 35: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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]

Page 36: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Software engineering

• “Multi-person construction of multi-version software.” [Parnas]

Page 37: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Software engineering

• “Multi-person construction of multi-version software.” [Parnas]

Page 38: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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]

Page 39: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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]

Page 40: Informatics 43 – March 31, 2015 Lecture 1-1 Emily 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]

Page 41: Informatics 43 – March 31, 2015 Lecture 1-1 Emily 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]

Page 42: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

What is Software Engineering?

Informatics 43:

• The process of constructing software.

• Phases of development other than programming.

• Principles and qualities of enduring value.

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

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.

Page 44: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

What is Software Engineering?

The process of constructing software.

Page 45: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

What is Software Engineering?

Phases of development other than programming.

Design:

Page 46: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

What is Software Engineering?

Principles and qualities of enduring value.

Correctness!

MODULARITY

ConsistencyEfficiency

Adaptability

Reliability

Page 47: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 48: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 49: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 50: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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– …

Page 51: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Processes

• Essential to achieve a quality product

• Scarce resource– quality– suitability– cost

• Many different kinds of processes– bug tracking– change approval– quality assurance

Page 52: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Tools

• Needed to support people and processes

• Scarce resource– quality– suitability– cost

• Many different kinds of tools– drawing– analysis– project management– source code management

Page 53: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

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

Page 54: Informatics 43 – March 31, 2015 Lecture 1-1 Emily Navarro.

Next Time

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