Dive into computer science through hands-on projects blending theory and application. Explore topics like discrete probability, graph theory, and data analysis while strengthening your programming and problem-solving skills. Taught in Python, this course combines lectures and lab time to help students think like computer scientists and build a strong foundation for future study in CS.
This hands-on course offers an in-depth exploration of computer science, combining both theoretical and applied topics. Students will engage with mathematical concepts such as discrete probability and graph theory while working on data analysis and system implementation projects. The goal is to help students think like computer scientists—developing strong analytical reasoning, mathematical fluency, and programming proficiency.
Course sessions blend lectures with active lab work, supported by teaching assistants. Students will primarily work in Python, receiving a brief introduction to the language before diving into complex problem-solving.
Designed for students with prior programming experience equivalent to AP Computer Science A or Penn’s CIS 1100, the course offers a challenging and rewarding learning environment. While some examples and tools may touch on AI or Robotics, the emphasis remains on the core principles of computer science. Advanced students will have the opportunity to extend assignments independently, applying creativity and initiative to go beyond the standard curriculum.