Overview

Qualification Institution Date
Software Development in Python, Certificate of Achievement Foothill College 2021-06-25
Advanced Software Development, Certificate of Achievement Foothill College 2021-06-25
Applied Data Science with Python Specialization University of Michigan 2025-03-01
Applied Social Network Analysis in Python University of Michigan 2025-03-01
Applied Text Mining in Python University of Michigan 2025-02-17
Applied Machine Learning in Python University of Michigan 2025-02-11
Applied Plotting, Charting, and Data Representation in Python University of Michigan 2025-01-24
Introduction to Data Science in Python University of Michigan 2024-10-19
Python 3 Programming Specialization University of Michigan 2025-01-09
Python Project: Software Engineering and Image Manipulation University of Michigan 2025-01-09
Python Classes and Inheritance University of Michigan 2024-12-29
Data Collection and Processing with Python University of Michigan 2025-01-07
Python Functions, Files, and Dictionaries University of Michigan 2025-01-05
Python Basics University of Michigan 2024-12-31
Python for Everybody Specialization University of Michigan 2024-09-06
Capstone: Retrieving, Processing, and Visualizing Data with Python University of Michigan 2024-09-06
Using Databases with Python University of Michigan 2024-09-06
Using Python to Access Web Data University of Michigan 2024-09-04
Python Data Structures University of Michigan 2024-09-03
Programming for Everybody (Getting Started with Python) University of Michigan 2024-09-02
TensorFlow 2 for Deep Learning Specialization Imperial College London 2021-12-27
Probabilistic Deep Learning with TensorFlow 2 Imperial College London 2021-12-27
Customizing your Models with TensorFlow 2 Imperial College London 2021-10-29
Getting Started with TensorFlow 2 Imperial College London 2021-09-20
Building RESTful APIs with Flask LinkedIn Learning 2024-07-30
Advanced Python: Working with Databases LinkedIn Learning 2024-07-26
Advanced Python: Practical Database Examples LinkedIn Learning 2024-07-12
Git from Scratch LinkedIn Learning 2023-05-02
Git Essential Training (2023) LinkedIn Learning 2023-05-02
Advanced Python: Working with Databases (2020) LinkedIn Learning 2023-04-30
Automating QGIS 3.xx with Python Udemy 2023-01-01
Learning ArcGIS Python Scripting (2018) LinkedIn Learning 2022-06-08
Performing Analysis Using ArcGIS API for Python Esri Training 2024-05-08
Accessing Data in a Portal Using ArcGIS API for Python Esri Training 2024-05-03
Introduction to ArcGIS API for Python Esri Training 2024-04-27
Python Scripting for Geoprocessing Workflows Esri Training 2024-03-21
Python Scripting Modifying Page Layouts Esri Training 2024-03-02
Python Scripting Repairing Data Sources Esri Training 2024-02-24
Python for Everyone Esri Training 2024-02-10
ArcGIS Notebooks Basics (2021) Esri Training 2021-02-02
GeoPandas Certification Modern GIS 2025-04-27

Details

Software Development in Python, Certificate of Achievement

Foothill College, 2021-06-25

