[fa17] Introduction to programming. Fundamental programming skills, typically using Java or JavaScript. Problem analysis and algorithm design with examples drawn from numerical and discrete problems.