Option D - Computer Science IB Leo

0.0(0)
Studied by 1 person
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/55

flashcard set

Earn XP

Description and Tags

Last updated 2:36 PM on 3/25/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

56 Terms

1
New cards

Object

An object is an instance of a class that is made up of data/attributes and behaviours/methods.

2
New cards

Private

It restricts access to certain class members,

only accessible within the class in which it is defined

3
New cards

Public

The entire class is public and accessable to other classes. This includes methods, variables, etc.

4
New cards

Static

Whatever is defined as static means that it belongs to the class.

5
New cards

Protected

Allows class members within same class and by subclasses even if in different packages

6
New cards

Extends

transfers use of parent class operations and methods to subclass

7
New cards

Class

A class is a blueprint that defiens the attributes and methods that objects will have

8
New cards

Instantiation

process of creating object from class

9
New cards

UML Diagram

visual representation of the design of a system before coding (relationship between attributes, methods and classes)

10
New cards

Relationships

3 types: is-a: one type is subtype of another, has-a: one type includes instance of another, uses: one portion of the program relies on another;

connections between classes in UML diagram

11
New cards

Constructing Objects

creating instances of classes, initializing attributes.

12
New cards

Data Types

2 types: Reference (String, Double, Integer, Boolean) and Primitive (int, double, char, boolean);

13
New cards

Parameter

value passed into a constructor

14
New cards

Encapsulation

Encapsulation means hiding an object's details and controlling access using methods. This protects data and keeps it secure. Hiding of instance variables

15
New cards

Inheritance

Inheritance is a feature that represents the “Is-A” relationship between different classes. Inheritance allows a class to have the same behavior as another class and extend or tailor that behaviour to provide specific action for specific need.

16
New cards

Polymorphism

Polymorphism is when different objects respond in different ways to the same method call, typically through inheritance

17
New cards

Advantage of Encapsulation

Increased reusability

Flexibility of design

Controlled Access

Reduced Errors

Improved security

Easier for team projects

18
New cards

Advantage of Inheritance

Code Reusability

Easier Maintenance
Reduced Errors

Extensibility

Easier for team projects

19
New cards

Advantage of Polymorphism

Code Flexibility

Easier program extenstion

Improved maintainability

Easier for team projects

20
New cards

Advantage of Libraries

  • Faster development

    • Libraries provide ready-made solutions for common tasks, eliminating the need to code from scratch, significantly speeding up the development of code.

  • Increased reliability:

    • Library code is thoroughly tested and debugged by its creators and the wider community. This means that using library objects can lead to more reliable software, as the risk of introducing bugs is reduced compared to custom written code.

  • Easier debugging and Testing

    • Since libraries are well-structured and have defined interfaces, isolating and fixing eros becomes much easier.

  • Standardisation and Consistency

    • Libraries promote the use of standardized and consistent code patterns. This improves code readability and maintainability, making it easier for different developers to collaborate on a project.

  • Reduced development costs

    • By reusing existing code, libraries help reduce development costs with writing, debugging and testing new code.

  • Access to specialized expertise

    • Libraries often encapsulate the expertise of experienced developers in specific domains. By using a library, you can leverage this expertise without needing to be an expert in that particular area yourself.

21
New cards

Advantage of OOP

Improved software development
Faster development
Higher quality software
Enables security
Enables modularity

22
New cards

Disadvantage of OOP

Steeper learning curve

Increased Complexity
Larger program size
slover performance
Not suitable for all programs

23
New cards

Programming Teams

A programming team is a group of developers who collaborate to build and maintain software by dividing tasks among members

24
New cards

Advantage of Modularity

  • Improved maintainability

    • Changes or fixes can be isolated to specific modules minimizing the impact on the rest of the program. This makes debugging easier and reduces the risk of introducing new errors when making updates.

  • Enhanced readability and Understandibility

    • Modular code is easier to read and understand because each module focuses on a specific task. This makes it easier for developers to grasp the overall structure of the program and collaborate effectively.

  • Increased reusability

    • Modules can be reused in different parts of the same program or even in other projects. This promotes code efficiency and saves time and resources.

  • Simplified Testing

    •  Modules can be tested independently, allowing for more thorough and efficient testing. This helps identify and address errors early in the development process.

  • Parallel Development

    •  Modularity enables different developers or teams to work on separate modules concurrently, accelerating the development process.

  • Flexibility and Scalability

    •  Modular programs are more adaptable to changing requirements. New modules can be added or existing ones modified without requiring major changes to the entire system.


25
New cards

Modularity

Modulairty involves break dowing large complex problems into smaller modules. Each module has a specific function

26
New cards

Identifier

An identifier is a name given to a variable class, method or object in a program so it can be referenced using code

27
New cards

Primitive Data type

A primitive data type is a data type which does not need to be imported and is predefined in the programming language, it stores a simple single value

28
New cards

Instance

