Gearing Up for a taste of Data Science

Here are some things to do to gear up for getting a taste of Data Science in CSE 3330.

  1. Download and install R. You can download it from this link
  2. Download and install RStudio from this link. Scroll down to the bottom of the page to find the installers for various platforms.  Note that you will run this on your laptop directly, not through vagrant or anything like that.

Good Resources:

  • The RStudio folks also produce some very useful cheat sheets for using R and RStudio.  You can find a list of them here.
  • Data Camp’s Introduction to R (a Free Course)

More to come…

 

Every Kid Should Know How to Code

There’s no arguing with the fact that technology is all around us.  So many things have microprocessors in them now that it becomes quite challenging to consider existence without them.  Knowing how to interact with and efficiently make use of technology is a MUST for our future leaders (not to sound cliche’ or anything).  This also means more that just being able to efficiently read as many Facebook posts as possible or how to find the cheapest flights possible to a chosen destination.

You can imagine how happy I was to read a blog post that hinted at the fact that we really need to be teaching every kid how to code (well, it was actually much more than just a hint…).  I feel like the following quote really sums up how I feel about this:

I believe that we should be teaching all our kids to code – every single one, to the ultimate benefit of each of them, their lives and whatever jobs they come to do. But first, we need to tackle an overarching problem – “normal people” simply don’t understand what it means to be able to code.

The last sentence really hits the nail on the head.  I would argue that people that know how to code recognize the importance of that skill.  Its the rest of the population that we really need to convince.  The post goes on to make a great point though: its not about learning a particular programming language.  Its more about learning to think logically and how to express that logic

Anyhow, Coding for Success was a fantastic read.  Check it out….

Learning to Learn

For quite some time, I’ve held the view that the most important thing I can teach my students is the ability to teach themselves things.  Whether they learn a particular lesson I spout out in class is one thing.  However, if they can take a topic for which they have little background, research said topic, and synthesize that information into their “problem solving toolbox” is far more valuable than any one specific topic that I will teach them.

A recent article from the Chronicle of Higher Education entitled “Note to Faculty:  Don’t be Such a Know-It-All” (Jan 17, 2012 by Dan Berrett) discusses one faculty member’s “Stump the Chump” teaching method.  The big idea here is that his students pose questions that he specifically doesn’t know the answer to, and he solves the problem in front of them.  This takes a great deal of confidence to be able to risk “not knowing the answer” to a question in class and being embarrassed in front of a group of students.  But I think this is one thing that students need to be exposed to more often.

We don’t know everything.  Do I know more than my students?  I hope so.   However, I don’t think it is possible to know everything about even the relatively narrowly-scoped classes that I teach.  Technology changes so fast; advances are made at a staggering rate.  But what I do know how to do is figure things out.  This doesn’t apply to just computer science or engineering classes.  This is applicable across the board in my opinion.  Academics are always learning.  Students should see this happening in real time.

We’ve got to do something!

Check out this article from the former CEO of Lockheed Martin, Norm Augustine about America losing its edge in innovation. Things need to change… now!

Practical Research

A good friend, Chris Christensen (Twitter: @minenet) responded to one of my tweets concerning innovation education with a link to a blog post which discusses the great divide between university research and industry application.  It is definitely a good read and brings up some interesting questions.  While I know that research should be on the cutting edge of the cutting edge, it should in some way have some applicability, too, right?   

With respect to computer science research, Todd Hoff, author of of the article, makes a good point that there really isn't any impetus for a researcher to take a good idea to a full robust implementation.  I've heard of this notion referred to as "research code", code in which an scientific-paper author implements a novel algorithm, gathers some results, writes the paper, then moves on.  On some level, this is how the system is structured, though.  Tenure and promotion with respect to research is very much judged on the number of publications, not the quality of a robust algorithm implementation that is posted on sourceforge or github.  

Perhaps though, there is an opportunity here.  There's a huge push to get undergraduates involved in research as early as possible.  A great first experience might be to become involved with fleshing out implementation of cool things that can be posted for others to review.  I've seen positive results of undergrad students who had the opportunity to work in a research lab, so I'm all for getting them in the labs. 

One other thing, Hoff brings up the idea of some way to increase collaboration between university research and industry applications.  There is an National Science Foundation program that supports this idea.  More info on the Industry & University Cooperative Research Program (I/UCRC) can be found at their website.  Here is some background on the program: 

The National Science Foundation's (NSF's) Industry/University Cooperative Research Centers (I/UCRC) Program is influencing positive change in the performance capacity of the U.S. industrial enterprise. Over the past two decades, the I/UCRCs have led the way to a new era of partnership between universities and industry, featuring high-quality,industrially relevant fundamental research, strong industrial support of and collaboration in research and education, and direct transfer of universitydeveloped ideas, research results, and technology to U.S. industry to improve its competitive posture in world markets. Through innovative education of talented graduate and undergraduate students, the I/UCRCs are providing the next generation of scientists and engineers with a broad, industrially oriented perspective on engineering research and practice.

Lots of interesting things to think about…

Caveat:  I'm not a research faculty member; I'm a teaching faculty member.  So I probably don't know everything about research, funding, publications, etc. that someone who's been a research faculty member for many years would know.  

Teaching Innovation

Maybe you know… I've been interested in innovation in engineering education for the past year or so.  I've been reading quite a bit about innovation, creativity, and such as it pertains to engineering education but education in general as well.  I should indicate here that I'm not really talking about teaching innovations (new and great ways of teaching).  I want to help students become more innovative or hone the skills that aid in innovation.  Teaching innovations are important and fun to think about as well.  But that's for another blog post later. 

While I've been reading about this for some time, I thought I'd ask the question Is it possible to teach innovation to college students? on twitter. Now, I'm relatively new to Twitter.  I've had an account for some time, but never really got into it.  Its time to change that.  In any event, Chris Sundberg initially responded via Twitter that it is not possible to teach innovation.  He later went on to write a great blog post about teaching innovation.  Essentially, he broke innovation down into some components/traits/skills: creativity, being a polymath, execution, and risk.  Over my time researching innovation, I've seen and thought about each of these.  However, Chris' blog post got me to thinking about the fact that we should be nurturing each of these traits, not just one, to lead students to be more innovative.  

Chris also links to some interesting books.  You should check out his blog posts.