'Return the blocks in the order with which they\'re seen in the courseware. Parents are ordered before children.'

@property
def ordered_blocks(self):

    if self.structure:
        ordered_blocks = OrderedDict()
        self._traverse_tree(self.structure['root'], self.structure['blocks'], ordered_blocks)
        return ordered_blocks
