PIC 16B: Python with Applications II
About
In this Python course, students delve deeper into more advanced applications of the Python programming language. Students acquire data sets via databases and/or web-scrapers, perform complex data analysis, and they use machine learning pipelines for structured, image, and text data sets.
Course Description
Lecture, three hours; discussion, two hours. Advanced modern applications of the Python programming language, with topics varying by quarter. Possible topics include machine learning; web scraping; web development; applied and computational mathematics; simulation; software development; and other topics at the discretion of the instructor. May include a project component. P/NP or letter grading.
Learning Outcomes / Course Objectives / Core Competencies
Students will create complex Python programs to solve problems of interest in science and industry. Students will effectively deploy a range of Python packages to approach specialized tasks, and develop intuitive understandings of how these packages operate. Students will analyze and revise Python programs to improve clarity, robustness, and performance.
Students will gain experience in at least four of the following activities.
- Acquiring data sets via databases or web-scrapers.
- Analyzing data using complex manipulation and visualizations.
- Constructing complex machine learning pipelines for structured, image, and text data sets.
- Solving problems in computational mathematics, including systems of linear equations, eigenvalue problems and singular value decomposition, optimization, differential equations, and simulations.
- Enhancing program performance using multithreading.
- Deploying functional webpages using a Python-based web development framework.
- Constructing complex, robust, documented Python modules suitable for public dissemination and deployment.
Upon completion of this course, students will be able to write, analyze, and communicate about Python programs that accomplish complex computational tasks like these.
Additionally, students will be able to identify and install Python modules to achieve a wider variety of tasks than those directly covered in the course.
General Course Outline / Schedule of Lectures
Here is a recent schedule.