codes for Algorithm I (Princeton) provided by coursera