Friday, April 26, 2013

1-to-1 Learning - Goals & Objectives Part 1

Here begins a brief series on decisions to make and options you have available when designing your 1-to-1 learning environment.  This information comes from 10+ years of firsthand experience as a Network/Systems Administrator in a 1-to-1 learning high school and 9 years experience as an adjunct professor of network engineering.

Lesson 1 - What are your goals and objectives?

The process begins by you building a clear and well-defined map that you will use as a guide and reference along your journey.  Things you should decide before starting your 1-1 deployment are:
  1. Who are your users?
  2. What are their intentions?
  3. What are the restrictions your users want?
  4. What are your users expectations?
  5. Which devices will be utilized?
  6. What is your budget for devices, training, staff?
  7. What are your security requirements?
Today's lesson will cover the users, topics 1 - 4.  As I write this blog, I just received the following message from a fortune cookie, which is perfectly appropriate for this lesson.

Great things are accomplished only by the perfection of minor details.
Who are your users?
Clearly, the user plays an important role when building your 1-to-1 initiative.  In a high school your answers may be: student, teacher, administrative staff.  How about guests and the public?  Just a few years ago guests may not have been a consideration, today many people assume that businesses are similar to Starbucks, so at the cost of the school some institutions are making this available.  If you choose that option you need to make sure you keep their network separate from the rest of your corporate network and that you secure it.  It can be a wise investment to support guests especially if your building is utilized by many outside groups or you host many public events.

What are their intentions?
Your users intentions are critical and sometimes the most difficult thing to get from decision makers.  It is your job to impress upon them the importance of planning and that planning will lead to a secure, stable and scalable network, which is not built from a hodgepodge of ideas but from data collection, thoughtful reflection, and clear objectives.  Here are some example intentions that you should be aware of:
  • Students should have some access to the Internet whenever they walk into the building.
  • Students will only access the Internet from labs or while in a monitored classroom environment.
  • Teachers will have access to the Internet from any device they own.
  • Student, teachers, staff will have access to the Internet from only their school provided device.
  • Your local students news station will broadcast over your Internet connection.
  • VoIP will be supported across this connection.
  • Security cameras will be supported and accessible outside of the building through your connection.
Your list of intentions may be long and that is a good thing!  Do not shoot anything down, consider this a brainstorming exercise.  Later in the process, budget, user restrictions, and security will be natural constraint variables that will help filter out unrealistic requests based on the resources of the organization.

What are the restrictions your users want?
Are there any?  Do decision makers assume some that are not mentioned?  Also what are federal and state restrictions?  As an example, for schools to have access to E-Rate funding schools must block students from access to certain types of content on the Internet (E-Rate funding can be significant).  Schools in the end have the decision whether they want this funding or not so it is their choice.

Finally, do not forget to ask your stakeholders: students and teachers.  In the end it only comes down to these two groups.  What do your teachers need to fully support your students and what do your students need to unleash their creativity within their classrooms?  If you do not ask them then who are you doing this for and how do you know the answers to those questions?

Again, treat this like a brainstorming activity; later in the process you will use your constraint variables to help identify what is currently possible with today's technology and within your budget.  I highly recommend involving the teachers and students in this process that cannot be said enough.

What are your users expectations?
At this point you may be saying, I think you have covered it all what else can there be related to the user?  Their expectations are more about the end user experience and what will qualify as poor, satisfactory, and exemplary service. 
Rule of thumb: If it is not written down and shared with everyone then it does not exist.  
If your decision makers or your students and faculty have expectations but have not put them down on paper then they do not exist.  Similar to the classroom experience a teacher lists their daily objectives and expectations for their students.  Your job is to gather these expectations, help filter through them and then work with the stakeholders to identify the ones that are obtainable and which ones are not. 

Expectations could look like this: 
  • As a teacher, I expect to be able to show an online video to my class without Internet disruption. 
  • As a student, I expect to be able to communicate with other students through skype while in school without losing my connection. 
  • As a teacher, I expect to be able to move freely around my classroom and teach without having to monitor which websites my students visit.
  • As a member of the administrative staff, I expect to be able to view security logs from any device accessible to the Internet.
  • As a student, I expect that the use of technology in the classroom will give me more learning opportunities not less.
These are few that you may run into.  Notice they may not all seem advisable for every situation.  Your job is to help manage expectations, which translates into a written set of expectations that can be referenced by all involved.

Next week
This ends the first part.  My intention is to have the next part available at the end of next week.  As always, I appreciate your feedback so feel free to comment or email me.

Monday, April 22, 2013

Markov Chains: Steady-state Probabilities App

