In this course students will develop, or improve upon, their problem-solving skills. Students will learn to use those problem-solving skills to analyze problems and determine how to create solutions. Students will document their solutions (e.g., in pseudocode or UML diagrams) and, by the end of the course, translate their solutions into running programs written in at least two languages (e.g., Python and C#). Students will learn programming concepts including the use of variables, program input and output, flow control (if-then-else, looping, etc.), and error testing. Students will learn how to set up Integrated Development Environments (IDE) such as X-code and MS Visual Studio on their personal computers in which they will write programs.