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?
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 Lecture: T Th 5-6:20pm, BS Discussion: Wednesdays – Starting in week 2 Course Website: /index.html /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 ( – or in class – Class 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) 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 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:
Software is everywhere: cars
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: paralyzed-man-voluntarily-moves-his-legs-ucla- scientists-report 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: ssinsider.com/joyable- helps-to-overcome-social- anxiety #ixzz3l0kr5snehttp:// ssinsider.com/joyable- helps-to-overcome-social- anxiety #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: electionshttp://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: ?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+gizmodo%2Ffull+%28Gizmo do%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:
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: truck/#ftag=CAD590a51e
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:
Software is everywhere: law enforcement, gangsta rap?
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.
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 projectLarge to huge project YouTeams Build what you wantBuild what they want One productFamily of products Few sequential changesMany parallel changes Short-livedLong-lived CheapCostly Small consequencesLarge consequences ProgrammingSoftware engineering
Videos What is software engineering: z2dys z2dys A day in the life of a software engineer: cVSQ cVSQ
Next Time More on “what is software engineering?” Brooks’ “No Silver Bullet” Complete assigned readings before Tuesday