OOP and Programming Concepts Review (Module 1-3)

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/44

flashcard set

Earn XP

Description and Tags

Flashcards covering key OOP concepts, UML, PDLC, compilers, Python, and RAD basics in fill-in-the-blank format.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

45 Terms

1
New cards

The __ is the basic unit of organization, a combination of a data element and a set of procedures.

OBJECT

2
New cards

The __ is the code to perform a service or operation, including tasks such as performing calculations, storing values, and presenting results.

METHOD

3
New cards

class

an object or set of objects that share a common structure

4
New cards

A specific occurrence of an object class is called an __.

instance

5
New cards

A __ is a lower-level category of a class with at least one unique attribute or method of its own, although it can make use of the same methods as its superclass.

SUBCLASS

6
New cards

The resulting tree-like structure is a __.

class hierarchy

7
New cards

A subclass inherits the attributes, methods, and variables from its __.

superclass

8
New cards

message

requests objects to perform their method

9
New cards

An __ occurs when a trigger causes an object to send a message.

event

10
New cards

encapsulation

the process of hiding the implementation details of an object from its user

11
New cards

polymorphism

allows instructions to be given to an object in a generalized rather than specific detailed command.

12
New cards

data abstraction

the process of creating new high-level data structure based on a defined object

13
New cards

Rapid Appication Development(RAD)

use of existing objects ratehr than writing everything

14
New cards

4 benefits of OOP

  1. reusability

  2. stability

  3. easier design

  4. faster design

15
New cards

REUSABILITY

The classes are designed so they can be reused in many system applications, or modified classes can be created using inheritacne

16
New cards

STABILITY

The classes are designed for repeated use and become stable over time.

17
New cards

EASIER DESIGN

The designer looks at each object as a black box due to encapsulation.

18
New cards

FASTER DESIGN

Applications can be created from existing components, due to inheritance and polymorphism

19
New cards

Machine languages

programmers write instructin in various programming languages, some directly understandable by the computer and otehrs require intermediate translation steps

C#, C++, java, and python

20
New cards

machine-level language

coded bits of zeros and ones, in binary format

21
New cards

assembly- level language

written as mnemonics, or symbolic codes

22
New cards

high-level language

english-like instructions that requries compilation

23
New cards

translator programs

called assemblers

were developed to convert assembly code to machine code at computer speeds

24
New cards

examples of assembly cde for adding two values in hexadecimal format

MOV AX, 00F3

ADD AX, BX

NOP

HLT

25
New cards

PROGRAM DEVELOPMENT LIFE CYCLE (PLDC) six steps

  1. anlyze the program

  2. design the program

  3. code the program

  4. test the prgram

  5. formalize the solution

  6. maintin the program

26
New cards

analyze the problem

define the problem to be solved and write program specifications

27
New cards

Design the program

use algorithmic thinking to develop a detailed logic plan using tools such as pseudo code; flowcharts, object structure diagram, event diagrams to group the program activities into modules

28
New cards

code the program

translate the design into an application using a programming language or application development tool or integrated development environment(IDE)

29
New cards

test the program

find and correct errors (debugging) until it is error-free and contains enough safeguards to ensure the desired results

30
New cards

formalize the solution

review and revise internal documentation; formalize and complete end-user (external) documentation

implement the solution at the user level

31
New cards

UNIFIED MODELLING SCALE (UML)

to define a standard way to visualize the way a system has been designed. It is quite similar to blueprints used in other fields of engineering

not a programming language but a visual language

32
New cards

UML diagrams

used to protray the behavior and structure of a system

33
New cards

UML Class Diagram

staticstructure diagram that describe the structure of a system by showing the system's classes, attribute, operations, and relationships among objects

34
New cards

Why Use Class Diagram?

  1. shows static structure of classifiers in a system

  2. they provide basic notations for other structure diagrams prescribed by UML

  3. helpful for developers and other team members

  4. business analysts can use class diagrams to mdoel system from a business perspective

35
New cards

Parts of a Class Diagram

  1. set of classes

  2. set of relationships between classes

36
New cards

formal definition of class

  1. structural features

  2. behavioral features

37
New cards

structural features (attribtues)

define what objects of the class “know"

represent the state of an object of the class

38
New cards

behavioral features (operations)

define what obejcts of the class “can do" and how they interact

39
New cards

3 parts of class notation

  1. class name

  2. class attributes

  3. class operations (methods)

40
New cards

class name

the name of the class appears in the first partition

41
New cards

class attributes

shown in the second partition

map onto members variablse in code

42
New cards

PY2EXE

a distutils extension which allows to build standalone windows executable programs (32 and 64-bit) from python scripts

43
New cards

Guido van Rossum

main creator of the python language

served as the BDFL (benevolent dictator for life) of python impacting decisions made to the language changes and updates

was working on AMOEBA, a microkernel-based distribtued system, for which he was developing system utilites in 1989

44
New cards

types of python programs

  1. console applications

  2. windows form apps

45
New cards

console applications

takes the input and display output at the comand line console