Discovery Log

What I've learned this year

Week 1: Introduction

TL;DR

VM available at port.ac.uk/myvm. Coursework has been issued. I'm using Atom as my editor for now because I'm familiar with it.

In Detail

Virtual machines have been deployed for CS (and other?) students, based on Google App Engine. Forms part of the coursework, so is necessary, but may not be able to replace my other existing VMs as no sudo access and auto-shutdown.

Coursework is available in a Google doc. First task is due late November; literature review about online privacy.

Worksheet talks about choosing an editor. I already use/am familiar with Atom (and Notepad++ for smaller stuff), so I'll keep using that at least for now.

Week 2: Web Security

TL;DR

Never forget about security. Breaches can be social or technical.

In Detail

Security breaches can be social breaches (phishing attacks, social engineering etc.), or technical (XSS, CSRF, code injection, etc.).

Forgetting about security probably means you're already compromised.

Easy analogy/categorisation for security: integrity, availability, confidentiality.

Week 3 & 4: Literature Review

TL;DR

Write formally; don't make sweeping statements; do plenty of research.

In Detail

University library has a research site for searching academic work. Wikipedia could be a starting point, but look at references more than the text. Google Scholar might also help.

The lit review is a formal academic work. Write formally. Base on evidence where possible; when drawing conclusions, be sensible.

Week 6: HTML & Markup

TL;DR

Write HTML, upload to VM. How hard can it be?

In Detail

I already know a lot of HTML, so not much new here. Modern HTML parsers don't necessarily need closing tags to parse a document correctly, but I'm going to keep using them because it's more predictable and more semantically correct.

Week 7: CSS

TL;DR

Write CSS, link in HTML, upload to VM.

In Detail

Likewise, I can work with CSS pretty well. Probably worthwhile looking into some more advanced CSS[3] features by now - calculations, box shadows, fancy things.

Week 8: Links

TL;DR

Links are basic, but make use of fragment and target links.

In Detail

Fragment links link to a particular element within a page. Like CSS ID selector - use #element for a fragment link to the element with that ID.

Target links open in a specific context: target="_blank" for a new tab, for example.

Week 9: Media

TL;DR

Include alt attributes on most images; think about <picture> picture elements (like <video>, but guess what.)

In Detail

Images scale to aspect ratio automatically with dimension attributes: you only need one to display it correctly.

Images can be replaced with picture tags, which have multiple source children to select from available sources.

Figures and associated captions can use the figure and figcaption elements.

Videos are like pictures: one parent video tag, with child source tags to select a source.

Week 13 & 14: Design & Usability

TL;DR

Make it pretty and make it work if you want people to use it.

In Detail

Design makes content more visually appealing; can also make content more easily comprehensible by presenting it in a more obvious way.

Usability is about not just looking good but being intuitive and easy to use; if your web app doesn't work, nobody's going to want to use it.