Reading #1

Python Crash Course

Getting started with Python & PlotDevice

Of the many scripting languages in popular use, Python has a reputation for ease-of-learning and power that few others can match. This week's reading assignment is designed to give you a sense of the language's syntax and how it might be applied to the creation of data graphics using PlotDevice.

Primary Reading (chapters 1–3, 9–12)

Getting Started
Environment
Primitives
Variables
Strings
Collections
Serialization

Supplementary Materials

The official Python Tutorial
Learn Python the Hard Way

  1. Why is coding/programming considered vital to processing and visualizing data? When and how did the two become so intertwined?

  2. Is coding for the purpose of art and design different from the traditional way of learning to program? Should it be?

  3. Are there any alternatives to PlotDevice for non-Mac OS users?

** Not related to the reading, but I watched this for another class and I think some might enjoy it, especially the first half: Bret Victor - The Humane Representation of Thought

  1. What limitations does python have?

  2. Are there any good examples that shows us the code and the visualization?

  3. What are some good practices to start creating visualizations in python?

1 Plot Devices is an app made for Mac OS but what are equivalent programs for Windows OS?
2 What are the limitations of python?
3 What ways can you check as you go that your code is not faulty and you have no way of pinpointing where the code is not working?

  1. Is there a good way to "sketch" a desired interaction before beginning to code in order to identify and communciate the goal?

  2. How do you decide when viewer interaction with visualized data will be additive to the viewer's understanding of the material?

  3. How does one visually signal which areas of the info graphic are able to be manipulated by the viewer?

  1. Is there a way to automate the data visualization, to update new data entries in real time?

  2. PlotDevice can export the visual as an image/vector, but how can it exist in a web environment?

  3. What are some free PlotDevice resources/projects we can download for reference?

What are the benefits of using plotdevice to make text files, if any?

Would it be accurate to say that csv files are more easily applied to data visualization with Python than JSON files?

Is there any special protocol for protecting or storing files that will be linked to self-updating sites?

What are the pros and cons on using csv over something like sql?

What other libraries are there in python for graphical processing?

How commonly is python used for data visualization?

The interface feels very similar to the Processing interface, and I didn't realise how little difference there is between Python and Java. This leads me to ask: why not Java? Why don't we just use Processing for this?

Secondly, please could you give an example of when this is used for long text editing, of a length that requires a .txt file?

Third question is why does Python not differentiate between '' and ""? Being used to Java, where '' denotes char and "" is for strings, I find it odd to be able to use them interchangeably.

How do you determine when Python would be best used?

When would you use csv over json in serialization?

What are the possibilities for Python to be used beyond the screen (ie: interactive installations)?

  1. How does Python work with Processing?

  2. What is Python great for and what is Processing great for?

  3. What is the most efficient way to find bugs?

  4. How much data can python process?

1.Can PlotDevice be used like Processing to make interactive visualizations? Is one more user friendly, or easier to use than the other?What are the advantages/disadvantages of both?

2.What is the difference between a dictionary, a string, and a list?

3.What are template%values?

How does the tab-key work? What is the default arguments?

What is the relationship between the output and messages?

What kind of data can you extract from using PlotDevice as a design tool while generating random outputs?

What is the advantage of using PlotDevice as a design tool than other programs such as illustrator?

How does the ‘new’ style of string interpolation work versus the ‘old’ style? Which one do you prefer?

How does the triple-quoted strings work?

What is the difference between strings and lists?

What kind of data determines whether you want to use lists or dictionaries?