ICS 32 Lecture Notes Vocabulary

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

1/38

flashcard set

Earn XP

Description and Tags

Flashcards from ICS 32 lecture notes, focusing on key vocabulary and concepts for exam review.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

39 Terms

1
New cards

Spaghetti Code

Code that is disorganized, overly interconnected, messy, and difficult to modify.

2
New cards

Refactor

Reorganizing code to improve its cohesiveness and reduce coupling.

3
New cards

Don't Repeat Yourself (DRY)

A design principle that emphasizes avoiding repetition in code.

4
New cards

Separation of Concerns

Separating different concerns/ responsibilities in code into distinct sections. Separate logic from error testing

5
New cards

Single Responsibility Principle

A unit should have only one reason to change.

6
New cards

Open Closed Principle

A design should be closed for modification but open for extension.

7
New cards

Liskov’s Substitution Principle

A parent class should be able to be substituted with its child class for correct generalization.

8
New cards

Interface Segregation Principle

Classes should not be forced to depend on methods they do not use.

9
New cards

Dependency Inversion Principle

Abstractions should not depend upon details; details should depend upon abstractions.

10
New cards

Procedural Programming (PP)

Breaking down a large problem into smaller procedures/functions. Data is passed between functions as vars.

11
New cards

Object-Oriented Programming (OOP)

Functions are utilities of data, with software defined by the relationships between objects/classes.

12
New cards

Functional Programming (FP)

Treating functions like data, enabling functions to be passed to or returned by other functions.

13
New cards

Heap

Dynamic memory, allocated at run time.

14
New cards

Stack

Stores functions and local variables; follows a last-in, last-out structure.

15
New cards

Inheritance

A relationship where a subclass inherits attributes and methods from a parent class, signifying an 'is a' relationship.

16
New cards

Generalization

Parent classes are more general, child classes are more specific.

17
New cards

Overriding

Creating a method in a subclass with the same name as a method in its superclass, but with different functionality.

18
New cards

Recursion

A function that calls itself.

19
New cards

Higher-Order Function

A function that receives a function as a parameter, and/or returns a function back.

20
New cards

Stack

first in, last out data stucture (FILO), LIFO, uses two main methods that manipulate the data: push & pop

21
New cards

Queue

first in, first out (FIFO) data structure

22
New cards

Exceptions

Events that occur during program execution that disrupt the normal flow.

23
New cards

Black box testing

Tests the external functionality of code through input and output, without knowledge of internal implementation.

24
New cards

White box testing

Tests the internal functionality of code, requiring access to the internal workings of the program.

25
New cards

CSV (Comma Separated Values)

A pure text file that stores records, one per line separated by commas.

26
New cards

JSON (JavaScript Object Notation)

A lightweight data-interchange format used for structured data.

27
New cards

Module

Any python code with functions/classes that ends in .py

28
New cards

Scope

The area of code where a name is visible.

29
New cards

Namespace

Maps names to objects to track all the objects in a program.

30
New cards

Class Attributes

Owned by the class itself

31
New cards

Instance Attributes

Owned by an object of the class, placed in the init constructor

32
New cards

Constructor

A special type of function that creates objects of a class

33
New cards

Graphical User Interface

GUI; the most widely used human-computer interactions

34
New cards

Domain Name Server (DNS)

translates the domain to IP address

35
New cards

Universal Resource Identifier (URI)

A string of characters used to identify a resource

36
New cards

Name-Address Resolution

The mapping of an IP address to a Domain name

37
New cards

Methods

Belong to the class and defined within the scope of the class. Can only be called when used with an object from the same class

38
New cards

Abstract Methods

A method in a class that has no implementations, left for child classes to override and use

39
New cards

Abstract Classes

A class with one or more abstract methods. Used when the concepts are abstract