Introduction to Public Speaking

Introduction to Public Speaking Institution: UWashingtonX (edX) Date: January 7, 2014 - March 18, 2014 Bio: Introduction to public speaking is a unique course teaching the performance techniques and basics of formal public speaking. It focuses on impromptu speeches, informative speeches, and persuasive speeches performance as well as the ability to critique and analysis speeches.[...]

Computing for Data Analysis

Computing for Data Analysis Institution: Johns Hopkins University (Coursera) Date: January 6, 2014 - February 2, 2014 Bio: Computing for Data Analysis is primarily a four week cram courser in R programming; and is now also part of a specialization curriculum for Data Science. It quickly breezes over standard programming syntax and focuses most of[...]

Fundamentals of Neuroscience, Part 1

Fundamentals of Neuroscience, Part 1: The Electrical Properties of the Neuron Institution: HarvardX (edX) Date: November 2, 2013 - January 17, 2014 Bio: Though the course was advertised on edX, it is hosted on a separate website and has a unique content delivery system. This includes animated lectures, 'field trips' to various museums, DIY lab[...]

BE101x Behavioural Economics in Action

BE101x Behavioural Economics in Action Institution: University of TorontoX (edX) Date: October 14, 2013 - December 16, 2013 Bio: This course studies Behavioral economics; with a heavy emphasis in lab experimentation and result driven data. After introducing the basic psych principles, the majority of the course focuses on how to effectively design and implement experiments;[...]

Video Games and Learning

Video Games and Learning Institution: University of Wisconsin-Madison (Coursera) Date: October 3, 2013 - December 10, 2013 Bio: This course covers the relationship of learning and video games; not just as engagement tools but in the different structures of learning that games allow. This includes examining how game introduces increasing levels of complexity through tutorials[...]

Malicious Software and its Underground Economy

Malicious Software and its Underground Economy Institution: University of London (Coursera) Date: June 17, 2013 - July 29, 2013 Bio: Malicious Software and its Underground Economy is an undergraduate class taught by a post doc professor at an introductory level. As such the content and difficulty of the course was a little unfocused in its[...]

Creative Programming for Digital Media and Mobile Apps

Creative Programming for Digital Media & Mobile Apps Institution: University of London (Coursera) Date: June 10, 2013 - July 22, 2013 Bio: Creative Programming for Digital Media & Mobile Apps is an applied creative programming course focusing on web and mobile app development. The course primarily focuses on 'Processing' as its programming language. While the[...]

Khan Academy Building an Exercise - part 3

Part 3: Feedback and Conclusion

Things were starting to get ugly. The previous attempt to deal with a browser compatibility issue involved a rather awkward workaround; and even then the exercise was still not complete because of yet another obscure text formatting issue involving the browser zoom level on Firefox and Chrome. My original attempt to use the Raphael and graphie JavaScript libraries had appeared to be to ineffective. It was time to consider a different approach...

[...]

HTML5, What Have You Done Lately?

HTML5 is showing up a lot recently in tech articles and discussions. I'll take a very brief look at what it is, highlight some of the recent tech demo's showing off what it is capable of, and also touching upon some of the criticism that has been thrown around. If you haven't heard of the Epic Citadel or BrowserQuest demos and are interested in web development, it is worth a look.

Khan Academy - Building an Exercise: Part 2

Part Two: Interactive tools

The next step in creating my cryptography exercises for Khan Academy involves creating a set of interactive tools. By combining visual elements as well as interactive mouse events, it will make the individual problems a lot more engaging.

A pirates favorite kind of Graph...

For the first tool, I wanted to create a letter frequency bar graph that compares the average letter frequency of English to the letter frequency in a Caesar Cipher. This allowed the user to compare the difference between the two, and then figure out how much they would have to shift the graph in order for them to line up. There were already a few exercises that utilized bar graphs for mean, median, and mode exercises; which would serve as a good template for what I wanted to do.

The way the Khan framework builds a bar graph is using the graphie.js library (which works on top of raphael.js). This library gives you a series of functions to draw lines and basic geometric shapes on a web page. So in order to build something like a bar graph, every single line, rectangle, and letter has to be placed individually, using a absolute position relative to the image space. While out of context these shapes can be relatively meaningless, putting it all together results in the following image...

LetterFreqBarchat

In this case, each of the blue rectangles were drawn in a loop, where the vertical value stayed the same but the horizontal value incremented for each pass of the loop. Same for the orange rectangles (and the alphabet labels), except they would have a slight offset such as +0.5 so they appeared next to the blue rectangles. Even the border of the bar graph was created using two separate class to a draw line function.

Getting the height of the rectangles was simply a matter of using the functions I had already created in my crypro library. One to return the array for the English language frequency, and another to dynamically build a frequency array based on a given encrypted message. Both of these arrays were normalized, and then scaled so they could be fitted to the size of the graph.

Eventually I might come back and add some more functionality to this graph. But the first version of this graph turned out rather well. So on to the next tool and the start of my problems...

[...]

Khan Academy - Building an Exercise: Part 1

Khan Academy doesn't just offer a wide range of educational videos and exercises for students who want to learn; they have also made their exercise framework open source on GitHub, so teachers and instructors can create these type of learning exercises for their own website. Khan Academy even allows people to submit exercises they have created, with the chance that they may be added to the main site.

Which leads me to the objective of my next coding project; designing an educational exercise targeted towards students, based on a series of Khan Academy videos. Over the course of this challenge I will have to parse through a large pre-existing code base on GitHub, get my hands dirty with some javascripting, and navigate the perilous issues of browser compatibility.

[...]