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

Post on 12-Jan-2016

221 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Informatics 43

Lecture 0-1September 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?

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, BS3 1200• Discussion: Wednesdays– Starting in week 2

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

Teaching Staff

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

• Readers– Andrea D’Souza– Sowmya Jain

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

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

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

Grading (II)

• Resolve disagreements with the TA/reader first

• Keep up with the gradebook

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

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

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

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!

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?

Who are you?

• What is your major?

Who are you?

• How much do you love software engineering already?

Who are you?

• Have you done any software engineering already?

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

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

Software is everywhere: cars

Software is everywhere: medical field

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

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

Software is everywhere: medical field

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

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

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/

Software is Everywhere: Refugee Crisis

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

Software is everywhere: games

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/

Software is everywhere: law enforcement, gangsta rap?

Software is everywhere: college must-haves

Software is everywhere: college must-haves

Software…

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

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?

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 –

Engineering -

What is Software Engineering?

Software –

Engineering -

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

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

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]

Software engineering

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

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]

Software engineering

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

Software engineering

• “Managing the complexity of both a problem and its 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.

What is Software Engineering?

Phases of development other than programming.

Design:

What is Software Engineering?

Principles and qualities of enduring value.

Correctness!

MODULARITY

ConsistencyEfficiency

Adaptability

Reliability

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

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

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– quality– suitability– cost

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

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

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

Next Time

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

top related