Re: Education

On 2014-07-12 13:02, Hugh Glaser wrote:
> The other day I was asked if I would like to run a Java module for some Physics & Astronomy students.
> I am so far from plain Java and that sort of thing now there was almost a cognitive dissonance.
>
> But it did cause me to ponder on about what I would do for such a requirement, given a blank sheet.
>
> For people whose discipline is not primarily technical, what would a syllabus look like around Linked Data as a focus, but also causing them to learn lots about how to just do stuff on computers?
>
> How to use a Linked Data store service as schemaless storage:
> bit of intro to triples as simply a primitive representation format;
> scripting for data transformation into triples - Ruby, Python, PHP, awk or whatever;
> scripting for http access for http put, delete to store;
> simple store query for service access (over http get);
> scripting for data post-processing, plus interaction with any data analytic tools;
> scripting for presentation in html or through visualisation tools.
>
> It would be interesting for scientists and, even more, social scientists, archeologists, etc (alongside their statistical package stuff or whatever).
> I think it would be really exciting for them, and they would get a lot of skills on the way - and of course they would learn to access all this Open Data stuff, which is becoming so important.
> I’m not sure they would go for it ;-)
>
> Just some thoughts.
> And does anyone knows of such modules, or even is teaching them?
>
> Best
> Hugh
>

Hi Hugh,

I teach a few introductory lectures on Linked Data, HTTP, URI, RDF, 
SPARQL as part of a Web and Internet Technologies course to students in 
Business IT at the Bern University of Applied Sciences. Majority of the 
students do not have a developer profile. Focus of the lessons is not 
about the inner technical details of these technologies, but via some 
practical work, what they can take away: understanding some publishing 
and consuming challenges for data on the Web, and potentially 
communicating problems and solutions to their colleagues with technical 
expertise in the future.

What I have observed:

* Before going any further, examples on the state of things and the 
potentials of what can be accomplished is vital. If they are not 
remotely excited, it sets the tone for the remainder of the lectures.

* At first they do not completely take the importance of HTTP/URI 
seriously. "They've seen them, they know" mentality. The exercises 
around that is about designing their own URI patterns for their 
site/profile, and repeating the importance of "Cool URIs" and what that 
entails over and over.

* Majority of the students understand the RDF data model and can express 
statements (either using human language or one of the formats). I 
usually bounce back and forth between drawing graphs on the board, and 
showing, dereferencing, browsing RDF resources, and pointing at people 
and objects in and outside of the room.

* As far as their comprehension for the formats i.e., how to write some 
statements that's mostly syntactically valid, Turtle/N-Triples lead the 
pack. RDF/XML and RDFa usually turn out to be a disaster. Most do not 
bother with JSON(-LD).

* Once they get the hang of Turtle, they do relatively well in SPARQL. 
I've noticed that it is via SPARQL examples, trials and errors, they 
really get the potential of Linked Data. Along the way, it appears to 
reassure them that RDF and friends are powerful and will come in handy.


IMHO:

Although I welcome them to use any format for exercises and whatnot, I 
encourage them to use Turtle or N-Triples. I tell them that learning 
Turtle is the best investment because they can use that knowledge 
towards SPARQL. However, Turtle comes with a few syntactical "traps" and 
declarations, that, I secretly wish that they use N-Triples instead to 
learn to create statements for the sake of simplicity. After all, 
N-Triples is as WYSIWYG as it gets!

With a blank slate:

In most cases: I have a strong bias towards *nix command-line toolbox 
and shell scripting over alternative programming languages. *Out of the 
box*, the shell environment is remarkable and indispensable. The 
documentation is baked in. Working in this environment leads to some 
design decisions as described in 
http://www.faqs.org/docs/artu/ch01s06.html . One can do everything from 
data processing, transformations, inspection, analysis to 
parallelization here. Besides, it is the perfect glue for everything else.


-Sarven
http://csarven.ca/#i

Received on Saturday, 12 July 2014 12:38:58 UTC