CS2400 M1 Flashcards
Cover the MOST important topics of CS2400
- M1: What is an ADT?
Abstract Data Type. A specification that describes the data set and what operations to perform on it - the what part of data structures. Used to separate interface (what user sees) and implementation (code).
M1: What is Abstraction?
A method of divide & conquer to make a complex task simpler to solve, and make the interface simpler for the user/programmer.
M1: What is an Algorithm?
A procedure/set of instructions that takes a problem from the initial state to the end state.
- M1: What are Data Structures?
A particular way of storing and organizing data so it can be used efficiently.
M1: What is a Collection?
Something that stores its entries in a linear sequence i.e. a list, bag, dictionary.
M1: How to decide what Data Structure to use?
What data are we storing, what operations are we performing, how are we going to store it, and how are we going to implement operations? How efficient do we need to be, how much space do we have, and what is the runtime of the operations?
M1: What are Trees and Graphs classified as?
Trees organize entries according to a hierarchy, and graphs organize based on relationships among its entries. These are not collections.
M1: Why would you reduce efficiency of an algorithm?
A slower algorithm is harder to crack: i.e. an algorithm that stores 16 character passwords is slower but more secure than one that stores 8 character passwords. Also, it may be easier or cheaper to code less optimized algorithms.
M1: What are the steps in the Development Process?
Specification, design, implementation, analysis, testing/debugging, and maintenance. These are not always in the same order.
M2: What is Encapsulation?
Hiding implementation within the class, and only allowing for the outside world to see a public interface. Variables are private, but methods to modify or access them are public.
M2: What is Inheritance?
Inheritance is when a subclass/derived class has the same intrinsic properties of its superclass/base class.