CC: “Python for Informatics” Open Textbook Remixed in 11 Days

Image: dr-chuckCC BY


Chuck Severance, clinical professor at the University of Michigan’s School of Information, recently published a new textbook in 11 days because he was able to remix an existing textbook. The book, Python for Informatics: Exploring Information, is currently being used in his winter semester Networked Computing course. The textbook is based on the openly licensed book Think Python: How to Think like a Computer Scientist by Allen B. Downey. Students are able to take advantage of the University Library’s Espresso Book Machine to print on-demand copies for approximately $10. Python for Informatics is available under a CC BY-SA license.

Severance explains, “the book is a cool example of a situation where I’ve finally got to the ‘remixing’ bit of the Open promise.” The first 10 chapters are done and eight more are planned for completion by April 2010. Read more of Chuck’s thoughts about remixing an open book.

Creating this open textbook was a part of a larger effort by Chuck to support his course with openly licensed  content, and current versions of lecture slides and videos are published via the PythonLearn website.  In a past iteration of the course, Chuck went through the dScribe process developed by Open.Michigan to create an OER version of SI 502, available under a CC BY license.

Stay up to date with Machine Learning go here


Hacker News




Helpful Image Commands Matlab/Octave

% Load and display an image

img = imread(‘filename.jpg’)


% Image size


% Image class (data type):


% At a given location (row, col):

disp(img(50, 100));

% For an entire row:

disp(img(50, :));

plot(img(50, :));


% A slice of an image

img(101:103, 201:203))


% Crop an image

cropped = img(110:310, 10:160)


Color images

Note: Matlab indexes begin at 1 not 0

% Get the red layer (RGB)

img_red = img(:, :, 1);

% Get the green layer (RGB)

img_green = img(:, :, 2);

% Get the blue layer (RGB)

img_blue = img(:, :, 3);


Image arithmetic

% Add two images

summed = img_1 + img_2

% Average of two images

average = img_1 / 2 + img_2 / 2

% Multiply by a scalar

0.5 * img

% Blend two images

result = 0.75 * img_1 + 0.25 * img_2

% Image difference

diff = img_1 – img_2

diff = img_2 – img_1

% Absolute image difference

imabsdiff(img_1, img_2)