My research project for Operations Research is using Markov Chains so I decided to create a Maple App for their new Mobius Project (www.maplesoft.com).  Anyone can view this app all you need access to is one of the 3 (preferential order):
  1. Maple program
  2. Maple Player (free)
  3. Web browser (http://mobius.maplesoft.com/maplenet/mobius/application.jsp?appId=10491137)
Once you have the application running you have the ability to enter an initial state vector along with a probability matrix.  You can ask for specific states to be solved or a range of states (even with interval jumps).  Computation is extremely fast, using the power of Maple.  I've used it for small probability matrices such as 3x3's but would love to hear about anyone using it for larger data sets.

Symbolically you can enter both vectors and matrices in any form acceptable to Maple (it uses a type check).  I recommend using the following:

[a0,a1,...,aN] - for a vector
[ [x11,x12,...,x1N],[x21,x22,...,x2N],...,[xM1,xM2,...,xMN] ] - for a matrix

I plan on adding additional problems to the app as long as it keeps it functional and readable.  If not I will create them as separate apps.  Any feedback is appreciated!

Download Maple Worksheet: http://mobius.maplesoft.com/maplenet/mobius/download.jsp?appId=10491137

Download Maple Player: http://www.maplesoft.com/downloads/SelectPlatform.aspx?hash=16420394A38E21C9131460C345468589

View embedded Maple Worksheet: http://mobius.maplesoft.com/maplenet/mobius/application.jsp?appId=10491137

Sunday, April 14, 2013

Introduction to Affine Maps

Affine Maps

An affine transformation of R[n] is a function t:R[n]->R[n] of the form t(x)+Ax+b where A is an n x n invertible matrix and b is in R[n].  Our current focus is on R[2] of two dimensions but all the important properties coming up hold for all dimensions.

So what makes affine transformations so special?  Affine transformations have 3 nice properties:

1. t maps straight lines to straight lines
2. t maps parallel straight lines to parallel straight lines
3. t preserves ratios of lengths along straight lines

Example
Let's say you are interested in scanning a physical picture into your computer.  Your picture is the input, the scanner with it's configuration is the function, and the resulting digital image is your output.

Second example would be opening a digital image in photo editing software and then scaling it down and/or rotating it.

In both examples the image looks the same just smaller or larger and in a different position, with affine maps the straight lines will always be straight but the angles can change and distort the image.  A single affine map instruction covers the movement/change of an individual image.

How do I write an affine map instruction?
Without getting into how these equations are developed let's focus on how to write the set of instructions.  The standard geometric equation is

affine(r,s,θ,φ,e,f) -> (x*r*cos(θ)-y*s*sin(φ)+e, x*r*sin(θ)+y*s*cos(φ)+f)
  • r - controls the x scale
  • s - controls the y scale
  • θ - controls the left angle
  • φ - controls the right angle
  • e - controls the x shift
  • f - controls the y shift
Each value has a specific control on the starting image.  Your starting image can be a set of points that define an image or even a single point.  You send these points through the function defined by the affine map and then view the result.  Let's take a look at examples of desired movements and how to represent that in affine geometric notation.

Affine Structure  
The set of all affine maps is a group under function composition. So affine mappings are closed, there exists an identity affine map and an inverse map that undoes your changes.

Note: The above image uses Mr. Face, a 1x1 square with left open eye and right closed.  I was introduced to Mr. Face along with dynamical systems by Ken Monks at the University of Scranton during my undergraduate years.

Saturday, April 13, 2013

Goodbye to winter fractal

Weekly Fractal Problem
Here's a fun fractal I just generated that will not be as easy as last weeks.  It reminds me of a partial snow flake or one that is half melted.

Remember your goal is to determine the fractal's IFS.  Good luck!


Last weeks solution
The name of last weeks fractal was correctly answered as Cantor dust with the following IFS'
Affine(1/3,1/3,0,0,0,0)
Affine(1/3,1/3,0,0,2/3,2/3)
Affine(1/3,1/3,0,0,2/3,0)
Affine(1/3,1/3,0,0,0,2/3)

Friday, April 5, 2013

Name my IFS

For the inquisitive I'll post a new fractal every Friday along with the question of what is the fractal's IFS?  What I mean by that is, what are the set of affine maps that make up this fractal.

I'm starting off with a very easy one visually.  See if you can determine all of the affine maps that make up this IFS.  The answer will be posted on next Fractal Friday's post.

Write it out as Affine(r,s,theta,phi,e,f) where r,s are scalars, theta, phi are rotations, and e,f are shift transformations.



Tuesday, April 2, 2013

Affine Contraction Mappings

I took full advantage of my spring break by spending the day writing a program that allows the creation of geometric affine maps.  You can then pass a set of points through the map instructions and your output will be a deterministic fractal.

A geometric affine map can be written in this way:

map = Affine(r,s,theta,phi,e,f) where,
i. r,s are scale factors between 0 - 1 for the x & y-axis
ii. theta, phi are rotations along the x & y-axis
iii. e,f are transformations along the x & y-axis

Here's my first example and test to see that the program works.  I defined the famous Sierpinski affine mappings.

map1 = Affine(.5,.5,0,0,0,.5)
map2 = Affine(.5,.5,0,0,.5,0)
map3 = Affine(.5,.5,0,0,0,0)

Let your starting set of points be only (0,0) and iterate this 8 times and you will end up with 3^8 points (6561), plot those points and you will see the following image.

Update:
Here's another set of affine maps that are related to the Sierpinski triangle except for one rotational value in just one of the three maps.  This highlights the significance and sensitivity one minor variable change can have on an outcome.

map1 = Affine(.5,.5,-180,0,0,.5)
map2 = Affine(.5,.5,0,0,.5,0)
map3 = Affine(.5,.5,0,0,0,0)