This course will introduce core programming concepts the Python programming language. Focus will be on developing good programming techniques and style. Topics covered will include primitive data types, mathematical operations, structured programming with conditional and iterative statements, and algorithm design. Students will design programs that solve problems, such as performing calculations, designing a logic game, and creating an artificially intelligent agent. No prior programming knowledge is necessary. This course is the prerequisite for AP Computer Science.

This project-based course will focus on defining what computer science is, including the history, goals, and scope of the discipline. The course will touch upon integral computer science topics, including logic, algorithms, data representation, networking, the internet, web design, artificial intelligence, and game building.  Projects will be done both individually and in teams and will combine computer science skills with ideas from other disciplines.  Many projects will be completed using the Scratch (scratch.mit.edu) environment, which allows students to build programs without worrying about programming syntax. There is no previous experience or prerequisites required for this class.