Critical skills for solving design problems a practical guide to solving complex problems Computer methods for solving dynamic separation problems