Writing Next Programs: An Introduction to Nextstep