General programming practice, mainly data structures and algorithms