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)

  1. Primitive Data Types

  • a.k.a scalar simple

  • to represent atomic/indivisible values

  • examples: numbers, booleans, characters/symbols, enumeration, etc.

  1. 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