C and Data Structures by Practice