This is the event that Riccardo Fiorista advertised at the start of Friday’s lecture. He’s a second-year Informatics student who has set this up with other students from Edinburgh and Heriot-Watt.
Links: Start|ED event site; Map; Booking information
A well-formed XML document is one that is properly arranged as a tree, with names for element nodes and all their attributes. This is enough for basic tools to correctly transmit and process XML; but for many applications it is useful to add more precise domain-specific constraints that we expect documents to satisfy. For this we have XML schema languages: specialised languages for describing types of XML document. This lecture covered one in particular, the Document Type Definition language DTD.
Notes for Tutorial 3 are now online, as well as the next set of exercises. These include practice working directly with SQL in the LibreOffice desktop database tool. There are extension exercises on working with GUI query generation and also command-line interaction with a local PostgreSQL database server.
Link: Tutorial Exercises
The story of the six women who were the original programmers for ENIAC: the all-electronic programmable computer developed in secret during World War II by the US Army. This documentary includes interviews and discussion of their work and impact on computer science.
This evening CompSoc Edinburgh and Bloomberg present a showing of The Computers, followed by a panel discussion on diversity and inclusion.
||Tuesday 13 February 2018
||Appleton Tower Lecture Theatre 2
Links: The ENIAC Programmers Project; CompSoc Edinburgh; Register to attend; Facebook; Google Calendar
From the strict rectangles of structured data to the more generous triangles of semistructured data. This morning’s lecture gave an overview of what kind of data is seen as “semistructured”; the idea of trees as a mathematical model of data; the particular form of trees in the XPath data model; and their textual representation in XML — the Extensible Markup Language.
XML also has a large number of domain-specific variants. These are all valid XML, and use standardised sets of element types to give a custom language for representing data relevant to a particular field: from musical scores to financial trading.
This afternoon the final lecture on Structure Data covered a range of database topics: ACID properties for transactions; the NoSQL movement; nested SQL queries, set operations, and aggregate queries; ultimate physical limits to computation; the wonders of the heavens captured in SkyServer; and the idea of doing scientific research and experiments from inside the database.
I have posted online tutor notes and solutions for Tutorial 2 as well as exercises for Tutorial 3 next week.
Link: Tutorial Exercises
Today’s lecture introduced the basic structure and format of SQL queries:
SELECT … FROM … WHERE …. That’s enough to write a huge range of queries, from single summary statistics to large integrated views that bring together multiple tables.
Today, another language for talking about databases. This one is the Tuple Relational Calculus for writing queries that describe information to be extracted from the linked tables of a relational database. There’s a separation of roles here: the tuple relational calculus is good for succinctly stating what we want to find out; while relational algebra from the last lecture describes how to combine and sift tables to extract that information from the data. We distinguish what information we want from how to compute it.
Huge, huge, huge thanks to Ruari who lent me his Facebook account to demonstrate Graph Search and last week was lucky enough to meet the Chuckle Brothers. While you might not like the Chuckle Brothers, Facebook says you have lots of friends who know people that do.