REThink Day 6, Learning MATLAB

matlab

 

Today I spent the day learning as much as I could in MATLAB. I went through the built-in tutorials, and ended up figuring a lot of the commands out. Take a look at the above image- it’s for 3 different fake patients. The first two are from sample data, while the third is the data I made up for myself. Here’s the Strucdem.m file that I edited:

%% Create a Structure Array
% This example shows how to create a structure array. A structure is a data
% type that groups related data using data containers called fields. Each
% field can contain data of any type or size.
%
% Copyright 1984-2011 The MathWorks, Inc.
%%
% Store a patient record in a scalar structure with fields |name|,
% |billing|, and |test|.
%
% <<strucdem_img01.png>>
%

patient(1).name = ‘John Doe’;
patient(1).billing = 127.00;
patient(1).test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];
patient

%%
% Add records for other patients to the array by including subscripts after
% the array name.
%
% <<strucdem_img02.png>>
%

patient(2).name = ‘Ann Lane’;
patient(2).billing = 28.50;
patient(2).test = [68, 70, 68; 118, 118, 119; 172, 170, 169];
patient

patient(3).name = ‘Jason DeFuria’;
patient(3).billing = 5000.00;
patient(3).test = [120, 50, 80; 90, 178, 20; 220, 210, 205];
patient
%%
% Each patient record in the array is a structure of class |struct|. An
% array of structures is often referred to as a struct array. Like other
% MATLAB arrays, a struct array can have any dimensions.
%
% A struct array has the following properties:
%
% * All structs in the array have the same number of fields.
% * All structs have the same field names.
% * Fields of the same name in different structs can contain different
% types or sizes of data.
%
% Any unspecified fields for new structs in the array contain empty
% arrays.

patient(4).name = ‘New Name’;
patient(4)

%%
% Access data in the structure array to find how much the first patient
% owes, and to create a bar graph of his test results.
figure
amount_due = patient(1).billing
bar(patient(1).test)
title([‘Test Results for ‘, patient(1).name])
figure
amount_due = patient(2).billing
bar(patient(2).test)
title([‘Test Results for ‘, patient(2).name])
figure
amount_due = patient(3).billing
bar(patient(3).test)
title([‘Test Results for ‘, patient(3).name])
displayEndOfDemoMessage(mfilename)

I did a lot of learning in the program itself, but this is a short post because it’s hard to translate that learning into words here.

 

 

REThink 2015 Day 5, Big Data

bigdata

 

What is Big Data? From below powerpoint by Jeffrey Popyack and William Mongan

We spent this morning talking about Big Data. Big Data is such an integral part of computing, and will essentially revolutionize how we live as a species. Never before have we stored so much information, and we’re now figuring out ways to process this data. It’s super interesting, as it will completely change the way that we do science. Here’s some notes I took (I’ll post the .ppt below):

1 byte is needed to store a single letter, digit, or number “Big Data”= 8 bytes (ASCII)

 The text of Dr. Seuss’ “Green Eggs & Ham” is 3.3 kilobytes in size.

 Hadoop

Hadoop Distributed Filesystem (HDFS)

An equal amount of work is not necessarily equal

Latency due to processor speed and distances

Parallel Computing

JSMAPREDUCE

Big Data Powerpoint- William Mongan and Jeff Popyack

We then used JSMapReduce to try and sort how many states contain what the most common city/town name is. Here’s the site (well, webarchive) of JSMapReduce. The code we ended up using is:

function Mapper(jsmr_context, data)
{
// separate a line of data into separate entries …
var words_list = data.split(‘\t’);

// extract the city and state name and output as a pair
jsmr_context.Emit(words_list[2], words_list[5]);
}
function Reducer(jsmr_context, city)
{
states_map = {}
// (key,value-list) is (city,[state1,state2,state3,…])
var number_of_states = 0;
while (jsmr_context.HaveMoreValues())
{
var state = jsmr_context.GetNextValue();
// count how many times a new state appears
if( !(state in states_map) )
{
states_map[state] = 1 ;
number_of_states ++ ;
}
}
jsmr_context.Emit(city + ‘:’ + number_of_states) ;
}

After lunch (at the Shake Shack), I spent some time reading about MATLAB on the internet. Here’s some of the sites I used to learn the basics of MATLAB:

http://www.math.utah.edu/~wright/misc/matlab/matlabintro.html

http://www.cs.dartmouth.edu/~mckeeman/references/matlab101/matlab101.html

http://www.yorku.ca/jdc/Matlab/

https://www.cds.caltech.edu/~murray/wiki/images/4/45/Matlab_tutorial.pdf

http://aar.faculty.asu.edu/classes/eee480S12/matlab_primer.pdf

 

 

