Explores the algorithms needed to solve a given problem, reason about corner cases, and write correct implementations under time pressure. Focuses on skills useful for international programming competitions, whiteboard job interviews, and programming tasks that require quickly solving challenging problems with creative use of algorithms. One lecture hour a week for one semester. Computer Science 104 and 109(Topic: Competitive Programming) may not both be counted. Prerequisite: Computer Science 311 or 311Hwith a grade of at least C-, and registration or credit in Computer Science 314 or 314H with a grade of at least C-.