This course provides an introduction to the kdb+/q technology, with an emphasis on the supported programming paradigms: functional programming, array processing, and event-driven.
AUDIENCE
- Python programmers willing to gain insight into the offerings of KX kdb+/q
- No prior knowledge of kdb+/q is assumed
METHODOLOGY
- The course is structured around selected exercises sourced from existing collections such as: the APL problem solving competition, project Eurler, Rosetta Code, etc.
- The sessions will involve live coding practices using Jupyter notebooks.
COURSE OUTLINE (16 hours)
MODULE 1. Atomic functions
- Q datatypes: atoms and lists
- Atomic functions
- Application values
- Conditional evaluation
MODULE 2. Iterators
- Iterators vs. atomic functions
- Map iterators
- Accumulators
- Combining iterators
MODULE 3. Tables
- Dictionaries
- Tables
- qsql & functional forms
- Equijoins & as-of joins
MODULE 4. Kdb+
- Basic File IO
- Persistence: Splayed & Partitioned
- Interprocess Communication
- Python Integration