History of Software & AI Flashcards

1
Q

Origins of the waterfall model of software design

A

Originally introduced in 1956

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Origins of structured programming

A

Introduced by Edsger W. Dijkstra in the 1970s
Emphasized the use of control structures like loops and conditionals to improve program clarity, reliability, and ease of maintenance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Origins of Modular Programming

A

Pioneered by Larry Constantine int he 1970s, it emphasized breaking down a program into manageable, functional modules for better organization and reusability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

“The Software Crisis”

A

(Late 1960s - 1970s): The demand for software was rapidly increasing, leading to challenges in managing complexity, costs, and quality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Origins of Software Engineering

A

NATO Conference in Garmisch, Germany, (1968) coined the term “software engineering” to address the challenges and define principles for systematic software development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Origins of the Spiral Model of software design

A

Proposed by Barry Boehm in 1988, this iterative model incorporated risk assessment and allowed for flexible iterations through the development process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

The Agile Manifesto

A

In 2001, a group of software developers proposed the Agile Manifesto, emphasizing collaboration, customer feedback, and iterative development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Origins of SCRUM

A

Early 2000s [need more here]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Origins of Kanban

A

Early 2000s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Alan Turing

A

(1912-1954)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Grace Hopper (1906-1992)

A

(1906-1992)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

John von Neumann

A

(1903-1957)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Edsger W. Dijkstra

A

(1930-2002)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Barbara Liskov

A

(1939-Present)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Fred Brooks

A

(1931-Present)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Grady Booch

A

(1955-Present)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Kent Beck

A

(1961-Present)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Martin Fowler

A

(1963-Present)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Mary Shaw

A

(1943-Present)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Linus Torvalds

A

(1969-Present)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Charles Babbage

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Ada Lovalace

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

First International Conference on Software Engineering

A

1956
Marked the first time software engineering was discussed as a distinct discipline, laying the foundation for future developments.

24
Q

“The Mythical Man-Month”

A

Written by Fred Brooks
First ever software engineering book.
Highlighted project management challenges, emphasizing the importance of communication and conceptual integrity.

25
Q

First IEEE Software Engineering Standards

A

1983
IEEE published its first software engineering standards, promoting consistent and high-quality software practices.

26
Q

Capability Maturity Model (CMM)

A

1987
The Capability Maturity Model (CMM) provided a framework for evaluating and improving software development processes, marking a significant step towards process maturity and quality assurance.

27
Q

Ivar Jacobson

A
28
Q

James Rumbaugh

A
29
Q

Machine Code Era

A

1940s
The earliest “programming” was done using machine code (binary instructions) that directly controlled the computer hardware.

30
Q

Assembly Code Era

A

(late 1940s-early 1950s): Assembly languages used mnemonics to represent machine code instructions, making it more human-readable.

31
Q

Origins of FORTRAN

A

1957
Developed by IBM, Fortran (Formula Translation) was the first high-level programming language, designed for scientific and engineering calculations.

32
Q

Origins of LISP

A

1958
LISP (List Processing) was developed by John McCarthy at MIT, becoming the first programming language focused on artificial intelligence and symbolic processing.

33
Q

Origins of COBOL

A

1959
COBOL (Common Business-Oriented Language) was developed for business data processing.

34
Q

Origins of ALGOL 60

A

1960
ALGOL 60 had a major influence on subsequent programming languages, introducing block structures and lexical scoping.

35
Q

Origins of BASIC

A

1964
Beginner’s All-purpose Symbolic Instruction Code (BASIC) was designed for ease of use and played a significant role in popularizing computer programming.

36
Q

Origins of C

A

C, developed at Bell Labs by Dennis Ritchie, became a widely-used, influential, and highly portable programming language, serving as the foundation for later languages like C++ and Objective-C.

37
Q

Origins of C++

A

1985
An extension of C that introduced object-oriented programming features.

38
Q

Origins of PERL

A

1987
Practical Extraction and Reporting Language (Perl) emerged as a powerful scripting language, especially for text processing.

39
Q

Origins of Python

A

1991
Python, created by Guido van Rossum, aimed for code readability and ease of use.

40
Q

Origins of Java

A

1995
Java, developed by James Gosling at Sun Microsystems, brought portability and object-oriented principles to a new level.

41
Q

Origins of Ruby

A

1995
Ruby, known for its simplicity and productivity, gained popularity.

42
Q

Origins of C#

A

2000
C#, developed by Microsoft, was designed for building Windows applications and became a widely-used language.

43
Q

Origins of Swift

A

2014
Apple introduced Swift to replace Objective-C for iOS and macOS app development, focusing on safety, speed, and modern syntax.

44
Q

Origins of Go

A

2009
Go, developed by Google, emphasized simplicity, concurrency, and efficiency.

45
Q

Copyright act of 1976

A

Enacted in the United States, this legislation granted copyright protection to software, considering it a form of literary expression. It provided legal rights to software authors and creators, allowing them to control the distribution and use of their software.

46
Q

Computer Software Copyright act 1980

A

An amendment to the Copyright Act, this legislation clarified and reinforced the copyright protection for computer software. It established that both the source code and the object code of software were protected under copyright law.

47
Q

Berne convention

A

1989
The Berne Convention, an international agreement, aimed to protect literary and artistic works. It helped establish standardized copyright protection across member countries, including software, providing a framework for international legal standards.

48
Q

Digital Millennium Copyright Act (DMCA)

A

1998
The DMCA updated copyright laws to address digital media and technology. It included provisions criminalizing the production and dissemination of tools designed to circumvent copyright protection mechanisms, impacting the software industry.

49
Q

European Union Copyright Directive

A

2001 (EU)
The European Union Copyright Directive addressed issues related to the digital environment, including copyright protection for software. It set rules for the protection of intellectual property in the digital age and provided guidelines on how member states should enforce copyright.

50
Q

America Invents Act 2011

A

The America Invents Act introduced significant changes to the U.S. patent system, transitioning from a “first-to-invent” system to a “first-inventor-to-file” system. This affected the way software patents were filed and granted.

51
Q

General Data Protection Regulation (GDPR)

A

2018
Although not specific to software engineering, GDPR is a significant regulation impacting software development, especially in terms of data protection and privacy. It applies to the processing of personal data within the European Union and the European Economic Area.

52
Q

Software Engineering Institute (SEI) Established

A

1986
The establishment of the Software Engineering Institute (SEI) at Carnegie Mellon University played a crucial role in advancing software engineering practices, methodologies, and research.

53
Q

First release of Git

A

2004
The release of Git, a distributed version control system, significantly impacted code management and collaboration among developers, making version control more efficient and accessible

54
Q

Introduction of Docker

A

2008
Docker’s introduction revolutionized software deployment by enabling containerization, providing a lightweight and portable way to package and distribute software.

55
Q

Launch of Kubernetes

A

2014
Kubernetes, an open-source container orchestration system, has had a transformative impact on managing and automating the deployment, scaling, and operation of containerized applications