This course emphasizes problem-solving, design and programming as a means of understanding the core skills of computer science. These ideas are illustrated using the Python Programming language. Students will learn and use the Python Programming language as a means of focusing on algorithmic thinking and program design. Concepts learned in Python carry over directly to subsequent study of systems languages such as C++ and Java. This course is designed for students who have never learned the Python Programming language.