Learning programming and problem solving, like learning a musical instrument or a sport, requires practice, lots of practice — you cannot simply read about or memorize the concepts. These problems are meant to give you quick feedback about how well you have solved the problem. Each problem typically involves writing one or more methods that are then tested on a variety of input values. Many of these problems will be used as part of the Programming Assignments, giving you the chance to better understand those projects and the confidence that core pieces of the project are working before you have to code those.
Attempting to do these problems each week will give you a good sense of how well you are keeping up with the course material. Also, completing past problems may not help your grade directly, but it is an excellent way to study for the exams.
The problems assigned are linked here.
Submission
These problems will be assigned almost every week throughout the semester, with some problems marked as required and others as optional. Some will be started or finished during class or lab and others you will do completely on your own. Only problems turned in by the due date will be given credit for that week — no late APTs will be accepted. Any problems you do above the minimum required will help you towards earning an A in the course.
You will be given a description of a problem and asked to write code to solve it — testing the code online and when you are done with the code you must submit it from within Eclipse or on the web. Generally, you are not graded on the quality of source code, but based on how many of the test cases your solution solves correctly.