REThink 2015 Day 4, Meeting at Hahnemann, Finishing up Project Proposals

Kathy and I went over to the Drexel Medical School in Center City (Hahnemann) to talk about our projects and meet with our laboratory. It was a pretty full house, and everyone in the lab was really knowledgeable.

Kathy will be using Gazepoint Eye Tracker to obtain (X,Y) coordinates of eye movement and saccades. Here’s more about the eye tracker (from the manufacturer)- http://www.gazept.com/

I will be looking at Hematoxylin and Eosin tissue samples (Breast and Colon) to train the computer to recognize different cell parts (Lumen, Nucleus, Cytoplasm, Stroma).

Both of us will be using MATLAB to create/edit the programs for analysis.

In the lab, a lot of the focus is resolution of the slides. We had a lab discussion about all of the

See below for my project proposal. This one’s a short update as it’s now the 4th of July Weekend!

projectproposal

REThink Day 2, ISTE 2015 Conference in Philadelphia

IMG_4829

 

Day 2 of the Drexel University REThink program was spent as ISTE 2015, which was in Philadelphia at the Convention Center. This was a great opportunity, as I had always wanted to attend this conference, and I was glad to have it paid for by Drexel.

I arrived earlier than usual, so that I could take full advantage of everything. The convention center was packed with things to do and see. I started out by wandering around the posters, which changed every few hours. I was interested in the morning, as many of the posters were about gamification. I had seen how powerful gamification was in my classroom in Massachusetts, when I had started to award microscope tokens for different class tasks.

I also attended a session about the power of a hackathon. I hadn’t thought about this before, but a hackathon (especially with what I want to do- environmental based sensors) could definitely have students focus intensely on this project. I was wondering if I could even run it as an in-school fieldtrip for those students interested.

I then wandered around the Playgrounds. There was a great playground that dealt with arduinos and raspberry pi’s. Another playground had a large focus on robotics. And the Google Apps Playground was pretty neat- I’m hoping I can get Google Classroom for my classroom (New school from before, so I had to revert to using Edmodo)

I went with Steve (who teaches in Delran) to Reading Terminal Market. It was my first experience, and was truly delicious with a ton of options.

I spent time in the expo hall, seeing as much as I could see. One of the most interesting booths I saw was “Storyboard That.” I also entered the “Microsoft Passport Adventure,” and ended up winning a Microsoft Surface 3, which is neat. Hopefully, I’ll be hearing soon about how to claim that.

I went to the “Debate” about coding with Hadi Partovi- which wasn’t much of a debate at all. Some good ideas were shared, but the stakeholders clearly wanted to code. The takehome message that I had was:

1. Where do we get money for computers in schools?

2. How do we train teachers who do not know how to code to learn code themselves to be able to teach it?

3. Does computer coding replacing the arts? Or can coding enhance the arts?

Another great day with lots to process.

Drexel REThink Program 2015, Day 1

IMG_4827

Today was my first day of the Drexel REThink Program, offered by the Computer Science department of Drexel University. This program focuses on putting teachers in computer science laboratories to complete summer research, and infusing that summer research into our practice as a teacher in the classroom. The project I will be working on is based on Histology Project, which was my first choice. The description was:

Histology Image Analysis for Diagnosing Breast Cancer:
During this project, you’ll contribute to the development of diagnosing breast cancer through automated methods. Researchers have already created algorithms that analyze images to assess the stage and severity of the breast tumors. You will develop and apply software that extracts new geometric features from high resolution histology images and utilizes these features to predict medical attributes of a breast tumor.

We spent the first half of the day doing the typical introductory things, getting to know people. We then had an encoding puzzle (pictured above), to send an encoded message to another group and decipher their message. It was based on the .gif encoding scheme of pixels.

We then had a delicious lunch (pizza/salad/AMAZING wraps)…and I have no idea where they are from. I met Kathy, who is the partner I will be working with on the projects for the summer.

Kathy and I met with Dr. Mark Zarella, and heard more about our projects. Kathy was a part of this program last year, so she has experience with this laboratory and MATLAB, the program we will be using. Kathy will be working on coding the use of an eye tracker to follow pathologists eyes. The pathologists will be of varying types (1st year med, 2nd year med, junior pathologists and senior pathologists). This will allow better training of pathologists, because there may be a pattern that more senior pathologists use to determine whether someone has cancer. Ultimately, this pattern can be transcribed into machine learning to allow a machine to make this determination.

We then debriefed with the other groups at the end of the day to hear about everyone else’s projects. They are very interesting, and I’ll try to link you to their blogs as soon as I see them.

Tomorrow is the ISTE 2015 Conference!