Course Catalog
Data Focused Python
95-888
Units: 6
Description
This course is an introduction to the techniques and tools for problem solving via computational thinking.
While this course use the Python programming language for making concrete various ideas, the real emphasis of this course is on computational thinking (CT). Computational Thinking is a problem solving process involving the mechanisms of decomposition, abstraction, pattern recognition, and generalization. Decomposition is about taking a larger (and harder) problem and splitting it into smaller (and hopefully easier) problems. Abstraction is about the amplification of the essential and downplaying of the irrelevant. Pattern recognition and generalization have a ying-yang relationship. The former focuses on similarities and repeated designs within a problem or solution. The latter combines these similarities and patterns into a reusable solution.
Learning Outcomes
Upon successful completion of this course, students will be able to:
1. Apply the principles of computational thinking towards software development
2. Effectively use basic and advanced data structures and control structures of Python
3. Design data solutions using various Python libraries for dataframes (Polars), web scraping (Beautiful Soup), visualization (Altair)
4. Apply principles of object-orientation towards solution development
5. Demonstrate effective software development practices of iterative development, unit testing etc.