00-00 Welcome

Welcome¶ Welcome to Urban Computing Skills Lab. This course is a pre-requisite for your Masters program in Applied Urban Science and Informatics, which immediately begs the question: what is Urban Science? It is actually hard to define Urban Science especially given how ubiquitous the term has become. In my mind, Urban Science is an emerging domain of research at the intersection of interdisciplinary sciences that seeks to exploit the large-scale data, from a variety of sources, to understand and address urban challenges.

00-01 Accessing Jupyter Notebook

Acessing Jupyter Notebook on CUSP CDF (preferred way)¶Depending on the Operating System that you are using, you should simply follow the instructions on cusp datahub. For Linux and Mac OS: https://datahub.cusp.nyu.edu/sites/default/files/documents/guides/Jupyter_Notebook_from_your_browser_Mac.pdf For Windows OS: https://datahub.cusp.nyu.edu/sites/default/files/documents/guides/Jupyter_Notebook_from_your_browser_Windows.pdf All the packages that we need to use are already installed for you. Setting Up Jupyter Notebook locally on your machine (Method 1)¶ If you are familiar with Docker, then there is a pre-built container that you can use following the instructions here: https://github.

00-02 Introduction to Notebook and beyond

00 - 00 Introduction to Python¶ Python¶ Python is a great object-oriented, interpreted, and interactive programming language. It is widely used as general-purpose, high-level programming language. It is ranked among the top 5 programming languages in the world. Python was conceived in the late 1980s as a teaching and scripting language and has since become an essential tool for many programmers, engineers, researchers, and data scientists across academia and industry.

01-00 Introduction to Python

01 - 00 Introduction to Python¶We mentioned the pros of using Python as our tool for performing urban science in the Introduction to Notebook and Beyond. In this introductory module we will discuss the basic semantics of the language and get our hands dirty by actually typing and executing the code blocks. Remeber:¶ To run a cell, you can press Shift+Enter (to execute and go to next cell) or Ctrl+Enter (to execute and stay on the same cell).

01-01 Variables

01 - 01 Variables¶As the name implies, a variable is something that can change. A variable is just a way of referring to a memory location used by a python program. Based on the datatype of the variable, the python interpreter allocates the memory and decides what can be stored in the reserved memory. This makes python a dynamically-typed language. If you are familiar with other programming languages like C, C++ or Java it might be tempting to consider variable as just a container to store data.

01-02 Strings

01 - 02 Python Strings¶A python string is usually a bit of text that you want to display or use or export out of the program that you are writing (to a file or over the network). Technically, strings are immutable sequence of characters. We will talk and learn more about sequences in Data Structures module. Python has a built-in string class called str with many handy features. Python knows you want something to be a string when you enclose the text with either single quotes ( ‘ ) or double quotes ( “

01-03 Numeric Types

01 - 03 Numeric Types¶In python there are basically 3 built-in Numeric Data-Types int float complex 01 - 03.01 int¶Integers are the most basic numeric type in python. Any number that does not contain a decimal point is considered as an integer and is of type int. An interesting difference between the int type in python and other languages is that they are variable precision.

01-04 Operators

01 - 04 Operators¶ Operators in python are the constructs which can manipulate the value of operands. Simply put when operators are used with one or more than one operand, they produce some result. Consider a basic mathematical addition 1 + 2 in this case, 1 and 2 are operands and + is the operator. Operands can also be variables. Python supports following types of operators:

01-05 Control Flow

01 - 05 Control Flow¶Generally, a program is executed sequentially and once executed it is not repeated again. There may be a situation when you need to execute a piece of code n number of times, or maybe even execute certain piece of code based on a particular condition.. this is where the control flow statements come in. In this module, we will be covering: Conditional statements – if, else and elif Loop statements – for, while Loop control statetements – break, continue, pass 01 - 05.

02-00 Python in Practice

02 - 00 Python in Practice¶ In the previous modules, we learnt about python’s built-in ‘simple’ types. In this module, we will learn about the different ways in which the data of those types can be organized, so that it can be used (algorithmically) efficiently. we have already covered str, int, float, and complex. Here, we will also introduce the remaining two – bool and None python’s built-in types