DATA STRUCTURES
Is String a primitive data type? How about data/time?
May or may not be; it depends on the implementation
Floating-point types
Example of data type that may not be able to provide exact representations of values
The Unix Epoch/midnight, 1 January 1970, UTC, Gregorian Calendar)
Not a primitive data type
DATA TYPES in Programming Languages (PLs)
Primitive Data Types
a.k.a scalar simple
to represent atomic/indivisible values
examples: numbers, booleans, characters/symbols, enumeration, etc.
Structured Data Types
a.k.a complex, compound
to represent collections of values
may be natively supported by a PL (e.g. array)
implemented as user-defined data types using the PL’s more basic constructs
examples: arrays, records, lists, heaps, stacks, queues, sets, maps/directories, trees, graphs, etc.
ADT
Abstract Data Type
data type whose implementation details are “hidden” from the client/user
provides the client/user of an ADT to have a logical view of the data and the operations allowed on the data, without regard for how such will be implemented
the functionality of this can be implemented directly in hardware, provided as fundamental constructs in the language, can be user-defined via API
API
Application Programming Interface
set of rules or protocols that enables software applications to communicate with each other to exchange data, features and functionality
The Problem Solving Process
programming is ____________________ process which could be viewed in terms of 3 domains
Problem Domain, Machine Domain, Solution Domain
3 domains
Input (Problem Domain)
the raw data that are to be processed
Output (Problem Domain)
the processed data
Storage Medium (Machine Domain)
may be viewed as serially arranged bits that are addressable as a unit
Processing Unit (Machine Domain)
allows performing basic operations
Solution Domain
links the problem and machine domain