Hello! This repository contains materials for Introducing Python: A Suite of Code Analysis and Visualization Tools, a tutorial held at the 2025 Technical Symposium on Computer Science Education (SIGCSE TS).
On this page you'll find information about tutorial logistics and (lightweight) software setup. If you have any questions about the tutorial, please contact David Liu at david@cs.toronto.edu.
As we get closer to the date of the tutorial, additional materials and demos will be posted in this respository. Participants will be notified by email when all materials are present.
When: Wednesday February 26 2025, 7-10pm
Where: Meeting rooms 306-307, David L. Lawrence Convention Center (DLCC) in Pittsburgh, Pennsylvania (Venue floor plan)
Organizer: David Liu, University of Toronto
What you'll need: a laptop with the necessary software installed
PythonTA is a Python library, and can be installed using standard Python packaging tools like pip.
Steps:
-
Download Python.
- I'll be using Python 3.13 during the workshop
- Older versions: PythonTA is compatible with Python 3.10+
-
Open up a terminal and install the
python-ta
package, including some extra dependencies:# Windows $ python -m pip install 'python-ta[z3,cfg]' # macOS/Linux $ python3 -m pip install 'python-ta[z3,cfg]'
-
To check your installation, run the following command. You should see
2.10.1
printed out.# Windows $ python -m python_ta --version 2.10.1 # macOS/Unix $ python3 -m python_ta --version 2.10.1
While the bulk of PythonTA's functionality is implemented in pure Python, some of its visualizations require additional software to be installed:
-
Install Graphviz, a graph visualization software. PythonTA uses this to visualize control flow graphs.
-
If prompted during the installation, ensure that Graphviz is added to your PATH
-
After the installation, you can verify the installation by running the following in a terminal:
$ dot -V # Older versions should be fine dot - graphviz version 12.2.1 (20241206.2353)
-
-
Install Node.js, a Javascript engine. PythonTA uses a Javascript package called memory-viz to create memory model diagrams.
-
Please verify the installation by running the following in a terminal:
$ node --version # Older versions (v20, v18) should be fine v22.14.0 $ npx --version # Same here 11.1.0
-
If you're interested in learning more about the project, please check out the GitHub repository and the project documentation.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.