what is a programming paradigm?
It is a style of programming
Some languages only support one type of paradigm (eg. Haskell, small Basic) but some support more than one (eg. Python, Java, C#)
What are the 4 programming paradigms? (and give an example)
what is procedural programming?
what is structured programming?
what is declarative programming?
what is logic programming?
what is functional programming?
when might a declarative programming language be used?
what is backtracking?
what is an abstract data type?
queue, stack, tree, graph, hash table, etc.
what is object oriented programming?
what is a class?
the description of what the data looks like (the state) and what the data can do (the behavior) - kinda like a blueprint for the object- defines attributes + methods
what is an object?
a specific instance created based on the blueprint (class) that has its own unique data values
what is instantiation?
the process of creating an object of a class - memory is allocated for its attributes + initial values are set
what is a constructor?
a method that creates an instance of a class. in pseudocode:instance = new class(parameters)
what does it mean if an attribute is private?
users cannot directly access or change them - they can only be changed through methods (functions or procedures)
what is recursion?
what are local variables and why are they good?
what is a global variable and why are they good?
what is encapsulation?
when attributes and methods are bundled together under a single unit - eg. a class
good because it protects attributes being accessed directly
code for different classes can be produced independently of each other
what is a setter?
a method that sets the value of a particular attribute
what is a getter?
a method that retrieves the value of a given attribute
what is the difference between a function and a procedure?
what is inheritance?