Back to 07-129 homepage


Dr Flushing – Software Engineering





What was the "software crisis" of the 1960s, and how did it lead to the creation of software engineering? What problems did this new discipline aim to solve?

As a result of increasing computational power, developers realized that they could suddenly handle much bigger problems, but software started to crash because the existing methods were far too inadequate

What are Agile methods and the Waterfall model in software development, and how are they different?

The Agile methodology is a project management approach that involves breaking the project into phases and emphasizes continuous collaboration and improvement. This iterative process allows engineers to handle incredibly complicated problems to produce effective solutions. On the other hand, waterfall methods are gated, meaning that a team cannot proceed to he next problem until they solve the previous problem.

Why does Netflix intentionally shut down its servers randomly, and how does this help their software?

Do do this because they want to effectively test if their systems can handle unexpected problems. At the end of the day, they want to make sure that their infrastructure is incredibly resilient and that it can handle any problem they throw at it.

What is open-source software, and why do big companies like Google, Microsoft, and Amazon contribute to it?

Open-source software occurs when developers open up their code to contributors on the internet. It helps corporations work closely with end users and also is incredibly productive since open source contributors often work without pay.

Why can maintaining software sometimes be more costly than building it initially, and how does technical debt contribute to these higher maintenance costs?

Systems laden with technical debt are difficult to maintain. The quality and sustainability of the code suffers as a result, leading to more bugs that require more time to fix.