I'm in the middle of preparing various teaching materials for an upcoming class on coding for mathematicians. I'm teaching this class in a flipped classroom (if you don't know what that is circle +Robert Talbert on G+ who posts a lot of great stuff about it) and as a result I've been screen casting

**a lot**recently. Some of these clips are solely intended for my students (as I don't believe they'd be of interest to anyone else 'to do this exercise try and think about what your base case would be for the recursion to terminate'). I'm just starting to screen cast for the +Sage Mathematical Software System part of the course and needed to put together a little something as to how to import data in to a Sage notebook. As the above video seemed quite helpful to people I thought I'd put together another one that might be helpful.

**The data file used can be found here.**

Here are the lines of code used in the notebook:

```
```

```
import csv
f = open(DATA + 'reg', 'r') # Open the data file using the special DATA variable
data = csv.reader(f)
data = [row for row in data] # Read data using csv library
f.close()
data = [[row[2], row[1]] for row in data[1:]] # Only use data that is of interest, remove unwanted columns and 1st row
a, b = var('a, b') # Declare symbolic variables
model(t) = a * t + b # Define model
fit = find_fit(data, model, solution_dict=True) # Find fit of model to data
model.subs(fit) # View the model
p = plot(model.subs(fit), 5, 11, color='red') # Plot fit
p += list_plot(data) # Plot data
p
```