informatics 43 lecture 0-1 september 24, 2015 emily navarro

68
Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Upload: brian-gardner

Post on 12-Jan-2016

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Informatics 43

Lecture 0-1September 24, 2015

Emily Navarro

Page 2: Informatics 43 Lecture 0-1 September 24, 2015 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 Lecture 0-1 September 24, 2015 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 Lecture 0-1 September 24, 2015 Emily Navarro

Course Basics

• Course: Informatics 43 – Introduction to Software Engineering

• Professor: Emily Navarro ([email protected])• Lecture: T Th 5-6:20pm, BS3 1200• Discussion: Wednesdays– Starting in week 2

• Course Website: http://www.ics.uci.edu/~emilyo/teaching/info43f2015/index.html

Page 5: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Teaching Staff

• Professor: Emily Navarro• TAs– Anirudh Sethi– Arjun Khode– Neeraj Kumar

• Readers– Andrea D’Souza– Sowmya Jain

Page 6: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Course Basics (II)

• My office hours– Tuesdays 2:15-3:15pm DBH 5221

• TA office hours– TBD

• Questions and announcements– Piazza (https://piazza.com/uci/fall2015/in4matx43)– Email or in class– Class email list

• Required textbook– Tsui, Karam, Bernal, "Essentials of Software Engineering,"

Third Edition

Page 7: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Quizzes

• 6 quizzes, most Tuesdays (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 Thursday after a quiz

Page 8: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Grading (I)

• Quizzes: 11% – Lowest score 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 Lecture 0-1 September 24, 2015 Emily Navarro

Grading (II)

• Resolve disagreements with the TA/reader first

• Keep up with the gradebook

Page 10: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Cheating

• DON’T DO IT!!• 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 assignment– Offense recorded with Student Affairs

Page 11: Informatics 43 Lecture 0-1 September 24, 2015 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 Lecture 0-1 September 24, 2015 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 Lecture 0-1 September 24, 2015 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 Lecture 0-1 September 24, 2015 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 Lecture 0-1 September 24, 2015 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 Lecture 0-1 September 24, 2015 Emily Navarro

Who am I?

Page 17: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Who are you?

• What year of college is this for you?

Page 18: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Who are you?

• What is your major?

Page 19: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Who are you?

• How much do you love software engineering already?

Page 20: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Who are you?

• Have you done any software engineering already?

Page 21: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Today’s Lecture

• Course introduction• Getting to know each other• Introduction to software engineering– Software is everywhere– Definitions

Page 22: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Today’s Lecture

• Course introduction• Getting to know each other• Introduction to software engineering– Software is everywhere– What is software engineering?

Page 23: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: cars

• “The average new car has 40 to 50 computers that run 20 million lines of software code, more than a Boeing 787…

• “…experts and lawmakers are warning the auto industry and regulators to move faster to plug holes created by the dozens of new computers and the growing number of Internet connections in today's automobiles.Source: http://www.nytimes.com/aponline/2015/08/05/us/ap-us-autos-hacking.html?_r=1

Page 24: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: cars

Page 25: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: medical field

Page 26: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: medical field

“In the last few weeks of the trial, my heart rate hit 138 beats per minute… This is an aerobic training zone, a rate I haven’t even come close to since being paralyzed while walking in the robot alone, without these interventions. That was a very exciting, emotional moment for me, having spent my whole adult life before breaking my back as an athlete.”Source: http://newsroom.ucla.edu/releases/completely-paralyzed-man-voluntarily-moves-his-legs-ucla-scientists-report

Page 27: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: medical field“…research conducted over the past half-decade shows that CBT delivered via a website can be just as effective as CBT delivered through an in-person therapist. It seems safe to conclude that guided self-help and face-to-face treatments can have comparable effects. It is time to start thinking about implementation in routine care…”

Source:http://www.businessinsider.com/joyable-helps-to-overcome-social-anxiety-2015-7#ixzz3l0kr5sne

Page 28: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: medical field

Page 29: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: elections“…the higher a politician ranks on a page of Internet search results, the more likely you are to vote for them.”

Source: http://news.sciencemag.org/brain-behavior/2015/08/internet-search-engines-may-be-influencing-elections

Page 30: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: the military

Pirate predictor: “The Navy’s new software creates models combining the best known conditions for pirating plus all available intel on the pirates in question. The name for these models? ‘Pirate replicates.’”

Source: http://gizmodo.com/the-navy-built-an-algorithm-that-predicts-pirates-behav-1724181937?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+gizmodo%2Ffull+%28Gizmodo%29

Page 31: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: disaster response

• “When Katrina hit, social media was in its infancy, people still got a lot of their news from television and radio, and Blackberry and Razr phones were state of the art. These days, 40 percent of Americans use their phones to access government services, and 68 percent of them use phones to keep track of breaking news events…”

• “Social media played a larger role than ever helping FEMA and local organizations communicate to residents during Hurricane Sandy.”

• Robots and drones for search and rescue

Source: http://www.wired.com/2015/08/fema-disaster-tech/

Page 32: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is Everywhere: Refugee Crisis

Page 33: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: Siri saved my life

“Hey Siri, could you call 911 because I’m stuck under a really heavy truck.”

Source: http://www.cnet.com/news/siri-butt-dial-reportedly-saves-teen-trapped-under-truck/#ftag=CAD590a51e

Page 34: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: games

Page 35: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: games

“…wireless tracking technology will be embedded in every NFL player’s shoulder pads, and viewers at home can see all that data come to life in the redesigned NFL 2015 app…”Source: http://www.wired.com/2015/08/nfl-players-getting-rfid-chips-season/

Page 36: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: law enforcement, gangsta rap?

Page 37: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: college must-haves

Page 38: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software is everywhere: college must-haves

Page 39: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software…

• is everywhere• is exciting• is fun• does lots of different things• saves lives• helps people• harms people

Page 40: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software…

• is everywhere• is exciting• is fun• does lots of different things• saves lives• helps people• harms people

So how is all this software made?

Page 41: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Today’s Lecture

• Course introduction• Getting to know each other• Introduction to software engineering– Software is everywhere– What is software engineering?

Page 42: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

What is Software Engineering?

Software –

Engineering -

Page 43: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

What is Software Engineering?

Software –

Engineering -

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

Page 44: Informatics 43 Lecture 0-1 September 24, 2015 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 45: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software engineering

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

Page 46: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software engineering

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

Page 47: Informatics 43 Lecture 0-1 September 24, 2015 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 48: Informatics 43 Lecture 0-1 September 24, 2015 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 49: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software engineering

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

Page 50: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software engineering

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

Page 51: Informatics 43 Lecture 0-1 September 24, 2015 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 52: Informatics 43 Lecture 0-1 September 24, 2015 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 53: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software engineering

• “Managing the complexity of both a problem and its solution, to create a software product that successfully solves the problem.” [Navarro]

Page 54: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Software engineering

• “Managing the complexity of both a problem and its solution, to create a software product that successfully solves the problem.” [Navarro]

Page 55: Informatics 43 Lecture 0-1 September 24, 2015 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 56: Informatics 43 Lecture 0-1 September 24, 2015 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 57: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

What is Software Engineering?

The process of constructing software.

Page 58: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

What is Software Engineering?

Phases of development other than programming.

Design:

Page 59: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

What is Software Engineering?

Principles and qualities of enduring value.

Correctness!

MODULARITY

ConsistencyEfficiency

Adaptability

Reliability

Page 60: Informatics 43 Lecture 0-1 September 24, 2015 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 61: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Essential Characteristics of Software Engineering (II)

• Regular cooperation between people is an integral part of software engineering

• 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 62: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Three “Essential Ingredients” of Software Engineering

• People– who else would do the work?

• Processes– to organize and manage the efforts of individuals

• Tools– to support the people and the processes

Page 63: Informatics 43 Lecture 0-1 September 24, 2015 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 64: Informatics 43 Lecture 0-1 September 24, 2015 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– software life cycle

Page 65: Informatics 43 Lecture 0-1 September 24, 2015 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 66: Informatics 43 Lecture 0-1 September 24, 2015 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 67: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Videos

• What is software engineering: https://www.youtube.com/watch?v=ZNMbEbz2dys

• A day in the life of a software engineer: https://www.youtube.com/watch?v=H1zD37rcVSQ

Page 68: Informatics 43 Lecture 0-1 September 24, 2015 Emily Navarro

Next Time

• More on “what is software engineering?”• Brooks’ “No Silver Bullet”• Complete assigned readings before Tuesday