Module 1: History and Introduction to OOP languages Flashcards

1
Q

_____ is a method of programming based on a hierarchy of classes, and
well-defined and cooperating objects.

A

Object-oriented programming

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

A _____ is a structure that defines the data and the methods to work on that data.

A

class

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

Paradigm Evolution (years)
1. Procedural - ____-_____ (procedural abstraction)
2. Data-Oriented - early ___s (data abstraction)
3. OOP - late ____s (inheritance and dynamic binding)

A
  1. Procedural - 1950s-1970s
  2. Data-Oriented - early 1980s
  3. OOP - late 1980s
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

[author(s)]
Simula 1 (1962 - 1965) and Simula 67 (1967)

A

Norwegian Computing Center,
Oslo, Norway by Ole-Johan Dahl and Kristen Nygaard.

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

[author(s)]
Smalltalk (1970s)

A

Alan Kay’s group at Xerox PARC

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

[author(s)]
C++ (early 1980s)

A

Bjarne Stroustrup, Bell Labs

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

Who developed Java?

A

James Gosling, Early 1990s

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

_____ uses a list of instructions to tell the computer what to do step-by-step. Also follows a top-down approach.

A

Procedural programming

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

Languages used in Procedural Programming:
(FAC BPC)

A
  • FORTRAN, ALGOL, COBOL,
  • BASIC, Pascal and C
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

_____ is an approach to problem-solving where all computations are carried out using objects. Also follows a bottom-up approach.

A

Object-oriented programming

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

Languages used in Object-Oriented Programming:
(JCCP PJRP ODSS)

A
  • Java, C++, C#, Python,
  • PHP, JavaScript, Ruby, Perl,
  • Objective-C, Dart, Swift, Scala.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Object-oriented programming has several advantages over procedural programming:

A
  • OOP is faster
  • OOP provides a clear structure
  • OOP helps to keep the Java code DRY “Don’t Repeat Yourself’
  • OOP makes it possible to create full reusable applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the two main aspects of object-oriented programming?

A

class (ex. Fruit) and objects (ex. Apple, Banana, Mango)

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

_____ are user-defined data types that act as the blueprint for individual objects, attributes and methods.

A

Classes

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

An _____ is the instance of the class, which helps programmers to use variables and methods of the class.

A

object

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

_____ are functions that are defined inside a class that describe the behaviors of an object.

A

Methods

17
Q

_____ are defined in the class template and represent the state of an object.

A

Attributes