P0: Problem Solving, fondamenti e software