Is a specific object created from a clase using instansiation

29
New cards

Variable

A variable is a named location in memory used to store a value that can change during program execution.

30
New cards

Parimeter Variable

A parameter variable is a variable defined in a method that receives a value when the method is called.

31
New cards

Local Variable

A local variable is a variable declared inside of a method that can only be used within that method

32
New cards

Method

A method is a function defined in a class that performs a specific operation.

33
New cards

Accessor

an accessor method/getter method is a method used to return the value of instance variables of an object

34
New cards

Mutator

A mutator method/setter method is a type of method which is used to modify the instance variable of an object

35
New cards

Constructor

A constructor is a special type of method used to create and initialize an object

36
New cards

Method Signature

A method signature defines the methods name and its parameters. It uniquely identifies a method.

37
New cards

Overriding

Overriding is when a subclass provides its own implementation of a method that already exists in its superclass

38
New cards

Overloading

Method overloading is when multiple methods in the same class can have the same name but different parameter lists.

39
New cards

Potential Ethical Issues

The effects that computer systems or software have on people and society, such as accessibility, employment, usability, and how technology changes communication or daily life.

40
New cards

Potential Social Issues

The moral responsibilities involved in developing and using software, including protecting privacy, ensuring security, properly testing software, and respecting intellectual property.

41
New cards

Static Array

A static array is an array with a fixed size that is determined when the arry is created and cannot be changed during execution

42
New cards

Dynamic Array

A dynamic array is an array whose size can change during program execution, allowing elements to be added or removed as needed.

43
New cards

Advantages and Disadvantages of a dynamic array

Flexible size
Efficient memory use
Convenience for unknown data sizes

Disadvantages:
Slower performance due to resizing
More complex
May require extra memory

44
New cards

Advantages and disadvantages of static arrays

Fast access
Simple to implement
Predictable memory so no overflow

Disadvantages:
Fixes Size
Possible memory waste

Risk of overflow

45
New cards

Disadvantages of Polymorphism

Complex code
Harder to debug as different objects may executre different versions of a method
reduced readability which hinders parrallel development

46
New cards

Disadvantages of Encapsulation

More methods required
Reduced flexibility
Increased development time
More complex parallel development

47
New cards

Disadvantages of Inheritance


Increased dependencies
Reduced flexibility
Harder to update code
Increased complexity

48
New cards

Abstraction

Abstraction is the process of hiding complex details of the code and showing only the essential features of an object or system

49
New cards

Abstraction advantages

Reduces complexity by hiding unnecessary details

Makes programs easier to use and understand

Improves maintainability because implementation can change without affecting users

Improved parallel development

50
New cards

Abstraction disadvantages

Can reduce flexibility
Extends development time
May be difficult/inefficient to implement

51
New cards

Decomposition

Decomposition refers to the process of breaking down a complex problem or system into smaller, more manageable parts called objects

52
New cards

Decomposition advantages

Reduces complexity
Improved modularity
Easier testing
Enhanced abstraction

Code reusability

53
New cards

Decomposition Disadvantages

Dependencies
requires careful planning

54
New cards

Aggregation, Association, and Composition

Aggregation is a “has-a” relationship between classes where one object contains another object, but the contained object can exist independently.

Association is a relationship where two classes are connected or interact with each other, but neither owns the other.

Composition is a strong “has-a” relationship where one object contains another object and the contained object cannot exist independently of the container.

55
New cards

Dependencies

another term for ‘‘uses’ relationship in UML

56
New cards

Disadvantages of dependencies

  • changes in one component may affect others

  • increases system complexity

  • makes debugging more difficult

  • reduces flexibility and maintainability

  • Makes parallel developlment more difficult

Explore top flashcards

flashcards
Lokapróf LÍFF
357
Updated 692d ago
0.0(0)
flashcards
BIOL 1307 Exam 1 Review
39
Updated 778d ago
0.0(0)
flashcards
EMI
308
Updated 378d ago
0.0(0)
flashcards
AS Rocks and Weathering
66
Updated 751d ago
0.0(0)
flashcards
Vocab Unit 4 and 5
21
Updated 101d ago
0.0(0)
flashcards
10th unit
69
Updated 171d ago
0.0(0)
flashcards
all dr.shehab Q&A histo nmu
104
Updated 626d ago
0.0(0)
flashcards
Lokapróf LÍFF
357
Updated 692d ago
0.0(0)
flashcards
BIOL 1307 Exam 1 Review
39
Updated 778d ago
0.0(0)
flashcards
EMI
308
Updated 378d ago
0.0(0)
flashcards
AS Rocks and Weathering
66
Updated 751d ago
0.0(0)
flashcards
Vocab Unit 4 and 5
21
Updated 101d ago
0.0(0)
flashcards
10th unit
69
Updated 171d ago
0.0(0)
flashcards
all dr.shehab Q&A histo nmu
104
Updated 626d ago
0.0(0)