[Software Development in Python, Certificate of Achievement](#software-development-in-python-certificate-of-achievement)

PDF | Return to overview

Certificate of Achievement in Software Development in Python • 27 Units

The Software Development in Python Certificate of Achievement program equips students with proficiency in Python programming and software development methodologies. It benefits professionals in data research, AI, web design, and other software development fields. Students can earn the certificate while pursuing higher computer science degrees or as a standalone credential. Graduates can pursue careers in various computer and software engineering roles, including web development, software development, data science, and computer systems management.

Program Outline

  • The Software Development in Python Certificate of Achievement program is intended to develop proficiency in software development and methodologies for applications using Python.

  • Python serves as a high-level programming language allowing efficient work processes and system integrations.

  • Professionals who pursue careers associated with data research, AI, quality assurance, back-end web design, and other areas in the software development sector can benefit from the skills gained within this program.

  • Students can earn this certificate as they work toward higher computer science degrees, which include Associate degrees designed for computer science with the intention of transfer.

External link | Return to overview

CS 3A • OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON • 4.5 Units

Systematic introduction to fundamental concepts of computer science through the study of the Python programming language. Coding topics include control structures, functions, classes, string processing, lists, tuples, dictionaries, working with files, and elementary graphics. Concept topics include algorithms, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.

Student Learning Outcomes

  • A successful student will be able to write and debug Python programs which make use of the fundamental control structures and function-building techniques common to all programming languages. Specifically, the student will use data types, input, output, iterative, conditional, and functional components of the language in his or her programs.

  • A successful student will be able to use object-oriented programming techniques to design and implement a clear, well-structured Python program. Specifically, the student will use and design classes and objects in his or her programs.

PDF | External link | Return to overview

CS 3B • INTERMEDIATE SOFTWARE DESIGN IN PYTHON • 4.5 Units

Systematic treatment of intermediate concepts in computer science through the study of Python object-oriented programming (OOP). Coding topics include Python sequences, user-defined classes and interfaces, modules, packages, collection classes, threads, lambda expressions, list comprehensions, regular expressions and multi-dimensional arrays. Concept topics include OOP project design, recursion, inheritance, polymorphism, functional programming, linked-lists, FIFOs, LIFOs, event-driven parsing, exceptions, and guarded code.

Student Learning Outcomes

  • A successful student will be able to use the Python environment to define the basic abstract data types (stacks, queues, lists) and iterators of those types to effectively manipulate the data in his or her program.

  • A successful student will be able to write and debug Python programs which make use of inheritance, i.e., the "is a" relationship, common to all OOP languages. Specifically, the student will define base and derived classes and use common techniques such as method chaining in his or her programs.

PDF | External link | Return to overview

CS 3C • ADVANCED DATA STRUCTURES & ALGORITHMS IN PYTHON • 4.5 Units

A systematic treatment of advanced data structures, algorithm analysis, and abstract data types in the Python programming language, intended for computer science majors as well as non-majors and professionals seeking advanced Python experience. Coding topics include large program software engineering design, multi-dimensional arrays, string processing, primitives, compound types, and allocation of instance and static data. Data structure concept topics include dynamic memory, inheritance, polymorphism, hierarchies, recursion, linked-lists, stacks, queues, trees, hash tables, and graphs. Algorithm concept topics include searching, big-O time complexity, analysis of all major sorting techniques, top down splaying, AVL tree balancing, shortest path algorithms, minimum spanning trees, and maximum flow graphs.

Student Learning Outcomes

  • The successful student will be able to write and incorporate balanced trees, hash tables, directed graphs and priority queues in his or her software.

  • The successful student will be able to analyze the time complexity of a variety of algorithms and data structure access techniques and choose the best algorithm and/or data structure for the project at hand.

PDF | External link | Return to overview

CS 22A • JAVASCRIPT FOR PROGRAMMERS • 4.5 Units

Introduction to object oriented programming in JavaScript. Topics include: client and server side programming, Model/View/Controller architecture, current tools and testing methods, interaction with HTML and CSS, Document Object Model, XML, and JSON. Students will have practice writing programs for mobile web browsers and creating dynamic webpages including animation.

Student Learning Outcomes

  • Use a web application development environment that includes a browser, editor, debugger and code libraries.

  • Write modifiable JavaScript programs that modify the DOM, respond to user events and make requests to the server.

PDF | External link | Return to overview

CS 31A • INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS • 4.5 Units

Introduction to database design and use of database management systems for applications. Topics include database architecture, comparison to file-based systems, historical data models, conceptual model; integrity constraints and triggers; functional dependencies and normal forms; relational model, algebra, database processing and Structured Query Language (SQL), database access from Applications-Embedded SQL, JDBC, Cursors, Dynamic SQL, Stored Procedures. Emerging trends will be studied, such as NoSQL databases, internet and databases, and Online Analytical Processing (OLAP). A team project that builds a database application for a real-world scenario is an important element of the course.

Student Learning Outcomes

  • Create a conceptual database design

  • Use Structured Query Language to perform queries on a database

PDF | External link | Return to overview

MATH 10 • ELEMENTARY STATISTICS • 5 Units

An introduction to modern methods of descriptive statistics, including collection and presentation of data; measures of central tendency and dispersion; probability; sampling distributions; hypothesis testing and statistical inference; linear regression and correlation; analysis of variance; use of microcomputers for statistical calculations. Illustrations taken from the fields of business, economics, medicine, engineering, education, psychology, sociology, social sciences, life science, and health science.

Student Learning Outcomes

  • Students will formulate conclusions about a population based on analysis of sample data.

  • Students will develop conceptual understanding of descriptive and inferential statistics. They will demonstrate and communicate this understanding in a variety of ways, such as: reasoning with definitions and theorems, connecting concepts, and connecting multiple representations, as appropriate.

  • Students will demonstrate the ability to compute descriptive statistics, calculate confidence intervals, and carry out tests of hypotheses.

PDF | External link | Return to overview

Advanced Software Development, Certificate of Achievement

Foothill College, 2021-06-25

[Advanced Software Development, Certificate of Achievement](#advanced-software-development-certificate-of-achievement)

PDF | Return to overview

Certificate of Achievement in Advanced Software Development • 27 Units

The Certificate of Achievement in Advanced Software Development teaches skills needed by the software engineering industry. It can be completed in one of the major mainstream languages of instruction (Java, C++ or Python). Besides learning intermediate skills relating to syntax, control structures and simple data structures, the program teaches students advanced data structures including hash tables, trees and graphs, and introduces algorithms intended to solve complex problems using such data structures. The courses required for this certificate can lead to a higher degree in computer science including an Associate’s degree for transfer in computer science.

Program Learning Outcomes

  • Students will be able to design, document, test and debug programs using Python, C++ or Java.

  • Students will be able to use design patterns in application programs.

  • Students will be able to demonstrate techniques for creating modular reusable code.

External link | Return to overview

CS 3A • OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON • 4.5 Units

Systematic introduction to fundamental concepts of computer science through the study of the Python programming language. Coding topics include control structures, functions, classes, string processing, lists, tuples, dictionaries, working with files, and elementary graphics. Concept topics include algorithms, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.

Student Learning Outcomes

  • A successful student will be able to write and debug Python programs which make use of the fundamental control structures and function-building techniques common to all programming languages. Specifically, the student will use data types, input, output, iterative, conditional, and functional components of the language in his or her programs.

  • A successful student will be able to use object-oriented programming techniques to design and implement a clear, well-structured Python program. Specifically, the student will use and design classes and objects in his or her programs.

PDF | External link | Return to overview

CS 3B • INTERMEDIATE SOFTWARE DESIGN IN PYTHON • 4.5 Units

Systematic treatment of intermediate concepts in computer science through the study of Python object-oriented programming (OOP). Coding topics include Python sequences, user-defined classes and interfaces, modules, packages, collection classes, threads, lambda expressions, list comprehensions, regular expressions and multi-dimensional arrays. Concept topics include OOP project design, recursion, inheritance, polymorphism, functional programming, linked-lists, FIFOs, LIFOs, event-driven parsing, exceptions, and guarded code.

Student Learning Outcomes

  • A successful student will be able to use the Python environment to define the basic abstract data types (stacks, queues, lists) and iterators of those types to effectively manipulate the data in his or her program.

  • A successful student will be able to write and debug Python programs which make use of inheritance, i.e., the "is a" relationship, common to all OOP languages. Specifically, the student will define base and derived classes and use common techniques such as method chaining in his or her programs.

PDF | External link | Return to overview

CS 3C • ADVANCED DATA STRUCTURES & ALGORITHMS IN PYTHON • 4.5 Units

A systematic treatment of advanced data structures, algorithm analysis, and abstract data types in the Python programming language, intended for computer science majors as well as non-majors and professionals seeking advanced Python experience. Coding topics include large program software engineering design, multi-dimensional arrays, string processing, primitives, compound types, and allocation of instance and static data. Data structure concept topics include dynamic memory, inheritance, polymorphism, hierarchies, recursion, linked-lists, stacks, queues, trees, hash tables, and graphs. Algorithm concept topics include searching, big-O time complexity, analysis of all major sorting techniques, top down splaying, AVL tree balancing, shortest path algorithms, minimum spanning trees, and maximum flow graphs.

Student Learning Outcomes

  • The successful student will be able to write and incorporate balanced trees, hash tables, directed graphs and priority queues in his or her software.

  • The successful student will be able to analyze the time complexity of a variety of algorithms and data structure access techniques and choose the best algorithm and/or data structure for the project at hand.

PDF | External link | Return to overview

CS 22A • JAVASCRIPT FOR PROGRAMMERS • 4.5 Units

Introduction to object oriented programming in JavaScript. Topics include: client and server side programming, Model/View/Controller architecture, current tools and testing methods, interaction with HTML and CSS, Document Object Model, XML, and JSON. Students will have practice writing programs for mobile web browsers and creating dynamic webpages including animation.

Student Learning Outcomes

  • Use a web application development environment that includes a browser, editor, debugger and code libraries.

  • Write modifiable JavaScript programs that modify the DOM, respond to user events and make requests to the server.

PDF | External link | Return to overview

CS 31A • INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS • 4.5 Units

Introduction to database design and use of database management systems for applications. Topics include database architecture, comparison to file-based systems, historical data models, conceptual model; integrity constraints and triggers; functional dependencies and normal forms; relational model, algebra, database processing and Structured Query Language (SQL), database access from Applications-Embedded SQL, JDBC, Cursors, Dynamic SQL, Stored Procedures. Emerging trends will be studied, such as NoSQL databases, internet and databases, and Online Analytical Processing (OLAP). A team project that builds a database application for a real-world scenario is an important element of the course.

Student Learning Outcomes

  • Create a conceptual database design

  • Use Structured Query Language to perform queries on a database

PDF | External link | Return to overview

MATH 10 • ELEMENTARY STATISTICS • 5 Units

An introduction to modern methods of descriptive statistics, including collection and presentation of data; measures of central tendency and dispersion; probability; sampling distributions; hypothesis testing and statistical inference; linear regression and correlation; analysis of variance; use of microcomputers for statistical calculations. Illustrations taken from the fields of business, economics, medicine, engineering, education, psychology, sociology, social sciences, life science, and health science.

Student Learning Outcomes

  • Students will formulate conclusions about a population based on analysis of sample data.

  • Students will develop conceptual understanding of descriptive and inferential statistics. They will demonstrate and communicate this understanding in a variety of ways, such as: reasoning with definitions and theorems, connecting concepts, and connecting multiple representations, as appropriate.

  • Students will demonstrate the ability to compute descriptive statistics, calculate confidence intervals, and carry out tests of hypotheses.

PDF | External link | Return to overview

Applied Data Science with Python Specialization

University of Michigan, 2025-03-01

[Applied Data Science with Python Specialization](#applied-data-science-with-python-specialization)

PDF | External Link | Return to overview

The 5 courses in this University of Michigan specialization introduce learners to data science through the python programming language. This skills-based specialization is intended for learners who have a basic python or programming background, and want to apply statistical, machine learning, information visualization, text analysis, and social network analysis techniques through popular python toolkits such as pandas, matplotlib, scikit-learn, nltk, and networkx to gain insight into their data.

Introduction to Data Science in Python (course 1), Applied Plotting, Charting & Data Representation in Python (course 2), and Applied Machine Learning in Python (course 3) should be taken in order and prior to any other course in the specialization. After completing those, courses 4 and 5 can be taken in any order.

What you'll learn

  • Conduct an inferential statistical analysis

  • Discern whether a data visualization is good or bad

  • Enhance a data analysis with applied machine learning

  • Analyze the connectivity of a social network

External link | Return to overview

Applied Social Network Analysis in Python

University of Michigan, 2025-03-01

[Applied Social Network Analysis in Python](#applied-social-network-analysis-in-python)

PDF | External Link | Return to overview

This course will introduce the learner to network analysis through tutorials using the NetworkX library. The course begins with an understanding of what network analysis is and motivations for why we might model phenomena as networks. The second week introduces the concept of connectivity and network robustness. The third week will explore ways of measuring the importance or centrality of a node in a network. The final week will explore the evolution of networks over time and cover models of network generation and the link prediction problem.

What you'll learn

  • Represent and manipulate networked data using the NetworkX library

  • Analyze the connectivity of a network

  • Measure the importance or centrality of a node in a network

  • Predict the evolution of networks over time

External link | Return to overview

Applied Text Mining in Python

University of Michigan, 2025-02-17

[Applied Text Mining in Python](#applied-text-mining-in-python)

PDF | External Link | Return to overview

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling).

What you'll learn

  • Understand how text is handled in Python

  • Apply basic natural language processing methods

  • Write code that groups documents by topic

  • Describe the nltk framework for manipulating text

External link | Return to overview

Applied Machine Learning in Python

University of Michigan, 2025-02-11

[Applied Machine Learning in Python](#applied-machine-learning-in-python)

PDF | External Link | Return to overview

This course will introduce the learner to applied machine learning, focusing more on the techniques and methods than on the statistics behind these methods. The course will start with a discussion of how machine learning is different than descriptive statistics, and introduce the scikit learn toolkit through a tutorial. The issue of dimensionality of data will be discussed, and the task of clustering data, as well as evaluating those clusters, will be tackled. Supervised approaches for creating predictive models will be described, and learners will be able to apply the scikit learn predictive modelling methods while understanding process issues related to data generalizability (e.g. cross validation, overfitting). The course will end with a look at more advanced techniques, such as building ensembles, and practical limitations of predictive models. By the end of this course, students will be able to identify the difference between a supervised (classification) and unsupervised (clustering) technique, identify which technique they need to apply for a particular dataset and need, engineer features to meet that need, and write python code to carry out an analysis.

What you'll learn

  • Describe how machine learning is different than descriptive statistics

  • Create and evaluate data clusters

  • Explain different approaches for creating predictive models

  • Build features that meet analysis needs

External link | Return to overview

Applied Plotting, Charting, and Data Representation in Python

University of Michigan, 2025-01-24

[Applied Plotting, Charting, and Data Representation in Python](#applied-plotting-charting-and-data-representation-in-python)

PDF | External Link | Return to overview

This course will introduce the learner to information visualization basics, with a focus on reporting and charting using the matplotlib library. The course will start with a design and information literacy perspective, touching on what makes a good and bad visualization, and what statistical measures translate into in terms of visualizations. The second week will focus on the technology used to make visualizations in python, matplotlib, and introduce users to best practices when creating basic charts and how to realize design decisions in the framework. The third week will be a tutorial of functionality available in matplotlib, and demonstrate a variety of basic statistical charts helping learners to identify when a particular method is good for a particular problem. The course will end with a discussion of other forms of structuring and visualizing data.

What you'll learn

  • Describe what makes a good or bad visualization

  • Understand best practices for creating basic charts

  • Identify the functions that are best for particular problems

  • Create a visualization using matplotlb

External link | Return to overview

Introduction to Data Science in Python

University of Michigan, 2024-10-19

[Introduction to Data Science in Python](#introduction-to-data-science-in-python)

PDF | External Link | Return to overview

This course will introduce the learner to the basics of the python programming environment, including fundamental python programming techniques such as lambdas, reading and manipulating csv files, and the numpy library. The course will introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the Series and DataFrame as the central data structures for data analysis, along with tutorials on how to use functions such as groupby, merge, and pivot tables effectively. By the end of this course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses.

What you'll learn

  • Understand techniques such as lambdas and manipulating csv files

  • Describe common Python functionality and features used for data science

  • Query DataFrame structures for cleaning and processing

  • Explain distributions, sampling, and t-tests

External link | Return to overview

Python 3 Programming Specialization

University of Michigan, 2025-01-09

[Python 3 Programming Specialization](#python-3-programming-specialization)

PDF | External Link | Return to overview

This Specialization builds on the success of the Python for Everybody course and will introduce fundamental programming concepts including data structures, networked application program interfaces, and databases, using the Python programming language. In the Capstone Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization.

What you'll learn

  • Learn Python 3 basics, from the basics to more advanced concepts like lists and functions.

  • Practice and become skilled at solving problems and fixing errors in your code.

  • Gain the ability to write programs that fetch data from internet APIs and extract useful information.

External link | Return to overview

Python Project: Software Engineering and Image Manipulation

University of Michigan, 2025-01-09

[Python Project: Software Engineering and Image Manipulation](#python-project-software-engineering-and-image-manipulation)

PDF | External Link | Return to overview

This course will walk you through a hands-on project suitable for a portfolio. You will be introduced to third-party APIs and will be shown how to manipulate images using the Python imaging library (pillow), how to apply optical character recognition to images to recognize text (tesseract and pytesseract). By the end of the course you will have worked with these different libraries available for Python 3 to create a real-world project.

What you'll learn

  • How to inspect and understand APIs and third party libraries to be used with Python 3

  • How to apply the Python imaging library (pillow) to open, view, and manipulate images, including cropping, resizing, recoloring, and overlaying text

  • How to apply the python tesseract (pytesseract) library with Python 3 in order to detect text in images through optical character recognition (OCR).

External link | Return to overview

Python Classes and Inheritance

University of Michigan, 2024-12-29

[Python Classes and Inheritance](#python-classes-and-inheritance)

PDF | External Link | Return to overview

This course introduces classes, instances, and inheritance. You will learn how to use classes to represent data in concise and natural ways. You'll also learn how to override built-in methods and how to create "inherited" classes that reuse functionality. You'll also learn about how to design classes. Finally, you will be introduced to the good programming habit of writing automated tests for their own code.

What you'll learn

  • Explore classes, instances, and inheritance to represent data efficiently.

  • Gain insights into class design and cultivate the practice of writing automated tests for your code.

  • Learn to override built-in methods and create inherited classes that reuse functionality.

External link | Return to overview

Data Collection and Processing with Python

University of Michigan, 2025-01-07

[Data Collection and Processing with Python](#data-collection-and-processing-with-python)

PDF | External Link | Return to overview

This course teaches you to fetch and process data from services on the Internet. It covers Python list comprehensions and provides opportunities to practice extracting from and processing deeply nested data. You'll also learn how to use the Python requests module to interact with REST APIs and what to look for in documentation of those APIs. For the final project, you will construct a “tag recommender” for the flickr photo sharing site.

What you'll learn

  • Fetch and process data from Internet services effectively.

  • Master Python list comprehensions for data extraction and processing.

  • Utilize the Python requests module to interact with REST APIs and navigate API documentation.

External link | Return to overview

Python Functions, Files, and Dictionaries

University of Michigan, 2025-01-05

[Python Functions, Files, and Dictionaries](#python-functions-files-and-dictionaries)

PDF | External Link | Return to overview

This course introduces the dictionary data structure and user-defined functions. You’ll learn about local and global variables, optional and keyword parameter-passing, named functions and lambda expressions. You’ll also learn about Python’s sorted function and how to control the order in which it sorts by passing in another function as an input. For your final project, you’ll read in simulated social media data from a file, compute sentiment scores, and write out .csv files. It covers chapters 10-16 of the textbook “Fundamentals of Python Programming,” which is the accompanying text (optional and free) for this course.

What you'll learn

  • Explore the dictionary data structure and user-defined functions in Python.

  • Understand concepts like local and global variables, parameter-passing techniques, named functions, and lambda expressions.

  • Apply Python's sorted function and control sorting order with custom functions.

  • Create a final project involving social media data analysis and CSV file manipulation.

External link | Return to overview

Python Basics

University of Michigan, 2024-12-31

[Python Basics](#python-basics)

PDF | External Link | Return to overview

This course introduces the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. You'll program an on-screen Turtle to draw pretty pictures. You'll also learn to draw reference diagrams as a way to reason about program executions, which will help to build up your debugging skills. The course has no prerequisites. It will cover Chapters 1-9 of the textbook "Fundamentals of Python Programming," which is the accompanying text (optional and free) for this course.

What you'll learn

  • Learn Python 3 basics, including conditional statements, loops, and data structures like strings and lists.

  • Develop practical programming skills by creating drawings and building your debugging abilities.

External link | Return to overview

Python for Everybody Specialization

University of Michigan, 2024-09-06

[Python for Everybody Specialization](#python-for-everybody-specialization)

PDF | External Link | Return to overview

This Specialization builds on the success of the Python for Everybody course and will introduce fundamental programming concepts including data structures, networked application program interfaces, and databases, using the Python programming language. In the Capstone Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization.

External link | Return to overview

Capstone: Retrieving, Processing, and Visualizing Data with Python

University of Michigan, 2024-09-06

[Capstone: Retrieving, Processing, and Visualizing Data with Python](#capstone-retrieving-processing-and-visualizing-data-with-python)

PDF | External Link | Return to overview

In the capstone, students will build a series of applications to retrieve, process and visualize data using Python. The projects will involve all the elements of the specialization. In the first part of the capstone, students will do some visualizations to become familiar with the technologies in use and then will pursue their own project to visualize some other data that they have or can find. Chapters 15 and 16 from the book “Python for Everybody” will serve as the backbone for the capstone. This course covers Python 3.

What you'll learn

  • Make use of unicode characters and strings

  • Understand the basics of building a search engine

  • Select and process the data of your choice

  • Create email data visualizations

  • Utilize the Google Maps API to visualize data

External link | Return to overview

Using Databases with Python

University of Michigan, 2024-09-06

[Using Databases with Python](#using-databases-with-python)

PDF | External Link | Return to overview

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization. This course will cover Chapters 14-15 of the book “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-13 of the textbook and the first three courses in this specialization. This course covers Python 3.

What you'll learn

  • Use the Create, Read, Update, and Delete operations to manage databases

  • Explain the basics of Object Oriented Python

  • Understand how data is stored across multiple tables in a database

External link | Return to overview

Using Python to Access Web Data

University of Michigan, 2024-09-04

[Using Python to Access Web Data](#using-python-to-access-web-data)

PDF | External Link | Return to overview

This course will show how one can treat the Internet as a source of data. We will scrape, parse, and read web data as well as access data using web APIs. We will work with HTML, XML, and JSON data formats in Python. This course will cover Chapters 11-13 of the textbook “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-10 of the textbook and the first two courses in this specialization. These topics include variables and expressions, conditional execution (loops, branching, and try/except), functions, Python data structures (strings, lists, dictionaries, and tuples), and manipulating files. This course covers Python 3.

What you'll learn

  • Use regular expressions to extract data from strings

  • Understand the protocols web browsers use to retrieve documents and web apps

  • Retrieve data from websites and APIs using Python

  • Work with XML (eXtensible Markup Language) data

External link | Return to overview

Python Data Structures

University of Michigan, 2024-09-03

[Python Data Structures](#python-data-structures)

PDF | External Link | Return to overview

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

What you'll learn

  • Explain the principles of data structures & how they are used

  • Create programs that are able to read and write data from files

  • Store data as key/value pairs using Python dictionaries

  • Accomplish multi-step tasks like sorting or looping using tuples

External link | Return to overview

Programming for Everybody (Getting Started with Python)

University of Michigan, 2024-09-02

[Programming for Everybody (Getting Started with Python)](#programming-for-everybody-getting-started-with-python)

PDF | External Link | Return to overview

This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. The course has no pre-requisites and avoids all but the simplest mathematics. Anyone with moderate computer experience should be able to master the materials in this course. This course will cover Chapters 1-5 of the textbook “Python for Everybody”. Once a student completes this course, they will be ready to take more advanced programming courses. This course covers Python 3.

What you'll learn

  • Install Python and write your first program

  • Describe the basics of the Python programming language

  • Use variables to store, retrieve and calculate information

  • Utilize core programming tools such as functions and loops

External link | Return to overview

TensorFlow 2 for Deep Learning Specialization

Imperial College London, 2021-12-27

[TensorFlow 2 for Deep Learning Specialization](#tensorflow-2-for-deep-learning-specialization)

PDF | External Link | Return to overview

This Specialization is intended for machine learning researchers and practitioners who are seeking to develop practical skills in the popular deep learning framework TensorFlow.

The first course of this Specialization will guide you through the fundamental concepts required to successfully build, train, evaluate and make predictions from deep learning models, validating your models and including regularisation, implementing callbacks, and saving and loading models.

The second course will deepen your knowledge and skills with TensorFlow, in order to develop fully customised deep learning models and workflows for any application. You will use lower level APIs in TensorFlow to develop complex model architectures, fully customised layers, and a flexible data workflow. You will also expand your knowledge of the TensorFlow APIs to include sequence models.

The final course specialises in the increasingly important probabilistic approach to deep learning. You will learn how to develop probabilistic models with TensorFlow, making particular use of the TensorFlow Probability library, which is designed to make it easy to combine probabilistic models with deep learning. As such, this course can also be viewed as an introduction to the TensorFlow Probability library.

Prerequisite knowledge for this Specialization is python 3, general machine learning and deep learning concepts, and a solid foundation in probability and statistics (especially for course 3).

Applied Learning Project

Within the Capstone projects and programming assignments of this Specialization, you will acquire practical skills in developing deep learning models for a range of applications such as image classification, language translation, and text and image generation.

External link | Return to overview

Probabilistic Deep Learning with TensorFlow 2

Imperial College London, 2021-12-27

[Probabilistic Deep Learning with TensorFlow 2](#probabilistic-deep-learning-with-tensorflow-2)

PDF | External Link | Return to overview

This course builds on the foundational concepts and skills for TensorFlow taught in the first two courses in this specialisation, and focuses on the probabilistic approach to deep learning. This is an increasingly important area of deep learning that aims to quantify the noise and uncertainty that is often present in real world datasets. This is a crucial aspect when using deep learning models in applications such as autonomous vehicles or medical diagnoses; we need the model to know what it doesn't know.

You will learn how to develop probabilistic models with TensorFlow, making particular use of the TensorFlow Probability library, which is designed to make it easy to combine probabilistic models with deep learning. As such, this course can also be viewed as an introduction to the TensorFlow Probability library.

You will learn how probability distributions can be represented and incorporated into deep learning models in TensorFlow, including Bayesian neural networks, normalising flows and variational autoencoders. You will learn how to develop models for uncertainty quantification, as well as generative models that can create new samples similar to those in the dataset, such as images of celebrity faces.

You will put concepts that you learn about into practice straight away in practical, hands-on coding tutorials, which you will be guided through by a graduate teaching assistant. In addition there is a series of automatically graded programming assignments for you to consolidate your skills.

At the end of the course, you will bring many of the concepts together in a Capstone Project, where you will develop a variational autoencoder algorithm to produce a generative model of a synthetic image dataset that you will create yourself.

This course follows on from the previous two courses in the specialisation, Getting Started with TensorFlow 2 and Customising Your Models with TensorFlow 2. The additional prerequisite knowledge required in order to be successful in this course is a solid foundation in probability and statistics. In particular, it is assumed that you are familiar with standard probability distributions, probability density functions, and concepts such as maximum likelihood estimation, change of variables formula for random variables, and the evidence lower bound (ELBO) used in variational inference.

External link | Return to overview

Customizing your Models with TensorFlow 2

Imperial College London, 2021-10-29

[Customizing your Models with TensorFlow 2](#customizing-your-models-with-tensorflow-2)

PDF | External Link | Return to overview

In this course you will deepen your knowledge and skills with TensorFlow, in order to develop fully customised deep learning models and workflows for any application. You will use lower level APIs in TensorFlow to develop complex model architectures, fully customised layers, and a flexible data workflow. You will also expand your knowledge of the TensorFlow APIs to include sequence models.

You will put concepts that you learn about into practice straight away in practical, hands-on coding tutorials, which you will be guided through by a graduate teaching assistant. In addition there is a series of automatically graded programming assignments for you to consolidate your skills.

At the end of the course, you will bring many of the concepts together in a Capstone Project, where you will develop a custom neural translation model from scratch.

TensorFlow is an open source machine library, and is one of the most widely used frameworks for deep learning. The release of TensorFlow 2 marks a step change in the product development, with a central focus on ease of use for all users, from beginner to advanced level.

This course follows on directly from the previous course Getting Started with TensorFlow 2. The additional prerequisite knowledge required in order to be successful in this course is proficiency in the python programming language, (this course uses python 3), knowledge of general machine learning concepts (such as overfitting/underfitting, supervised learning tasks, validation, regularisation and model selection), and a working knowledge of the field of deep learning, including typical model architectures (MLP, CNN, RNN, ResNet), and concepts such as transfer learning, data augmentation and word embeddings.

External link | Return to overview

Getting Started with TensorFlow 2

Imperial College London, 2021-09-20

[Getting Started with TensorFlow 2](#getting-started-with-tensorflow-2)

PDF | External Link | Return to overview

In this course you will learn a complete end-to-end workflow for developing deep learning models with Tensorflow, from building, training, evaluating and predicting with models using the Sequential API, validating your models and including regularisation, implementing callbacks, and saving and loading models.

You will put concepts that you learn about into practice straight away in practical, hands-on coding tutorials, which you will be guided through by a graduate teaching assistant. In addition there is a series of automatically graded programming assignments for you to consolidate your skills.

At the end of the course, you will bring many of the concepts together in a Capstone Project, where you will develop an image classifier deep learning model from scratch.

Tensorflow is an open source machine library, and is one of the most widely used frameworks for deep learning. The release of Tensorflow 2 marks a step change in the product development, with a central focus on ease of use for all users, from beginner to advanced level. This course is intended for both users who are completely new to Tensorflow, as well as users with experience in Tensorflow 1.x.

The prerequisite knowledge required in order to be successful in this course is proficiency in the python programming language, (this course uses python 3), knowledge of general machine learning concepts (such as overfitting/underfitting, supervised learning tasks, validation, regularisation and model selection), and a working knowledge of the field of deep learning, including typical model architectures (MLP/feedforward and convolutional neural networks), activation functions, output layers, and optimisation.

External link | Return to overview

Building RESTful APIs with Flask

LinkedIn Learning, 2024-07-30

[Building RESTful APIs with Flask](#building-restful-apis-with-flask)

PDF | External Link | Return to overview

Regardless of platform, you will need to build APIs to serve data between different client applications and endpoints. Good APIs are a necessity for web and mobile projects, especially with the modern, mobile-first approach to development. This course delivers the fundamental knowledge required to enable highly connected interactions between applications via RESTful APIs. Follow along with Bruce Van Horn and learn how to quickly build, secure, and test an effective RESTful API using Python and Flask, the Python microframework. Find out how to use Flask with Python to approach database access, authentication, and other common tasks. Plus, learn about a few key plugins that make using Flask even easier.

External link | Return to overview

Advanced Python: Working with Databases

LinkedIn Learning, 2024-07-26

[Advanced Python: Working with Databases](#advanced-python-working-with-databases)

PDF | External Link | Return to overview

To create functional and useful Python applications, you need a database. Databases allow you to store data from user sessions, track inventory, make recommendations, and more. However, Python is compatible with many options: SQLite, MySQL, and PostgreSQL, among others. Selecting the right database is a skill that advanced developers are expected to master. This course provides an excellent primer, comparing the different types of databases that can be connected through the Python Database API. Instructor Kathryn Hodge teaches the differences between SQLite, MySQL, and PostgreSQL and shows how to use the ORM tool SQLAlchemy to query a database. The final chapters put your knowledge to practical use in two hands-on projects: developing a full-stack application with Python, PostgreSQL, and Flask and creating a data analysis app with pandas and Jupyter Notebook. By the end, you should feel comfortable creating and using databases and be able to decide which Python database is right for you.

External link | Return to overview

Advanced Python: Practical Database Examples

LinkedIn Learning, 2024-07-12

[Advanced Python: Practical Database Examples](#advanced-python-practical-database-examples)

PDF | External Link | Return to overview

Looking for a hands-on opportunity to take your Python skills to the next level? In this course, instructor Kathryn Hodge takes you through a series of practical database examples to help level up your Python applications.

Learn how to create an API that serves data from a database using FastAPI, Flask, MySQL, Postman, SQLAlchemy, endpoints, and more. Get proven tips on how to develop analysis applications with pandas, the high-performance Python library featuring robust and integrated built-in data structures. Test out your new coding skills as you go in the exercise challenges at the end of each section. By the end of this course, you’ll be ready to start building full-stack task list applications with Flask, a microframework designed uniquely for Python that lets you integrate data from a database directly to an app.

External link | Return to overview

Git from Scratch

LinkedIn Learning, 2023-05-02

[Git from Scratch](#git-from-scratch)

PDF | External Link | Return to overview

Version control—the practice of tracking and managing changes to software code—is one of the most powerful tools a developer can wield. And Git has become the version control system of choice for the modern web. The concepts of Git are not hard to understand, especially for developers, but Git has a language of its own. What is rebasing? What is a detached head? In this beginner-level course, Morten Rand-Hendriksen provides a common-sense translation and breakdown of the terminology of Git, and shows how you can use Git to travel back in time in a way that’s practically science fiction (at least when it comes to code). Morten gives you the base-level knowledge you need to get started with Git, detailing important terminology and functions, and shows how to resolve common issues developers face in version control.

External link | Return to overview

Git Essential Training (2023)

LinkedIn Learning, 2023-05-02

[Git Essential Training (2023)](#git-essential-training-2023)

PDF | External Link | Return to overview

If you’ve ever wondered why someone should use Git or how to use it for version control, this is a great course to get started. Azure MVP and GitHub Star Barbara Forbes guides you through the installation process, the Git workflow, setting up and pushing code into a repo, and committing changes, all with a focus on version control and how Git can help you achieve it. Find out why people use Git. Learn how Git works, locally or through a provider, and how you can get it installed, configured, and running the way you need it to work. Follow the full process of pushing your code with Git, then explore ways to make changes to files. Discover important concepts in Git, like how to ignore files you don’t want to include, how branching can help you with development, what should be in a commit, and how to troubleshoot if you get into trouble. Plus, get current instruction on using GitHub Star and Microsoft MVP.

External link | Return to overview

Advanced Python: Working with Databases (2020)

LinkedIn Learning, 2023-04-30

[Advanced Python: Working with Databases (2020)](#advanced-python-working-with-databases-2020)

PDF | External Link | Return to overview

To create functional and useful Python applications, you need a database. Databases allow you to store data from user sessions, track inventory, make recommendations, and more. However, Python is compatible with many options: SQLite, MySQL, and PostgreSQL, among others. Selecting the right database is a skill that advanced developers are expected to master. This course provides an excellent primer, comparing the different types of databases that can be connected through the Python Database API. Instructor Kathryn Hodge teaches the differences between SQLite, MySQL, and PostgreSQL and shows how to use the ORM tool SQLAlchemy to query a database. The final chapters put your knowledge to practical use in two hands-on projects: developing a full-stack application with Python, PostgreSQL, and Flask and creating a data analysis app with pandas and Jupyter Notebook. By the end, you should feel comfortable creating and using databases and be able to decide which Python database is right for you.

External link | Return to overview

Automating QGIS 3.xx with Python

Udemy, 2023-01-01

[Automating QGIS 3.xx with Python](#automating-qgis-3xx-with-python)

PDF | External Link | Return to overview

Take your QGIS skills to the next level by learning how to write python scripts to automate QGIS. This course was created using QGIS 3.8 and the material should be valid for many years to come as there are not expected to be major changes to the PyQGIS package after the recent change to QGIS 3.0. All you need for this course is a basic understanding of QGIS and Python. We will be using the editor included with QGIS to write scripts.

Python scripts are much simpler than a full-blown QGIS plugín and the material in this course is focused on the GIS professional who is looking to use python scripts to improve their productivity, rather than the professional programmer. In my work, I have found this knowledge to be indispensable and I can't imagine working in GIS without having some level of scripting ability. I believe that by the end of this course you will feel the same way.

External link | Return to overview

Learning ArcGIS Python Scripting (2018)

LinkedIn Learning, 2022-06-08

[Learning ArcGIS Python Scripting (2018)](#learning-arcgis-python-scripting-2018)

PDF | External Link | Return to overview

Have you ever needed to find all the broken links in a set of map documents? Or convert units before loading map data? Python is the gateway for automating common GIS tasks. Are you ready to get up to speed? In this course, designed for experienced ArcGIS users, join instructor Jennifer Harrison—the founder of TeachMeGIS—as she shows you how to produce faster, deeper insights into your GIS data by adding Python scripting to ArcGIS.

Start with an overview of the basics, including strings, variables, and conditional statements. Jennifer helps you get comfortable writing scripts in IDLE, the integrated development environment for Python. Explore the skills required for writing output to the screen, passing command-line arguments into scripts, using list functions to get to the ArcGIS objects, and reading from and writing to a log file. By the end of this course, you’ll also be prepared to attach your script to a tool in ArcGIS Pro and create help documentation for a script tool.

External link | Return to overview

Performing Analysis Using ArcGIS API for Python

Esri Training, 2024-05-08

[Performing Analysis Using ArcGIS API for Python](#performing-analysis-using-arcgis-api-for-python)

PDF | Return to overview

Learn how to use ArcGIS API for Python to discover patterns in your data. This course introduces the analysis capabilities available in the API and demonstrates the process for integrating them into your apps.

External link | Return to overview

Accessing Data in a Portal Using ArcGIS API for Python

Esri Training, 2024-05-03

[Accessing Data in a Portal Using ArcGIS API for Python](#accessing-data-in-a-portal-using-arcgis-api-for-python)

PDF | Return to overview

Integrate spatial data into your Python apps using ArcGIS API for Python. This course shows you how to connect to a portal and access data using the API.

External link | Return to overview

Introduction to ArcGIS API for Python

Esri Training, 2024-04-27

[Introduction to ArcGIS API for Python](#introduction-to-arcgis-api-for-python)

PDF | Return to overview

Use the power of ArcGIS in the Python ecosystem using ArcGIS API for Python. This course introduces numerous spatial capabilities available in ArcGIS API for Python.

External link | Return to overview

Python Scripting for Geoprocessing Workflows

Esri Training, 2024-03-21

[Python Scripting for Geoprocessing Workflows](#python-scripting-for-geoprocessing-workflows)

PDF | Return to overview

Increase your productivity by creating Python scripts to automate ArcGIS geoprocessing tasks. You will learn to work with ArcPy, the Esri-developed site package that integrates Python scripts into ArcGIS Desktop.

Exercises can be completed with either ArcGIS Pro or ArcMap.

External link | Return to overview

Python Scripting Modifying Page Layouts

Esri Training, 2024-03-02

[Python Scripting Modifying Page Layouts](#python-scripting-modifying-page-layouts)

PDF | Return to overview

With arcpy.mp, you can access and modify ArcGIS Pro page layouts using Python code. In this course, you will learn how to write code to modify layout elements and export page layouts.

External link | Return to overview

Python Scripting Repairing Data Sources

Esri Training, 2024-02-24

[Python Scripting Repairing Data Sources](#python-scripting-repairing-data-sources)

PDF | Return to overview

If you work with GIS data for long enough, you will encounter maps, projects, and layers that have broken data sources. In this course, you will be introduced to the ArcPy mapping module, which enables you to use Python code to automate the process of finding and repairing broken data sources in ArcGIS Pro.

External link | Return to overview

Python for Everyone

Esri Training, 2024-02-10

[Python for Everyone](#python-for-everyone)

PDF | Return to overview

Do you spend a lot of time repeating workflows, such as copying data, editing files, and setting up map documents? Did you know that you can use Python to automate data reproduction, data management, map display, and many of your other daily tasks in ArcGIS? This course provides the building blocks you need to use Python. You will create and run scripts using these building blocks, and you can apply them directly inside ArcGIS and to your own workflows.

External link | Return to overview

ArcGIS Notebooks Basics (2021)

Esri Training, 2021-02-02

[ArcGIS Notebooks Basics (2021)](#arcgis-notebooks-basics-2021)

PDF | Return to overview

You can use ArcGIS Notebooks in ArcGIS Pro to create notebooks to query features, perform analysis, geocode a location, and perform many other tasks. This course introduces you to the ArcGIS Notebooks interface and functionality for creating Python notebooks that perform spatial data analysis tasks.

External link | Return to overview

GeoPandas Certification

Modern GIS, 2025-04-27

[GeoPandas Certification](#geopandas-certification)

PDF | External Link | Return to overview

Take your geospatial Python skills to the next level with this comprehensive course on Geopandas, one of the most foundational libraries for working with geospatial data in Python. Whether you’re a beginner or looking to expand your expertise, this course provides a clear, step-by-step guide to mastering Geopandas through hands-on exercises and practical projects.

  • Introduction to Geopandas • Understand why Geopandas is a cornerstone of geospatial analysis in Python and how it can elevate your data workflows.
  • Core Fundamentals • Dive into the essential concepts of Geopandas, including GeoDataFrames, spatial joins, and geometry manipulations.
  • Working with Geospatial Data • Learn how to handle vector data, projections, and common file formats like Shapefiles, GeoJSON, and GeoParquet.
  • Performing Spatial Analysis • Explore spatial queries, intersections, and overlays to unlock insights from your data.
  • Creating a Portfolio Project • Apply your skills to a real-world project that you can showcase as part of your professional portfolio.

External link | Return to overview