Computer programming is foundational to the study of computer science, and it overlaps quite a bit with many areas of mathematics. However, this material has rich applications to nearly all of courses you are taking at Southwestern, as well as to your extracurricular activities. This is especially true as time marches forward; our ability to collect not only more data, but more different types of data, makes computer science significantly more relevant and useful to a wider and wider variety of fields. For this project, you are going to explore some of these connections. Your task is to create a practice problem for me to assign to future CS 1 students. Your problem needs to have a connection or application to something other than math or computer science. The problem could be connected to one of your non-Math/CS classes at Southwestern, one of your extra-curricular activities, one of your hobbies, or really just anything that you are passionate about that isn't explicitly math or computer science.

Your submission should be written in the style of either a Stepik problem, a quiz, or an exam problem. You can also create your own programming project! If you do this, you should provide writeup that I could assign to students, solution code, and any relevant starter code. Designing your own programming project will be substantially more work, but it also gives you more room for creative expression. Your project should contain all of the following components: To help you avoid procrastination, I am requiring you to turn in a brainstorm during week 7 and a first draft during week 11. For the brainstorm, I will let you know if I think your project is proposing a suitable connection to a non-math/CS topic, and offer suggestions on how to make your project succeed. For the first draft I will give you feedback on whether whether your problem description needs more information, whether your test cases are useful, and/or whether your problem requires a sufficiently complex solution. I will also give you feedback on whether your solution code is correct or not. It's ok if you pivot or even completely change topics between the brainstorm, the first draft, and the final submission, but you need to demonstrate that you've started thinking about the direction of your project. The brainstorm and first draft will give you a chance to get feedback that will help you produce the most polished final proposal possible. The more work you put into your brainstorm and first draft, the less work you will need to do to create your final submission. The brainstorm and first draft will be worth 10 points each, based on demonstrating that you have made a meaningful attempt to make progress.

The final submission will be graded according to the following rubric: