COP1000: Programming I