A collection of programming problems involve common algorithms, designs and data structures.