about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L1 Introduction and Overview Subtitles
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2020-07-19 20:34:40 +0700
committerNguyễn Gia Phong <mcsinyx@disroot.org>2020-07-19 20:34:40 +0700
commit8a7dfa0972c83fd811a4296e7373574bea4a28d0 (patch)
tree16d37247e8b909ce5f885affd2b2473faab891fd /usth/ICT2.7/P1L1 Introduction and Overview Subtitles
parentdc6f57c3af35f599abab2c4bac950654282cb519 (diff)
downloadcp-8a7dfa0972c83fd811a4296e7373574bea4a28d0.tar.gz
[usth/ICT2.7] Remove Udacity transcribes
Diffstat (limited to 'usth/ICT2.7/P1L1 Introduction and Overview Subtitles')
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/1 - Introduction - lang_en.srt40
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/10 - Software Development - lang_en.srt108
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/11 - Software Process - lang_en.srt96
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/12 - Preliminary Questions - lang_en.srt32
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/13 - Preliminary Questions Solution - lang_en.srt16
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/14 - Preliminary Questions - lang_en.srt24
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/15 - Preliminary Questions Solution - lang_en.srt32
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/16 - Software Phases - lang_en.srt100
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/17 - Tools of the Trade - lang_en.srt160
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/2 - Importance of Software Engineering - lang_en.srt572
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/3 - Software Failure Quiz - lang_en.srt32
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/4 - Software Failure Quiz Solution - lang_en.srt48
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/5 - Discipline of Software Engineering - lang_en.srt80
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt208
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/7 - The Software Crisis Quiz - lang_en.srt44
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/8 - The Software Crisis Quiz Solution - lang_en.srt52
-rw-r--r--usth/ICT2.7/P1L1 Introduction and Overview Subtitles/9 - Evidence of the Software Crisis - lang_en.srt116
17 files changed, 0 insertions, 1760 deletions
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/1 - Introduction - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/1 - Introduction - lang_en.srt
deleted file mode 100644
index aea69ae..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/1 - Introduction - lang_en.srt
+++ /dev/null
@@ -1,40 +0,0 @@
-1
-00:00:00,350 --> 00:00:03,570
-Hi, everybody, and welcome to the first lesson
-
-2
-00:00:03,570 --> 00:00:07,970
-of the Software Engineering Course. In this introductory lesson
-
-3
-00:00:07,970 --> 00:00:09,820
-I will first provide an overview of the
-
-4
-00:00:09,820 --> 00:00:13,100
-whole course and then try to answer two important
-
-5
-00:00:13,100 --> 00:00:16,630
-questions about software engineering, which are, what is
-
-6
-00:00:16,630 --> 00:00:20,310
-software engineering and why do we need it? And
-
-7
-00:00:20,310 --> 00:00:22,370
-to spice up the content a bit I
-
-8
-00:00:22,370 --> 00:00:25,480
-will also interview several experts in the software engineering
-
-9
-00:00:25,480 --> 00:00:30,080
-field from both academia and industry and ask them these
-
-10
-00:00:30,080 --> 00:00:34,410
-very questions. So without any further ado, let's begin the lesson.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/10 - Software Development - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/10 - Software Development - lang_en.srt
deleted file mode 100644
index b1f822e..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/10 - Software Development - lang_en.srt
+++ /dev/null
@@ -1,108 +0,0 @@
-1
-00:00:00,060 --> 00:00:01,970
-Now that we saw how software engineering was born and we
-
-2
-00:00:01,970 --> 00:00:04,580
-saw some of the problems that led to the birth of software
-
-3
-00:00:04,580 --> 00:00:07,020
-engineering. Let's see how we can do better. How can we
-
-4
-00:00:07,020 --> 00:00:10,580
-preform software development in a smarter, in a better way, a more
-
-5
-00:00:10,580 --> 00:00:13,150
-successful way? So what I'm going to show here is the
-
-6
-00:00:13,150 --> 00:00:14,730
-way I see software development. To
-
-7
-00:00:14,730 --> 00:00:17,080
-me software development is fundementally going
-
-8
-00:00:17,080 --> 00:00:21,150
-from an abstract idea in somebody's head, for example, the customer's head,
-
-9
-00:00:21,150 --> 00:00:25,300
-to a concrete system that actually implements that idea and hopefully it
-
-10
-00:00:25,300 --> 00:00:27,640
-does it in the right way. And this is a very
-
-11
-00:00:27,640 --> 00:00:31,290
-complex process. It can be overwhelming. So, unless we are talking about
-
-12
-00:00:31,290 --> 00:00:34,800
-the trivial system, it's very complex for us to keep in mind
-
-13
-00:00:34,800 --> 00:00:37,020
-all the different aspects of the systems, and to do all the
-
-14
-00:00:37,020 --> 00:00:40,270
-different steps required to build this system, automatically. So that's when
-
-15
-00:00:40,270 --> 00:00:43,630
-software processes come to the rescue. So what is a software process?
-
-16
-00:00:43,630 --> 00:00:46,380
-A software process is nothing else but a way of breaking down
-
-17
-00:00:46,380 --> 00:00:50,320
-this otherwise unmanageable task into smaller steps. In smaller steps that we
-
-18
-00:00:50,320 --> 00:00:53,270
-can handle. And that can be tackled individually. So having a
-
-19
-00:00:53,270 --> 00:00:56,580
-software process is of fundamental importance for several reasons. First of
-
-20
-00:00:56,580 --> 00:00:59,530
-all, for non-trivial systems, you can't just do it by getting
-
-21
-00:00:59,530 --> 00:01:01,680
-it, by just sitting down and developing. What you have to
-
-22
-00:01:01,680 --> 00:01:04,629
-do instead is to break down the complexity in a systematic
-
-23
-00:01:04,629 --> 00:01:08,250
-way. So software processes are normally systematic. And you need to
-
-24
-00:01:08,250 --> 00:01:11,370
-break down this complexity, in a more or less formal way.
-
-25
-00:01:11,370 --> 00:01:15,800
-So software processes are also a formal, or semiformal, way of
-
-26
-00:01:15,800 --> 00:01:19,120
-discussing, or describing, how software should be developed.
-
-27
-00:01:19,120 --> 00:01:21,370
-So what are the steps involved in developing software?
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/11 - Software Process - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/11 - Software Process - lang_en.srt
deleted file mode 100644
index 98592eb..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/11 - Software Process - lang_en.srt
+++ /dev/null
@@ -1,96 +0,0 @@
-1
-00:00:00,200 --> 00:00:02,580
-One thing you need to know right away about software processes
-
-2
-00:00:02,580 --> 00:00:05,750
-is that there's not just one single process, but there are multiple,
-
-3
-00:00:05,750 --> 00:00:08,840
-possible processes, depending on your context, depending on the kind of
-
-4
-00:00:08,840 --> 00:00:11,535
-applications that you are developing. In this course, we are going to try
-
-5
-00:00:11,535 --> 00:00:14,760
-to cover the spectrum of the possible processes, as much as
-
-6
-00:00:14,760 --> 00:00:18,900
-possible, by focusing on four main software processes. The first one is
-
-7
-00:00:18,900 --> 00:00:22,480
-what we call normally the waterfall process. And, we call it waterfall
-
-8
-00:00:22,480 --> 00:00:25,490
-because in the process we go from one phase to the other
-
-9
-00:00:25,490 --> 00:00:28,300
-in the same way in which water follows the flow
-
-10
-00:00:28,300 --> 00:00:30,910
-in a waterfall. The second process that we consider is what
-
-11
-00:00:30,910 --> 00:00:34,580
-we call evolutionary prototyping, and in this case, instead of
-
-12
-00:00:34,580 --> 00:00:37,790
-following this set of rigid steps, all we're trying to do
-
-13
-00:00:37,790 --> 00:00:40,930
-is to start with an initial prototype and evolve it
-
-14
-00:00:40,930 --> 00:00:43,670
-based on the feedback from the customer. We will then move
-
-15
-00:00:43,670 --> 00:00:47,150
-towards a slightly more formal process, which is the rational unified
-
-16
-00:00:47,150 --> 00:00:50,590
-process or the unified software process. And this is a kind
-
-17
-00:00:50,590 --> 00:00:53,040
-of project heavily based on the use of UML, so we
-
-18
-00:00:53,040 --> 00:00:56,263
-will also cover UML when discussing this kind of project. Finally,
-
-19
-00:00:56,263 --> 00:00:58,680
-the fourth kind of process we will consider is the family
-
-20
-00:00:58,680 --> 00:01:01,670
-of agile software processes. And these are processes in which we
-
-21
-00:01:01,670 --> 00:01:04,280
-sacrifice the discipline a little bi,t in order to be more
-
-22
-00:01:04,280 --> 00:01:07,380
-flexible and be more able to account for changes and in
-
-23
-00:01:07,380 --> 00:01:10,760
-particular for changes in requirements. We are going to cover each
-
-24
-00:01:10,760 --> 00:01:14,620
-one of these four processes extensively in the rest of the class.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/12 - Preliminary Questions - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/12 - Preliminary Questions - lang_en.srt
deleted file mode 100644
index 20ef47f..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/12 - Preliminary Questions - lang_en.srt
+++ /dev/null
@@ -1,32 +0,0 @@
-1
-00:00:00,110 --> 00:00:01,450
-So, now before we actually jump to the
-
-2
-00:00:01,450 --> 00:00:03,410
-discussion of software processes I want to ask you
-
-3
-00:00:03,410 --> 00:00:05,770
-a couple of preliminary questions. The first one is,
-
-4
-00:00:05,770 --> 00:00:08,140
-what is the largest software system on which you
-
-5
-00:00:08,140 --> 00:00:10,860
-had worked? And you should enter here the size.
-
-6
-00:00:10,860 --> 00:00:12,850
-And the second question I'm going to ask is how
-
-7
-00:00:12,850 --> 00:00:15,070
-many LOC or how many lines of code per
-
-8
-00:00:15,070 --> 00:00:17,380
-day you were producing when working on this system?
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/13 - Preliminary Questions Solution - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/13 - Preliminary Questions Solution - lang_en.srt
deleted file mode 100644
index fe239c6..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/13 - Preliminary Questions Solution - lang_en.srt
+++ /dev/null
@@ -1,16 +0,0 @@
-1
-00:00:00,110 --> 00:00:01,620
-We're going to go back to these two questions
-
-2
-00:00:01,620 --> 00:00:03,260
-and to your answers later. But I wanted to
-
-3
-00:00:03,260 --> 00:00:05,810
-gather this information beforehand, so that your answers are
-
-4
-00:00:05,810 --> 00:00:08,590
-not biased, they're not influenced by this subsequent discussion.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/14 - Preliminary Questions - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/14 - Preliminary Questions - lang_en.srt
deleted file mode 100644
index 936b50d..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/14 - Preliminary Questions - lang_en.srt
+++ /dev/null
@@ -1,24 +0,0 @@
-1
-00:00:00,090 --> 00:00:03,200
-So now I want to ask you one additional question, which is how many lines
-
-2
-00:00:03,200 --> 00:00:05,030
-of code a day do you think professional
-
-3
-00:00:05,030 --> 00:00:07,370
-software engineers produce? Do you think they produce
-
-4
-00:00:07,370 --> 00:00:12,160
-25 lines of code? Between 25 and 50? Between 50 and 100? Between 100 and 1000?
-
-5
-00:00:12,160 --> 00:00:13,720
-Or more than 1000 a day? And remember
-
-6
-00:00:13,720 --> 00:00:16,379
-that here we're talking about professional software engineers.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/15 - Preliminary Questions Solution - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/15 - Preliminary Questions Solution - lang_en.srt
deleted file mode 100644
index 1a040e2..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/15 - Preliminary Questions Solution - lang_en.srt
+++ /dev/null
@@ -1,32 +0,0 @@
-1
-00:00:00,180 --> 00:00:03,450
-Studies has shown that, on average, developers produce between
-
-2
-00:00:03,450 --> 00:00:07,030
-50 and 100 lines of code a day. And that
-
-3
-00:00:07,030 --> 00:00:09,530
-might not seem much. Why, why only 50 to
-
-4
-00:00:09,530 --> 00:00:11,580
-100 lines of code in a whole day? And the
-
-5
-00:00:11,580 --> 00:00:14,350
-answer is because coding is not everything. When you
-
-6
-00:00:14,350 --> 00:00:17,020
-develop a system writing code is not the only thing
-
-7
-00:00:17,020 --> 00:00:18,890
-you have to do. It's not the only activity that
-
-8
-00:00:18,890 --> 00:00:20,800
-you have to perform. And that's a very important point.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/16 - Software Phases - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/16 - Software Phases - lang_en.srt
deleted file mode 100644
index 7fc30ef..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/16 - Software Phases - lang_en.srt
+++ /dev/null
@@ -1,100 +0,0 @@
-1
-00:00:00,110 --> 00:00:03,730
-In fact, software processes are normally characterized by several phases, what
-
-2
-00:00:03,730 --> 00:00:07,240
-we call the software phases, and only one of these phases is
-
-3
-00:00:07,240 --> 00:00:09,970
-mainly focused on coding. The other phases are meant to support
-
-4
-00:00:09,970 --> 00:00:13,440
-other parts of software development. The first of these phases is called
-
-5
-00:00:13,440 --> 00:00:16,110
-requirements engineering and that's the phase in which we talk to
-
-6
-00:00:16,110 --> 00:00:19,640
-the customer, to the stakeholders, whoever we are building the software for.
-
-7
-00:00:19,640 --> 00:00:22,120
-And we try to understand what kind of system we need
-
-8
-00:00:22,120 --> 00:00:25,650
-to build. Then we use this information to define our design and
-
-9
-00:00:25,650 --> 00:00:28,840
-the design is the high-level structure, that then can become more
-
-10
-00:00:28,840 --> 00:00:31,800
-and more detailed, of our software system. Once we've defined our
-
-11
-00:00:31,800 --> 00:00:34,180
-design we can actually move to the next phase, which is
-
-12
-00:00:34,180 --> 00:00:37,480
-the implementation, in which we write code that implements the design which
-
-13
-00:00:37,480 --> 00:00:40,630
-we just defined. After implementing the code, we need to verify
-
-14
-00:00:40,630 --> 00:00:43,510
-and validate the code. We need to make sure that the code
-
-15
-00:00:43,510 --> 00:00:46,930
-behaves as intended. And finally, we need to maintain the code.
-
-16
-00:00:46,930 --> 00:00:48,992
-And maintenance involves several activities like,
-
-17
-00:00:48,992 --> 00:00:50,980
-for example, adding new functionality or
-
-18
-00:00:50,980 --> 00:00:54,568
-eliminating bugs from the code or responding to problems that
-
-19
-00:00:54,568 --> 00:00:57,420
-were reported from the field after we released the software.
-
-20
-00:00:57,420 --> 00:00:59,020
-We will look at all of these activities and of
-
-21
-00:00:59,020 --> 00:01:01,670
-the software development process in detail, in the rest of the
-
-22
-00:01:01,670 --> 00:01:03,610
-class. And for each activity, we will look at the
-
-23
-00:01:03,610 --> 00:01:06,460
-fundamental principles and how it is done currently. And in
-
-24
-00:01:06,460 --> 00:01:08,780
-some cases, we will also look at some advance ways
-
-25
-00:01:08,780 --> 00:01:11,680
-to do it. For example, more research approaches for that activity.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/17 - Tools of the Trade - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/17 - Tools of the Trade - lang_en.srt
deleted file mode 100644
index 077c0f8..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/17 - Tools of the Trade - lang_en.srt
+++ /dev/null
@@ -1,160 +0,0 @@
-1
-00:00:00,072 --> 00:00:02,960
-We will also look at how tools can improve software phases,
-
-2
-00:00:02,960 --> 00:00:06,660
-the software activities, and can support software development tasks in general.
-
-3
-00:00:06,660 --> 00:00:08,890
-And this is something that I will repeat over and over
-
-4
-00:00:08,890 --> 00:00:12,340
-in the class, tools and automation are fundamental, in software engineering.
-
-5
-00:00:12,340 --> 00:00:15,910
-And they're fundamental for improving productivity, not only efficiency but also
-
-6
-00:00:15,910 --> 00:00:19,820
-effectiveness of our activities in the software development process. So let
-
-7
-00:00:19,820 --> 00:00:22,110
-me go back to one of the diagrams that I showed
-
-8
-00:00:22,110 --> 00:00:25,170
-you before. If you remember we had this qualititive diagram in which
-
-9
-00:00:25,170 --> 00:00:27,170
-we were showing that one of the issues that led to the
-
-10
-00:00:27,170 --> 00:00:30,350
-software crisis was the fact that developers' productivity was not able to
-
-11
-00:00:30,350 --> 00:00:33,580
-keep up with the software size and complexity, with the growth in
-
-12
-00:00:33,580 --> 00:00:36,750
-the importance and the complexity of software. What tools can help us
-
-13
-00:00:36,750 --> 00:00:40,150
-to do is to change this and basically move this curve from
-
-14
-00:00:40,150 --> 00:00:43,950
-this original position up here. So that it gets closer and closer
-
-15
-00:00:43,950 --> 00:00:45,970
-to what we need to develop the software that we need to
-
-16
-00:00:45,970 --> 00:00:50,230
-build. So let me discuss examples on how tools can improve productivity.
-
-17
-00:00:50,230 --> 00:00:52,970
-For example, if we are talking about development, think about
-
-18
-00:00:52,970 --> 00:00:54,890
-what kind of improvement it was to go from punch
-
-19
-00:00:54,890 --> 00:00:58,440
-cards to modern IDEs. If we're talking about languages, think
-
-20
-00:00:58,440 --> 00:01:02,210
-about of how much more productive developers became when going from
-
-21
-00:01:02,210 --> 00:01:05,830
-writing machine code to writing code in high-level languages. And
-
-22
-00:01:05,830 --> 00:01:08,750
-finally, if we talk about debugging, which is a very important
-
-23
-00:01:08,750 --> 00:01:12,140
-and expensive activity, moving from the use of print lines
-
-24
-00:01:12,140 --> 00:01:16,060
-to the use of symbolic debuggers dramatically improve the effectiveness and
-
-25
-00:01:16,060 --> 00:01:18,810
-efficiency of development. And these are just some of the
-
-26
-00:01:18,810 --> 00:01:21,050
-tools that we will discuss in the rest of the class
-
-27
-00:01:21,050 --> 00:01:23,350
-and notice that we will also use the tools in practice.
-
-28
-00:01:23,350 --> 00:01:26,290
-So we will use the tools before projects and also during
-
-29
-00:01:26,290 --> 00:01:30,153
-the lessons and for assignments. In particular, we will use
-
-30
-00:01:30,153 --> 00:01:33,920
-three main kinds of tools. The first type is IDE's. And
-
-31
-00:01:33,920 --> 00:01:37,140
-I'm pretty sure you're familiar with IDE's. These are integrated development
-
-32
-00:01:37,140 --> 00:01:41,250
-environments. So, advanced editors in which you can write, compile, run,
-
-33
-00:01:41,250 --> 00:01:43,950
-and debug and even test your code. We'll also use a
-
-34
-00:01:43,950 --> 00:01:48,190
-version control system, systems that allow you to save, and restore, and
-
-35
-00:01:48,190 --> 00:01:51,750
-check the differences between different versions of the code, in particular
-
-36
-00:01:51,750 --> 00:01:53,950
-we will be working with git. We will also be looking at
-
-37
-00:01:53,950 --> 00:01:57,460
-other kinds of tools like coverage and verification tools. These are
-
-38
-00:01:57,460 --> 00:02:00,310
-tools that can help you during testing and I'm a big fan
-
-39
-00:02:00,310 --> 00:02:02,710
-of these tools, so I'm really going to stress the usefulness
-
-40
-00:02:02,710 --> 00:02:05,530
-of these tools and how you should use them in your development.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/2 - Importance of Software Engineering - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/2 - Importance of Software Engineering - lang_en.srt
deleted file mode 100644
index 858a75a..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/2 - Importance of Software Engineering - lang_en.srt
+++ /dev/null
@@ -1,572 +0,0 @@
-1
-00:00:00,150 --> 00:00:02,106
-First, let me start by asking a couple of very
-
-2
-00:00:02,106 --> 00:00:04,820
-natural questions that you might have when considering whether to take
-
-3
-00:00:04,820 --> 00:00:07,800
-this course. The first one is what is software engineering.
-
-4
-00:00:07,800 --> 00:00:10,050
-And the second, very related one, is why do we need
-
-5
-00:00:10,050 --> 00:00:12,430
-it? So what I did was actually to go out
-
-6
-00:00:12,430 --> 00:00:15,430
-and ask some of the main experts in the field, both
-
-7
-00:00:15,430 --> 00:00:18,290
-in academia and industry, these very questions and let's see what
-
-8
-00:00:18,290 --> 00:00:22,160
-they said. What is software engineering and why is it important?
-
-9
-00:00:23,170 --> 00:00:25,150
->> Okay, can I start with another question?
-
-10
-00:00:25,150 --> 00:00:26,020
->> Of course.
-
-11
-00:00:26,020 --> 00:00:31,290
->> Okay, first what is a computer? It's a programmable device. So the essence
-
-12
-00:00:31,290 --> 00:00:34,730
-of computing is programming. So program development
-
-13
-00:00:34,730 --> 00:00:37,240
-is basically the most essential use of the
-
-14
-00:00:37,240 --> 00:00:41,010
-computer. So software engineering is the discipline
-
-15
-00:00:41,010 --> 00:00:44,850
-that investigates program development. So, how can it
-
-16
-00:00:44,850 --> 00:00:47,390
-been done more efficiently? What's the best
-
-17
-00:00:47,390 --> 00:00:50,170
-way of doing program development? And how can
-
-18
-00:00:50,170 --> 00:00:53,140
-you develop reliable programs? So that's how I would define
-
-19
-00:00:53,140 --> 00:00:55,060
-it. But I consider any
-
-20
-00:00:55,060 --> 00:00:57,345
-software development activity software engineering activity
-
-21
-00:00:58,825 --> 00:01:04,239
->> Software engineering is the systematic application of methods to build
-
-22
-00:01:04,239 --> 00:01:07,884
-software in a rigorous way. And I think one of the
-
-23
-00:01:07,884 --> 00:01:11,196
-aspects that I like to bring into the notion of software
-
-24
-00:01:11,196 --> 00:01:15,228
-engineering is that it's something that involves not only kind of
-
-25
-00:01:15,228 --> 00:01:18,612
-technically building the system but understanding the
-
-26
-00:01:18,612 --> 00:01:22,317
-requirements, working with stake holders. Trying to
-
-27
-00:01:22,317 --> 00:01:28,232
-find a solution that balances all of the stakeholder needs in order to deliver
-
-28
-00:01:28,232 --> 00:01:34,338
-the software thats tested and its rigorous to meet the needs of a stakeholder.
-
-29
-00:01:34,338 --> 00:01:37,656
-Well, software engineering is the whole process
-
-30
-00:01:37,656 --> 00:01:41,460
-of creation of software using engineering principles.
-
-31
-00:01:41,460 --> 00:01:42,886
->> My view is kind of a holistic
-
-32
-00:01:42,886 --> 00:01:45,490
-view and I think about it from the perspective
-
-33
-00:01:45,490 --> 00:01:49,440
-of how is software engineering different from programming.
-
-34
-00:01:49,440 --> 00:01:52,940
-So, I think that research about programming is all
-
-35
-00:01:52,940 --> 00:01:57,550
-about the create part of software. And that
-
-36
-00:01:57,550 --> 00:02:00,270
-software engineering is about the entire life cycle. So,
-
-37
-00:02:00,270 --> 00:02:03,070
-that's one aspect. And the other aspect of the
-
-38
-00:02:03,070 --> 00:02:07,350
-definition is it's about quality, the quality of software.
-
-39
-00:02:07,350 --> 00:02:12,330
-Software engineering even considers things long after you ship which we all know
-
-40
-00:02:12,330 --> 00:02:18,310
-is one of the, it is the largest economic piece of software development.
-
-41
-00:02:18,310 --> 00:02:22,990
->> So, improve, software engineering process
-
-42
-00:02:22,990 --> 00:02:26,440
-for better software productivity and quality.
-
-43
-00:02:26,440 --> 00:02:32,472
->> The set of activities that one engages in when building software
-
-44
-00:02:32,472 --> 00:02:39,634
-systems or software products. It's fundamentally a venue-creating
-
-45
-00:02:39,634 --> 00:02:45,492
-activity. It involves social processes.
-
-46
-00:02:45,492 --> 00:02:47,247
->> Software engineering is the act
-
-47
-00:02:47,247 --> 00:02:49,652
-of many people working together and putting
-
-48
-00:02:49,652 --> 00:02:52,057
-together many versions of large and complex
-
-49
-00:02:52,057 --> 00:02:57,110
-systems. And our world depends on software,
-
-50
-00:02:57,110 --> 00:02:58,910
-software is immensely complex and we need
-
-51
-00:02:58,910 --> 00:03:01,700
-many, many smart people to build these things.
-
-52
-00:03:01,700 --> 00:03:05,610
->> Well, engineering I think is the activity of envisioning and
-
-53
-00:03:05,610 --> 00:03:10,180
-realizing valuable new functions with sufficient
-
-54
-00:03:10,180 --> 00:03:13,500
-and justifiable confidence that the resulting
-
-55
-00:03:13,500 --> 00:03:18,190
-system will have all of the critical quality attributes that are necessary
-
-56
-00:03:18,190 --> 00:03:22,140
-for the system to be a success. And software engineering is the
-
-57
-00:03:22,140 --> 00:03:24,790
-activity of doing this not only for
-
-58
-00:03:24,790 --> 00:03:27,550
-the software components of engineering systems but
-
-59
-00:03:28,830 --> 00:03:31,740
-for the system overall, given that it's
-
-60
-00:03:31,740 --> 00:03:35,500
-so heavily reliant on it's underlying software technologies.
-
-61
-00:03:35,500 --> 00:03:40,440
->> So, I would say software engineering is the
-
-62
-00:03:40,440 --> 00:03:44,070
-kind of art and practice of building software systems.
-
-63
-00:03:44,070 --> 00:03:47,610
->> Software engineering, in a nutshell, is a set of
-
-64
-00:03:47,610 --> 00:03:52,140
-methods and principles and techniques that we have developed to enable us to
-
-65
-00:03:53,220 --> 00:03:57,830
-engineer, or build, large software systems that
-
-66
-00:03:59,090 --> 00:04:03,960
-outstrip or outpace one engineer's or even a small
-
-67
-00:04:03,960 --> 00:04:08,900
-team of engineer's ability or abilities to understand
-
-68
-00:04:08,900 --> 00:04:13,330
-and construct and maintain
-
-69
-00:04:13,330 --> 00:04:17,339
-over time. So it requires a lot of people, it requires a long,
-
-70
-00:04:17,339 --> 00:04:21,820
-term investment by an organization or a number of organizations, and often times
-
-71
-00:04:21,820 --> 00:04:28,040
-it requires support for systems that that are intended for one purpose but end
-
-72
-00:04:28,040 --> 00:04:33,930
-up getting used for many additional purposes in addition to the original one.
-
-73
-00:04:33,930 --> 00:04:38,656
->> Software engineering is about building and constructing very large-scale
-
-74
-00:04:38,656 --> 00:04:42,800
-high-quality systems, so the high quality is the big issue.
-
-75
-00:04:42,800 --> 00:04:46,268
->> Software engineering is engineering discipline of developing
-
-76
-00:04:46,268 --> 00:04:52,800
-software-based systems, usually embedded into larger systems composed of
-
-77
-00:04:52,800 --> 00:04:58,544
-hardware and and humans [LAUGH] and business
-
-78
-00:04:58,544 --> 00:05:04,943
-processes and processes in general. And why is that important?
-
-79
-00:05:04,943 --> 00:05:06,971
-Well, because software is pervasive in all industry sectors
-
-80
-00:05:06,971 --> 00:05:09,001
-and therefore systems must be reliable, safe and secure.
-
-81
-00:05:09,001 --> 00:05:13,232
->> Why can't we just get that by sitting down and writing software?
-
-82
-00:05:13,232 --> 00:05:16,697
->> Well, you could if software was small and
-
-83
-00:05:16,697 --> 00:05:20,162
-simple enough to be developed by one or two
-
-84
-00:05:20,162 --> 00:05:25,360
-people together in a room. But software development now
-
-85
-00:05:25,360 --> 00:05:31,550
-is distributed, involves teams of people with different backgrounds
-
-86
-00:05:31,550 --> 00:05:37,450
-who have to communicate with each other. It also involves customers,
-
-87
-00:05:37,450 --> 00:05:42,512
-clients, users. Software engineers have to work with
-
-88
-00:05:42,512 --> 00:05:47,462
-hardware engineers, with domain experts and therefore,
-
-89
-00:05:47,462 --> 00:05:52,233
-well, no, we can't simply sit down and start coding.
-
-90
-00:05:52,233 --> 00:05:57,380
->> Software engineering is mostly being able
-
-91
-00:05:57,380 --> 00:06:02,775
-to program. And you need to be able to put big
-
-92
-00:06:02,775 --> 00:06:06,920
-systems together so that they actually work. That's my simple definition.
-
-93
-00:06:06,920 --> 00:06:09,210
->> And if you don't use software engineering practices,
-
-94
-00:06:09,210 --> 00:06:10,670
-you're not going to be able to put them together?
-
-95
-00:06:10,670 --> 00:06:13,290
->> Well, you're not going to be able to reliably
-
-96
-00:06:13,290 --> 00:06:16,160
-put them together. So basically, you could maybe hack something up,
-
-97
-00:06:16,160 --> 00:06:18,750
-but it's not going to necessarily stand the test of time.
-
-98
-00:06:18,750 --> 00:06:21,221
-If somebody wants to change it it's probably going to break.
-
-99
-00:06:21,221 --> 00:06:24,140
->> It's important
-
-100
-00:06:24,140 --> 00:06:29,700
-because if you don't think about how you're building this system and
-
-101
-00:06:29,700 --> 00:06:31,600
-how you're trading off different aspects,
-
-102
-00:06:31,600 --> 00:06:35,580
-like performance and scalability and reliability, then
-
-103
-00:06:35,580 --> 00:06:39,900
-it's going to end up breaking or not lasting very long or not,
-
-104
-00:06:39,900 --> 00:06:42,900
-not doing everything that you want it to do, or being really expensive.
-
-105
-00:06:43,960 --> 00:06:45,800
->> If it's not done in a principled way it will
-
-106
-00:06:45,800 --> 00:06:49,220
-be bad and every user will suffer. That's why we need
-
-107
-00:06:49,220 --> 00:06:49,970
-software engineering.
-
-108
-00:06:49,970 --> 00:06:56,252
->> Why is it important? Because, I mean these two goal, productivity, faster,
-
-109
-00:06:56,252 --> 00:06:59,480
-in developing software. And higher quality
-
-110
-00:06:59,480 --> 00:07:03,551
-would be apparently important. Software is everywhere.
-
-111
-00:07:03,551 --> 00:07:08,260
->> It's important because we use software in everyday life. Everything's
-
-112
-00:07:08,260 --> 00:07:14,120
-built on software systems. And these are ubiquitous across our society.
-
-113
-00:07:14,120 --> 00:07:14,300
->> It's
-
-114
-00:07:14,300 --> 00:07:20,820
-important because software is everywhere around us and the way we build it,
-
-115
-00:07:20,820 --> 00:07:26,910
-and the way we maintain it, is something that determines almost a basic
-
-116
-00:07:26,910 --> 00:07:33,940
-quality of life nowadays. And getting that software right can make a difference,
-
-117
-00:07:33,940 --> 00:07:39,590
-oftentimes, between a really fun product and one that you won't like to use
-
-118
-00:07:40,640 --> 00:07:45,750
-a reasonably successful company, or one that fails. And in
-
-119
-00:07:45,750 --> 00:07:49,690
-more extreme cases even the difference between life and death,
-
-120
-00:07:49,690 --> 00:07:51,510
-if you think about the software that runs in the
-
-121
-00:07:51,510 --> 00:07:56,380
-airplane on which many of you fly on a regular basis.
-
-122
-00:07:56,380 --> 00:08:00,790
->> There are programs out there that if they screw up we are all screwed.
-
-123
-00:08:00,790 --> 00:08:02,440
->> Software engineering is crucially
-
-124
-00:08:02,440 --> 00:08:06,460
-important because it's the engineering discipline
-
-125
-00:08:06,460 --> 00:08:10,250
-that is uniquely capable of carrying out
-
-126
-00:08:10,250 --> 00:08:13,848
-the engineering mission for software reliant systems.
-
-127
-00:08:13,848 --> 00:08:17,620
->> In the U.S we've all seen an unfortunate example with
-
-128
-00:08:17,620 --> 00:08:23,032
-a system that went badly wrong in healthcare.gov and that system wasn't
-
-129
-00:08:23,032 --> 00:08:26,740
-engineered correctly. And I think if we look at the reasons for
-
-130
-00:08:26,740 --> 00:08:32,350
-that, they stem back to somewhere at the intersection between requirements and
-
-131
-00:08:32,350 --> 00:08:37,470
-architecture and politics and project management, and all of these things are
-
-132
-00:08:37,470 --> 00:08:43,270
-important concepts that have to go into the software engineering mix.
-
-133
-00:08:43,270 --> 00:08:45,570
->> It would end up in lots and lots of chaos because people
-
-134
-00:08:45,570 --> 00:08:47,220
-wouldn't know how to organize themselves and
-
-135
-00:08:47,220 --> 00:08:49,400
-wouldn't know how to organize software. Many
-
-136
-00:08:49,400 --> 00:08:53,830
-of software engineering has very simple rules that you need to apply properly in
-
-137
-00:08:53,830 --> 00:08:57,280
-order to get things done. And people who look at these rules and think,
-
-138
-00:08:57,280 --> 00:09:01,050
-these rules are so super simple. This is totally obvious. But once
-
-139
-00:09:01,050 --> 00:09:05,495
-you try to apply them, you'll find out they're not obvious at all.
-
-140
-00:09:05,495 --> 00:09:07,670
->> Now that we've heard these experts, let me show you an
-
-141
-00:09:07,670 --> 00:09:10,080
-example that illustrates what can happen
-
-142
-00:09:10,080 --> 00:09:12,410
-when software engineering practices are not suitably
-
-143
-00:09:15,310 --> 00:09:24,010
-applied. [NOISE].
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/3 - Software Failure Quiz - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/3 - Software Failure Quiz - lang_en.srt
deleted file mode 100644
index f98f98f..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/3 - Software Failure Quiz - lang_en.srt
+++ /dev/null
@@ -1,32 +0,0 @@
-1
-00:00:00,110 --> 00:00:01,940
-Now that you watched this small video, I like
-
-2
-00:00:01,940 --> 00:00:03,660
-to ask you, what is this? Do you think
-
-3
-00:00:03,660 --> 00:00:06,330
-it's fireworks for the 4th of July celebration, or
-
-4
-00:00:06,330 --> 00:00:08,280
-maybe it was a flare gun in action, or
-
-5
-00:00:08,280 --> 00:00:10,240
-maybe again it was the explosion of the Ariane
-
-6
-00:00:10,240 --> 00:00:12,280
-five rocket due to a software error. What do
-
-7
-00:00:12,280 --> 00:00:14,190
-you think? And in case it helps, I'm also
-
-8
-00:00:14,190 --> 00:00:16,450
-going to show you an actual picture of this event.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/4 - Software Failure Quiz Solution - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/4 - Software Failure Quiz Solution - lang_en.srt
deleted file mode 100644
index db633e2..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/4 - Software Failure Quiz Solution - lang_en.srt
+++ /dev/null
@@ -1,48 +0,0 @@
-1
-00:00:00,100 --> 00:00:02,600
-As you probably guessed, these are not fireworks for the 4th of
-
-2
-00:00:02,600 --> 00:00:06,670
-July but, rather, the explosion of the Ariane 5, which happened 30 seconds
-
-3
-00:00:06,670 --> 00:00:09,250
-or so after takeoff due to a software error. And this is
-
-4
-00:00:09,250 --> 00:00:12,020
-just an example of what can go wrong when we don't build software
-
-5
-00:00:12,020 --> 00:00:15,600
-and we don't test and verify and perform quality assurance of software
-
-6
-00:00:15,600 --> 00:00:18,540
-in the right way, and quite an expensive one. In fact, to develop
-
-7
-00:00:18,540 --> 00:00:21,250
-and to build the Ariane 5 it took 10 years. The cost
-
-8
-00:00:21,250 --> 00:00:25,240
-was around $7 billion and there were $500 million of cargo on board.
-
-9
-00:00:25,240 --> 00:00:27,280
-Luckily, at least there were no humans on the
-
-10
-00:00:27,280 --> 00:00:29,400
-rocket. And you can find more details in case
-
-11
-00:00:29,400 --> 00:00:31,610
-you're interested about the Ariane 5 accident in the
-
-12
-00:00:31,610 --> 00:00:33,230
-lesson notes. I put a couple of links there.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/5 - Discipline of Software Engineering - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/5 - Discipline of Software Engineering - lang_en.srt
deleted file mode 100644
index 6933222..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/5 - Discipline of Software Engineering - lang_en.srt
+++ /dev/null
@@ -1,80 +0,0 @@
-1
-00:00:00,140 --> 00:00:02,469
-And even if we don't go to these extreme examples, I'm
-
-2
-00:00:02,469 --> 00:00:04,380
-sure that you have all experienced
-
-3
-00:00:04,380 --> 00:00:06,540
-software problems, typically manifested in what
-
-4
-00:00:06,540 --> 00:00:09,630
-we call a crash. And that crash might happen while you're
-
-5
-00:00:09,630 --> 00:00:13,230
-finishing your homework or that three-page long email that you were preparing
-
-6
-00:00:13,230 --> 00:00:15,900
-for the last two hours. But why's it so difficult to
-
-7
-00:00:15,900 --> 00:00:20,220
-build software, or better, why's it so difficult to build good software?
-
-8
-00:00:20,220 --> 00:00:22,200
-And how can we do it? This is exactly the topic
-
-9
-00:00:22,200 --> 00:00:25,190
-of this class. And the reason why software engineering is a fundamental
-
-10
-00:00:25,190 --> 00:00:28,330
-discipline in computer science. To motivate that, in this class, we
-
-11
-00:00:28,330 --> 00:00:32,259
-will study a set of methodologies, techniques, and tools, that will help
-
-12
-00:00:32,259 --> 00:00:35,150
-us build high quality software that does what it's supposed to
-
-13
-00:00:35,150 --> 00:00:38,540
-do. And therefore, makes our customers happy. And that does it within
-
-14
-00:00:38,540 --> 00:00:42,375
-the given time and money constraints. So within the budget that
-
-15
-00:00:42,375 --> 00:00:44,300
-is allocated for the software. Before
-
-16
-00:00:44,300 --> 00:00:46,222
-jumping into today's software engineering techniques
-
-17
-00:00:46,222 --> 00:00:48,010
-though, let me take a step back and look at how
-
-18
-00:00:48,010 --> 00:00:50,240
-we got here, as I believe it is very important to have
-
-19
-00:00:50,240 --> 00:00:52,690
-some historical perspective on how this discipline was
-
-20
-00:00:52,690 --> 00:00:54,840
-born and how it was developed over the years.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt
deleted file mode 100644
index 41061a5..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/6 - The Software Crisis - lang_en.srt
+++ /dev/null
@@ -1,208 +0,0 @@
-1
-00:00:00,072 --> 00:00:02,190
-To do that we'll have to go back in time to
-
-2
-00:00:02,190 --> 00:00:05,280
-the late 60s. So what was happening in the 60s? Well for
-
-3
-00:00:05,280 --> 00:00:08,410
-example the first man landed on the moon. That was also
-
-4
-00:00:08,410 --> 00:00:11,720
-time when Woodstock took place and also the time when the first
-
-5
-00:00:11,720 --> 00:00:16,149
-60 second picture from Polaroid was created. Concurrently to these events,
-
-6
-00:00:16,149 --> 00:00:18,910
-which you probably didn't witness in first person, that was also the
-
-7
-00:00:18,910 --> 00:00:22,280
-time when people started to realize that they were not able
-
-8
-00:00:22,280 --> 00:00:25,610
-to build the software they needed. This happened for several reasons and
-
-9
-00:00:25,610 --> 00:00:29,220
-resulted in what we call the software crisis. So let's
-
-10
-00:00:29,220 --> 00:00:31,820
-look at some of the most important reasons behind this
-
-11
-00:00:31,820 --> 00:00:35,760
-crisis. The first cause was the rising demand for software.
-
-12
-00:00:35,760 --> 00:00:38,500
-Now you're used to see software everywhere: in your phone,
-
-13
-00:00:38,500 --> 00:00:41,530
-in your car, even your washing machine. Before the 60s,
-
-14
-00:00:41,530 --> 00:00:44,590
-however, the size and complexity of software was very limited
-
-15
-00:00:44,590 --> 00:00:47,580
-and hardware components were really dominating the scene. Then things
-
-16
-00:00:47,580 --> 00:00:51,490
-started to change and software started to be increasingly prevalent.
-
-17
-00:00:51,490 --> 00:00:53,940
-So we move from a situation where everything was mostly
-
-18
-00:00:53,940 --> 00:00:57,380
-hardware to a situation in which software became more and more
-
-19
-00:00:57,380 --> 00:01:00,660
-important. To give an example, I'm going to show you the growth
-
-20
-00:01:00,660 --> 00:01:04,080
-in the software demand at NASA along those years. And in
-
-21
-00:01:04,080 --> 00:01:07,610
-particular, from the 1950s to more or less 2000. And this
-
-22
-00:01:07,610 --> 00:01:10,350
-is just a qualitative plot but that's more or less the
-
-23
-00:01:10,350 --> 00:01:13,880
-ways things went. So the demand for software in NASA grow
-
-24
-00:01:13,880 --> 00:01:16,930
-exponentially. And the same happened in a lot of other companies.
-
-25
-00:01:16,930 --> 00:01:19,020
-For example, just to cite one, for Boeing. So the
-
-26
-00:01:19,020 --> 00:01:22,350
-amount of software on airplanes became larger and larger. The
-
-27
-00:01:22,350 --> 00:01:26,170
-second cause for the software crisis was the increasing amount
-
-28
-00:01:26,170 --> 00:01:30,210
-of development effort needed due to the increase of product complexity.
-
-29
-00:01:30,210 --> 00:01:34,260
-Unfortunately, software complexity does not increase linearly with size. It
-
-30
-00:01:34,260 --> 00:01:36,170
-is not the same thing to write software for a
-
-31
-00:01:36,170 --> 00:01:39,410
-class exercise or a small project, or a temp project,
-
-32
-00:01:39,410 --> 00:01:41,970
-than it is to build a software for a word processor,
-
-33
-00:01:41,970 --> 00:01:45,950
-an operating system, a distributed system, or even more complex and larger
-
-34
-00:01:45,950 --> 00:01:49,390
-system. And what I'm giving here is just an indicative size for
-
-35
-00:01:49,390 --> 00:01:52,643
-the software so the class exercise might be 100 lines of code,
-
-36
-00:01:52,643 --> 00:01:55,600
-the small project might be 1000 lines of code, in the other thousand
-
-37
-00:01:55,600 --> 00:01:58,328
-lines of code, and so on and so forth. For the former,
-
-38
-00:01:58,328 --> 00:02:01,510
-the heroic effort of an individual developer can get the job done.
-
-39
-00:02:01,510 --> 00:02:03,850
-So that's what we call a programming effort. If you're a good
-
-40
-00:02:03,850 --> 00:02:07,340
-programmer, you can go sit down and do it, right. For the latter,
-
-41
-00:02:07,340 --> 00:02:09,330
-this is not possible. This is what we called the
-
-42
-00:02:09,330 --> 00:02:13,810
-software engineering effort. In fact, no matter how much programming languages,
-
-43
-00:02:13,810 --> 00:02:17,280
-development environments, and software tools improve, developers could not keep
-
-44
-00:02:17,280 --> 00:02:20,220
-up with increasing software size and complexity. Which leads us to
-
-45
-00:02:20,220 --> 00:02:22,280
-the third problem that I want to mention and the
-
-46
-00:02:22,280 --> 00:02:25,020
-third reason for the software crisis. And this cause is the
-
-47
-00:02:25,020 --> 00:02:28,790
-slow developer's productivity growth. So let me show this again
-
-48
-00:02:28,790 --> 00:02:32,243
-with a qualitative diagram. And this is taken from the IEEE
-
-49
-00:02:32,243 --> 00:02:35,550
-Software Magazine. And what I'm showing here is the growth in
-
-50
-00:02:35,550 --> 00:02:39,930
-software size and complexity over time, and how the developers' productivity
-
-51
-00:02:39,930 --> 00:02:43,800
-really couldn't keep up with this additional software complexity, which resulted
-
-52
-00:02:43,800 --> 00:02:47,170
-in this gap between what was needed and what was actually available.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/7 - The Software Crisis Quiz - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/7 - The Software Crisis Quiz - lang_en.srt
deleted file mode 100644
index 004a36c..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/7 - The Software Crisis Quiz - lang_en.srt
+++ /dev/null
@@ -1,44 +0,0 @@
-1
-00:00:00,078 --> 00:00:02,480
-So now let's take a quick break and have a recap
-
-2
-00:00:02,480 --> 00:00:05,300
-of what we just discussed. I want you to think about what
-
-3
-00:00:05,300 --> 00:00:07,850
-are the major causes of the software crisis. I'm going to provide you
-
-4
-00:00:07,850 --> 00:00:10,250
-a set of possibilities and I would like for you to mark
-
-5
-00:00:10,250 --> 00:00:14,160
-all that apply. Was that increasing costs of computers? Was it increasing
-
-6
-00:00:14,160 --> 00:00:17,990
-product complexity, or maybe the lack of programmers? Or was it, instead,
-
-7
-00:00:17,990 --> 00:00:20,000
-this slow programmers productivity growth? The
-
-8
-00:00:20,000 --> 00:00:21,540
-lack of funding for software engineering
-
-9
-00:00:21,540 --> 00:00:25,210
-research? The rise in demand for software? And finally, was it maybe
-
-10
-00:00:25,210 --> 00:00:26,500
-the lack of caffeine in software
-
-11
-00:00:26,500 --> 00:00:29,570
-development organizations? Again, mark all that apply.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/8 - The Software Crisis Quiz Solution - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/8 - The Software Crisis Quiz Solution - lang_en.srt
deleted file mode 100644
index 33f5c6c..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/8 - The Software Crisis Quiz Solution - lang_en.srt
+++ /dev/null
@@ -1,52 +0,0 @@
-1
-00:00:00,090 --> 00:00:02,440
-So, if you think about what we just discussed. Definitely one
-
-2
-00:00:02,440 --> 00:00:06,210
-of the causes was the increasing product complexity. Products were becoming more
-
-3
-00:00:06,210 --> 00:00:09,510
-and more complex and software was replacing more and more, what
-
-4
-00:00:09,510 --> 00:00:11,860
-was before, provided by hardware components.
-
-5
-00:00:11,860 --> 00:00:14,160
-Slow productivity growth was another problem,
-
-6
-00:00:14,160 --> 00:00:17,350
-because programmers could not keep up with the additional complexity of
-
-7
-00:00:17,350 --> 00:00:19,720
-the software that they had to develop. I would like to say
-
-8
-00:00:19,720 --> 00:00:22,480
-there was lack of funding for software engineering research because I'm
-
-9
-00:00:22,480 --> 00:00:25,230
-a software engineering researcher, but that was not one of the reasons
-
-10
-00:00:25,230 --> 00:00:27,200
-for the software crisis. Instead, it was
-
-11
-00:00:27,200 --> 00:00:30,140
-the rising demand for software. Again, more
-
-12
-00:00:30,140 --> 00:00:32,060
-and more software was being required and
-
-13
-00:00:32,060 --> 00:00:33,850
-more and more software was replacing hardware.
-
diff --git a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/9 - Evidence of the Software Crisis - lang_en.srt b/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/9 - Evidence of the Software Crisis - lang_en.srt
deleted file mode 100644
index 0592078..0000000
--- a/usth/ICT2.7/P1L1 Introduction and Overview Subtitles/9 - Evidence of the Software Crisis - lang_en.srt
+++ /dev/null
@@ -1,116 +0,0 @@
-1
-00:00:00,120 --> 00:00:03,220
-After recapping the three major issues that characterize a software crisis
-
-2
-00:00:03,220 --> 00:00:05,626
-let's see what was the evidence that there was indeed a
-
-3
-00:00:05,626 --> 00:00:07,900
-crisis. So what I want to discuss now is the result
-
-4
-00:00:07,900 --> 00:00:11,060
-of a study performed by Davis in 1990s. So in even
-
-5
-00:00:11,060 --> 00:00:13,670
-more recent times than the 60s and the 70s. And the
-
-6
-00:00:13,670 --> 00:00:17,280
-study was performed on nine software projects that were totaling a
-
-7
-00:00:17,280 --> 00:00:20,990
-cost around $7 million and I'm going to show you how this
-
-8
-00:00:20,990 --> 00:00:25,190
-projects went using this representation, this pi representation, in which I'm
-
-9
-00:00:25,190 --> 00:00:27,520
-going to discuss what each of the segment of the
-
-10
-00:00:27,520 --> 00:00:30,010
-pi represent. So let's start looking at the first one.
-
-11
-00:00:30,010 --> 00:00:32,920
-This is a software that was usable as delivered. Other
-
-12
-00:00:32,920 --> 00:00:36,590
-software was delivered, and usable, either after some changes or
-
-13
-00:00:36,590 --> 00:00:41,080
-after some major modifications, so within additional costs involved.
-
-14
-00:00:41,080 --> 00:00:43,530
-But the striking piece of information here is that the
-
-15
-00:00:43,530 --> 00:00:46,890
-vast majority of the software, so these two slices, were
-
-16
-00:00:46,890 --> 00:00:50,250
-software that was either delivered but never successfully used or
-
-17
-00:00:50,250 --> 00:00:53,730
-software that was not even delivered. And this corresponded
-
-18
-00:00:53,730 --> 00:00:57,500
-to five over the seven total million dollars for
-
-19
-00:00:57,500 --> 00:01:00,050
-all the projects. So clearly, this shows a pretty
-
-20
-00:01:00,050 --> 00:01:03,910
-grim picture for software development and its success. In short,
-
-21
-00:01:03,910 --> 00:01:06,410
-there was clear evidence the software was becoming to
-
-22
-00:01:06,410 --> 00:01:08,990
-difficult too build and that the software industry was facing
-
-23
-00:01:08,990 --> 00:01:11,190
-a crisis. And this is what led to the
-
-24
-00:01:11,190 --> 00:01:15,130
-NATO Software Engineering Conference that was held in January 1969,
-
-25
-00:01:15,130 --> 00:01:19,100
-which is what we can consider the birth of software engineering. And what
-
-26
-00:01:19,100 --> 00:01:23,080
-I'm showing here is a drawing of the proceedings for that conference. And if
-
-27
-00:01:23,080 --> 00:01:26,020
-you look at the class notes you can see a link to the actual
-
-28
-00:01:26,020 --> 00:01:27,640
-proceedings, in case you are interested in
-
-29
-00:01:27,640 --> 00:01:29,180
-looking at the issues that were discussed.
-