diff --git a/papers/dissertation/dissertation/.gitignore b/papers/dissertation/dissertation/.gitignore new file mode 100644 index 0000000..7621c36 --- /dev/null +++ b/papers/dissertation/dissertation/.gitignore @@ -0,0 +1,247 @@ +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb +l4proj*.pdf + +test/ + +bad_l4proj*.* + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Comment the next line if you want to keep your tikz graphics files +*.tikz +*-tikzDictionary + +# listings +*.lol + +# makeidx +*.idx +*.ilg +*.ind +*.ist + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# easy-todo +*.lod + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices +*.xyc + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# Kile +*.backup + +# KBibTeX +*~[0-9]* + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# generated if using elsarticle.cls +*.spl diff --git a/papers/dissertation/dissertation/README.md b/papers/dissertation/dissertation/README.md new file mode 100644 index 0000000..8f0d516 --- /dev/null +++ b/papers/dissertation/dissertation/README.md @@ -0,0 +1,20 @@ +# UofG SoCS Level 4 Project LaTeX template + +Provides `l4proj.cls`, the standard LaTeX template for Honours Individual Projects. + +![Preview of the layout](images/l4proj.png) + +## Notes on formatting + +The first page, abstract and table of contents are numbered using Roman numerals and are not +included in the page count. + +The first Chapter should start on page 1. You are allowed 40 pages for a 40 credit project and 20 pages for a +20 credit report. This includes everything numbered in Arabic numerals (excluding front matter) up +to but excluding the appendices and bibliography. + +**You must not alter font, text size (it is currently 10pt), margins or spacing.** + +## LaTeX +This template has been tested with `pdflatex`. It should also work with `xelatex` and `lualatex`. Note that on Linux you may need to copy the contents of the `fonts/` folder to `~/.fonts/`. + diff --git a/papers/dissertation/dissertation/fonts/FiraMono-Bold.ttf b/papers/dissertation/dissertation/fonts/FiraMono-Bold.ttf new file mode 100644 index 0000000..ce255c4 --- /dev/null +++ b/papers/dissertation/dissertation/fonts/FiraMono-Bold.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61f0ca3ae72a83deb807040f314e1b8b4e40b08213df243db9fd430095cab305 +size 206488 diff --git a/papers/dissertation/dissertation/fonts/FiraMono-Medium.ttf b/papers/dissertation/dissertation/fonts/FiraMono-Medium.ttf new file mode 100644 index 0000000..6f9de5f --- /dev/null +++ b/papers/dissertation/dissertation/fonts/FiraMono-Medium.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5bc1a2db2f65946049de615ecc08603d788eb0c02b520f4ed95f05a5cc58532 +size 173428 diff --git a/papers/dissertation/dissertation/fonts/FiraMono-Regular.ttf b/papers/dissertation/dissertation/fonts/FiraMono-Regular.ttf new file mode 100644 index 0000000..21a9bae --- /dev/null +++ b/papers/dissertation/dissertation/fonts/FiraMono-Regular.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e00b0cf3106a3d792f35711b7722740b76c02ee7300ea8c60f940584b7a8ac9 +size 174596 diff --git a/papers/dissertation/dissertation/fonts/FiraSans-Bold.ttf b/papers/dissertation/dissertation/fonts/FiraSans-Bold.ttf new file mode 100644 index 0000000..1303de0 --- /dev/null +++ b/papers/dissertation/dissertation/fonts/FiraSans-Bold.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4d8e149ecdd4874a0726eb0af894488b3b31c423d6b0017c8f415ed1b795b45 +size 489720 diff --git a/papers/dissertation/dissertation/fonts/FiraSans-BoldItalic.ttf b/papers/dissertation/dissertation/fonts/FiraSans-BoldItalic.ttf new file mode 100644 index 0000000..4160bb8 --- /dev/null +++ b/papers/dissertation/dissertation/fonts/FiraSans-BoldItalic.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b96c16db9819bcaa9d588068bb397bb6e977c4874965d3d50d789a1943757eb +size 506864 diff --git a/papers/dissertation/dissertation/fonts/FiraSans-Italic.ttf b/papers/dissertation/dissertation/fonts/FiraSans-Italic.ttf new file mode 100644 index 0000000..b56fea3 --- /dev/null +++ b/papers/dissertation/dissertation/fonts/FiraSans-Italic.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4204f9a8029c1c55daa5385ac95936f74abea3e232770f1fb2862a19d1dfa13 +size 472396 diff --git a/papers/dissertation/dissertation/fonts/FiraSans-Regular.ttf b/papers/dissertation/dissertation/fonts/FiraSans-Regular.ttf new file mode 100644 index 0000000..60a64e7 --- /dev/null +++ b/papers/dissertation/dissertation/fonts/FiraSans-Regular.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c29556a2719bf613ef3d5e070e40d903a8965d9c081beca1375dc1e6e0f93c23 +size 456996 diff --git a/papers/dissertation/dissertation/fonts/fbb-Bold.otf b/papers/dissertation/dissertation/fonts/fbb-Bold.otf new file mode 100644 index 0000000..56bb4f7 Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-Bold.otf differ diff --git a/papers/dissertation/dissertation/fonts/fbb-Bold.pfb b/papers/dissertation/dissertation/fonts/fbb-Bold.pfb new file mode 100644 index 0000000..5d36df8 Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-Bold.pfb differ diff --git a/papers/dissertation/dissertation/fonts/fbb-BoldItalic.otf b/papers/dissertation/dissertation/fonts/fbb-BoldItalic.otf new file mode 100644 index 0000000..962e3d0 Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-BoldItalic.otf differ diff --git a/papers/dissertation/dissertation/fonts/fbb-BoldItalic.pfb b/papers/dissertation/dissertation/fonts/fbb-BoldItalic.pfb new file mode 100644 index 0000000..bec263f Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-BoldItalic.pfb differ diff --git a/papers/dissertation/dissertation/fonts/fbb-Italic.otf b/papers/dissertation/dissertation/fonts/fbb-Italic.otf new file mode 100644 index 0000000..3610b29 Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-Italic.otf differ diff --git a/papers/dissertation/dissertation/fonts/fbb-Italic.pfb b/papers/dissertation/dissertation/fonts/fbb-Italic.pfb new file mode 100644 index 0000000..cf09a59 Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-Italic.pfb differ diff --git a/papers/dissertation/dissertation/fonts/fbb-Regular.otf b/papers/dissertation/dissertation/fonts/fbb-Regular.otf new file mode 100644 index 0000000..65cf5aa Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-Regular.otf differ diff --git a/papers/dissertation/dissertation/fonts/fbb-Regular.pfb b/papers/dissertation/dissertation/fonts/fbb-Regular.pfb new file mode 100644 index 0000000..2ec91b5 Binary files /dev/null and b/papers/dissertation/dissertation/fonts/fbb-Regular.pfb differ diff --git a/papers/dissertation/dissertation/guide_to_visualising.pdf b/papers/dissertation/dissertation/guide_to_visualising.pdf new file mode 100644 index 0000000..7931de6 Binary files /dev/null and b/papers/dissertation/dissertation/guide_to_visualising.pdf differ diff --git a/papers/dissertation/dissertation/images/CompSci_colour.pdf b/papers/dissertation/dissertation/images/CompSci_colour.pdf new file mode 100644 index 0000000..44518bc Binary files /dev/null and b/papers/dissertation/dissertation/images/CompSci_colour.pdf differ diff --git a/papers/dissertation/dissertation/images/boxplot_finger_distance.pdf b/papers/dissertation/dissertation/images/boxplot_finger_distance.pdf new file mode 100644 index 0000000..fbea173 Binary files /dev/null and b/papers/dissertation/dissertation/images/boxplot_finger_distance.pdf differ diff --git a/papers/dissertation/dissertation/images/l4proj.png b/papers/dissertation/dissertation/images/l4proj.png new file mode 100644 index 0000000..98fcfbe Binary files /dev/null and b/papers/dissertation/dissertation/images/l4proj.png differ diff --git a/papers/dissertation/dissertation/images/relu.pdf b/papers/dissertation/dissertation/images/relu.pdf new file mode 100644 index 0000000..5fb3b3e Binary files /dev/null and b/papers/dissertation/dissertation/images/relu.pdf differ diff --git a/papers/dissertation/dissertation/images/synthetic.png b/papers/dissertation/dissertation/images/synthetic.png new file mode 100644 index 0000000..8cc9aeb Binary files /dev/null and b/papers/dissertation/dissertation/images/synthetic.png differ diff --git a/papers/dissertation/dissertation/images/synthetic_2.png b/papers/dissertation/dissertation/images/synthetic_2.png new file mode 100644 index 0000000..f986db5 Binary files /dev/null and b/papers/dissertation/dissertation/images/synthetic_2.png differ diff --git a/papers/dissertation/dissertation/images/uog_white.pdf b/papers/dissertation/dissertation/images/uog_white.pdf new file mode 100644 index 0000000..4061190 Binary files /dev/null and b/papers/dissertation/dissertation/images/uog_white.pdf differ diff --git a/papers/dissertation/dissertation/images/uog_white.svg b/papers/dissertation/dissertation/images/uog_white.svg new file mode 100644 index 0000000..aa5affc --- /dev/null +++ b/papers/dissertation/dissertation/images/uog_white.svg @@ -0,0 +1,625 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/papers/dissertation/dissertation/l4proj.bib b/papers/dissertation/dissertation/l4proj.bib new file mode 100644 index 0000000..5ec2277 --- /dev/null +++ b/papers/dissertation/dissertation/l4proj.bib @@ -0,0 +1,46 @@ +@inproceedings{Pey17, + author = {Simon {Peyton Jones}}, + title = {How to Write a Great Research Paper}, + booktitle = {2017 Imperial College Computing Student Workshop, {ICCSW} 2017, September + 26-27, 2017, London, {UK}}, + pages = {1:1--1:1}, + year = {2017}, + +} + +@book{Wil09, + title={Style: the basics of clarity and grace}, + author={Williams, Joseph M and Bizup, Joseph}, + year={2009}, + publisher={Pearson Longman} +} + +@book{Pin15, + title={The sense of style: The thinking person's guide to writing in the 21st century}, + author={Pinker, Steven}, + year={2015}, + publisher={Penguin Books} +} + +@book{StrWhi07, + title={The Elements of style}, + author={Strunk, William and Whyte, EB}, + year={2007}, + publisher={Penguin} +} + +@book{Von80, + title={How to write with style}, + author={Vonnegut, Kurt}, + year={1980}, + publisher={International Paper Company} +} + +@incollection{Orw68, + title={Politics and the {English} language}, + author={Orwell, George}, + booktitle={The collected essays, journalism and letters of George Orwell}, + pages={127--140}, + year={1968}, + publisher={Harcourt, Brace, Javanovich} +} \ No newline at end of file diff --git a/papers/dissertation/dissertation/l4proj.cls b/papers/dissertation/dissertation/l4proj.cls new file mode 100644 index 0000000..694f515 --- /dev/null +++ b/papers/dissertation/dissertation/l4proj.cls @@ -0,0 +1,295 @@ +% ============================================================================= +% l4proj.cls +% +% Template for final year projects in the School of Computing Science at the +% University of Glasgow. Adapted from the level 3 project template originally +% provided by Colin Perkins . +% +% ============================================================================= + +\ProvidesClass{l4proj}[% +2009/01/09 Colin Perkins .% +2009/09/16 Modified by Tim Storer to support non pdf modes.% +2011/02/15 Modified by Gregg Hamilton for use in final year projects.% +2012/10/18 Modified by Patrick Prosser, use geometry to control margins, simplified.% +2018/09/14 Modified by John Williamson, improve typographic appearance% +] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} + +\ProcessOptions +\LoadClass[10pt,a4paper]{report} + +% Monospace font is Fira Mono Sans +% the body font used is FBB (Bembo) + +\usepackage{iftex} + +\ifPDFTeX + \usepackage{fbb} + \usepackage{FiraMono} + \usepackage{FiraSans} + \usepackage{textcomp} + \usepackage[english]{babel} + \usepackage[T1]{fontenc} +\else + % make sure the fonts are actually set + \usepackage{fontspec} + \usepackage{polyglossia} + \setromanfont[Path=./fonts/, BoldFont=fbb-Bold, UprightFont=fbb-Regular, ItalicFont=fbb-Italic, BoldItalicFont=fbb-BoldItalic]{fbb} + \setmonofont[Path=./fonts/, BoldFont=FiraMono-Bold, UprightFont=FiraMono-Regular]{FiraMono.ttf} + \setsansfont[Path=./fonts/, BoldFont=FiraSans-Bold, UprightFont=FiraSans-Regular, ItalicFont=FiraSans-Italic, BoldItalicFont=FiraSans-BoldItalic]{FiraSans.ttf} +\fi + +\usepackage[libertine,bigdelims,vvarbb]{newtxmath} % bb from STIX +\usepackage[cal=boondoxo]{mathalfa} % mathcal + +\usepackage{microtype} % improve typography +\usepackage{anyfontsize} % allow any size of font +\usepackage{amsmath,amsfonts,amsbsy,amssymb} +\usepackage[style]{abstract} % abstract styling + +% set bibliography styling +\usepackage{natbib} +\bibpunct{(}{)}{;}{a}{}{;} + + +\usepackage{etoolbox} +\usepackage[compact]{titlesec} % section heading formatting +\usepackage{color} % colors +\usepackage[table,svgnames]{xcolor} +\usepackage{parskip} % adjustable line spacing +\usepackage{listings} % nice code listings + +% remove dots from ToC +\usepackage[titles]{tocloft} +\renewcommand{\cftdot}{} +\usepackage[nottoc]{tocbibind} + +% from: https://gist.github.com/FelipeCortez/10729134 +% set up listings for prettier output +\definecolor{bluekeywords}{rgb}{0.13, 0.19, 0.7} +\definecolor{greencomments}{rgb}{0.1, 0.5, 0.2} +\definecolor{redstrings}{rgb}{0.8, 0.15, 0.1} +\definecolor{graynumbers}{rgb}{0.5, 0.5, 0.5} +\definecolor{subtlegray}{rgb}{0.98, 0.98, 0.98} +\usepackage{lstautogobble} +\usepackage{listings} +\lstset{ + autogobble, + columns=fullflexible, + showspaces=false, + showtabs=false, + breaklines=true, + showstringspaces=false, + breakatwhitespace=true, + escapeinside={(*@}{@*)}, + rulecolor=\color{lightgray}, + backgroundcolor=\color{subtlegray}, + commentstyle=\color{greencomments}, + keywordstyle=\color{bluekeywords}, + stringstyle=\color{redstrings}, + numberstyle=\color{graynumbers}, + basicstyle=\ttfamily\linespread{1.15}\footnotesize, + frame=tb, + framesep=12pt, + framexleftmargin=12pt, + tabsize=4, + captionpos=b +} +%% --- + +% nice number printing +\usepackage{numprint} + +% allow PDF graphics +\usepackage{graphicx} + +% allow section styling +%\usepackage{sectsty} + +% make all cross-references clickable +\usepackage[hidelinks]{hyperref} + +% enable styled captions +\usepackage[format=plain, +labelfont={bf,it}, +textfont=it,tableposition=above]{caption} + +\newcommand{\secfont}{\normalfont\sffamily} +% % style the sections and the abstract +% \allsectionsfont{\secfont} + + +\renewcommand{\abstractnamefont}{\Large\secfont} +\renewcommand{\abstitlestyle}[1]{{{\let\clearpage\relax \chapter*{#1}}}} + +\usepackage[toc]{appendix} + +% allow subfloats +\usepackage{subcaption} + + +% fix the margins and linespacing +\usepackage[top=3.5cm,bottom=4.0cm,left=3.5cm,right=3.5cm]{geometry} +\setlength{\parskip}{5pt plus 2pt} + +% define the title page +\renewcommand\maketitle{ + \begin{titlepage}% + \definecolor{UniBlue}{HTML}{00355F} + + \let\footnotesize\small + \let\footnoterule\relax + \let\footnote \thanks + + % the logo, full page width + \vspace{1in} + \includegraphics[width=\linewidth]{images/CompSci_colour.pdf} + \vskip 0.5em + \color{UniBlue} + {\large \sffamily Honours Individual Project Dissertation}\\ + + % title and author + + \vspace{2cm} + \Large + \vskip 8em% + + \begin{center} + + \color{UniBlue} + \noindent + {\Huge \scshape \@title \par}% + + + + + + \end{center} + \vfill + {\Large + \textbf{\@author}\\ + \@date} + + + + \end{titlepage}% + + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@consentname\@empty + \global\let\@consentdate\@empty + + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\usepackage{booktabs} +% set up headers and footers +% no footer, page numbers at top-right +\usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhead{} +\fancyfoot{} +\fancyhead[R]{\thepage} +\renewcommand{\headrulewidth}{0pt} +\fancypagestyle{plain}{% + \renewcommand{\headrulewidth}{0pt}% + \fancyhf{}% + \fancyhead[R]{\thepage}% +} + +\usepackage{titlesec} +% set up chapter headings +\usepackage{xstring} +\titleformat{\chapter}[display] + % only show numbers if they aren't Chapter 0 (i.e. front matter) + {\normalfont}{}{0pt}{ + \huge\bfseries\secfont + \IfInteger{\thechapter}{\ifnum0=0\thechapter\relax\else\relax {\Huge \thechapter}\ \rule[-0.25em]{0.5pt}{1.5em}\ \fi} + {\thechapter \ \rule[-0.25em]{0.5pt}{1.5em}\ }} + %[\titlerule] + \titlespacing*{\chapter} + {0pt}{0pt}{15pt} + +% Educational consent form +\newcommand{\educationalconsent}{ + \ifdefined\consentname + \newpage + \chapter*{Education Use Consent} + + I hereby grant my permission for this project to be stored, distributed and shown to other + University of Glasgow students and staff for educational purposes. + \textbf{Please note that you are under no obligation to sign + this declaration, but doing so would help future students.} + + \begin{tabular}{@{}llll} + & & & \\ + & & & \\ + Signature: & \consentname & Date: & \consentdate \\ + & & & \\ + & & & \\ + \end{tabular} + \else + \newpage + \chapter*{Education Use Consent} + Consent for educational reuse withheld. Do not distribute. + \fi + +} + +% highlight boxes +\usepackage{tcolorbox} +\newenvironment{highlight} +{\begin{tcolorbox}[notitle,boxrule=0pt,colback=green!10,colframe=green!10]} +{ +\end{tcolorbox} +} + +\newenvironment{highlight_title}[1] +{\begin{tcolorbox}[title=#1,boxrule=2pt,colback=green!10,colframe=green!20,coltitle=black,fonttitle=\bfseries]} +{ +\end{tcolorbox} +} + + + +% adjust margins +\setlength{\parindent}{0pt} + + +% use (a) in figures +\captionsetup{subrefformat=parens} + +% Algorithm typesetting package +\usepackage[plain, noline, shortend, linesnumberedhidden]{algorithm2e} +\SetAlFnt{\sffamily \small} + +% adjust spacing +\titlespacing{\section}{10pt}{1.5\baselineskip}{8pt plus 3pt minus 3pt} +\titlespacing{\subsection}{10pt}{\baselineskip}{8pt plus 4pt minus 1pt} +\titleformat{\subsubsection}[runin]{\bfseries }{}{}{}[] +\titlespacing{\chapter}{0pt}{0pt}{40pt plus 10pt minus 5pt} + +% switch to roman numeral for frontmatter +\pagenumbering{roman} + +% fix itemise so it looks reasonable +\renewcommand{\@listI}{% + \leftmargin=25pt + \rightmargin=0pt + \labelsep=5pt + \labelwidth=20pt + \itemindent=0pt + \listparindent=0pt + \topsep=0pt plus 2pt minus 4pt + \partopsep=0pt plus 1pt minus 1pt + \parsep=1pt plus 1pt + \itemsep=\parsep} + diff --git a/papers/dissertation/dissertation/l4proj.tex b/papers/dissertation/dissertation/l4proj.tex new file mode 100644 index 0000000..cad105c --- /dev/null +++ b/papers/dissertation/dissertation/l4proj.tex @@ -0,0 +1,473 @@ +% REMEMBER: You must not plagiarise anything in your report. Be extremely careful. + +\documentclass{l4proj} + + +% +% put any additional packages here +% + +\begin{document} + +%============================================================================== +%% METADATA +\title{Level 4 Project Report Template} +\author{John H. Williamson} +\date{September 14, 2018} + +\maketitle + +%============================================================================== +%% ABSTRACT +\begin{abstract} + Every abstract follows a similar pattern. Motivate; set aims; describe work; explain results. + \vskip 0.5em + ``XYZ is bad. This project investigated ABC to determine if it was better. + ABC used XXX and YYY to implement ZZZ. This is particularly interesting as XXX and YYY have + never been used together. It was found that + ABC was 20\% better than XYZ, though it caused rabies in half of subjects.'' +\end{abstract} + +%============================================================================== + +% EDUCATION REUSE CONSENT FORM +% If you consent to your project being shown to future students for educational purposes +% then insert your name and the date below to sign the education use form that appears in the front of the document. +% You must explicitly give consent if you wish to do so. +% If you sign, your project may be included in the Hall of Fame if it scores particularly highly. +% +% Please note that you are under no obligation to sign +% this declaration, but doing so would help future students. +% +%\def\consentname {My Name} % your full name +%\def\consentdate {20 March 2018} % the date you agree +% +\educationalconsent + + +%============================================================================== +\tableofcontents + +%============================================================================== +%% Notes on formatting +%============================================================================== +% The first page, abstract and table of contents are numbered using Roman numerals and are not +% included in the page count. +% +% From now on pages are numbered +% using Arabic numerals. Therefore, immediately after the first call to \chapter we need the call +% \pagenumbering{arabic} and this should be called once only in the document. +% +% The first Chapter should then be on page 1. You are allowed 40 pages for a 40 credit project and 20 pages for a +% 20 credit report. This includes everything numbered in Arabic numerals (excluding front matter) up +% to but excluding the appendices and bibliography. +% +% You must not alter text size (it is currently 10pt) or alter margins or spacing. +% +% +%================================================================================================================================== +% +% IMPORTANT +% The chapter headings here are **suggestions**. You don't have to follow this model if +% it doesn't fit your project. Every project should have an introduction and conclusion, +% however. +% +%================================================================================================================================== +\chapter{Introduction} + +% reset page numbering. Don't remove this! +\pagenumbering{arabic} + + +Why should the reader care about what are you doing and what are you actually doing? +\section{Guidance} + +\textbf{Motivate} first, then state the general problem clearly. + +\section{Writing guidance} +\subsection{Who is the reader?} + +This is the key question for any writing. Your reader: + +\begin{itemize} + \item + is a trained computer scientist: \emph{don't explain basics}. + \item + has limited time: \emph{keep on topic}. + \item + has no idea why anyone would want to do this: \emph{motivate clearly} + \item + might not know \emph{anything} about your project in particular: + \emph{explain your project}. + \item + but might know precise details and check them: \emph{be precise and + strive for accuracy.} + \item + doesn't know or care about you: \emph{personal discussions are + irrelevant}. +\end{itemize} + +Remember, you will be marked by your supervisor and one or more members +of staff. You might also have your project read by a prize-awarding +committee or possibly a future employer. Bear that in mind. + +\subsection{References and style guides} +There are many style guides on good English writing. You don't need to +read these, but they will improve how you write. + +\begin{itemize} + \item + \emph{How to write a great research paper} \cite{Pey17} (\textbf{recommended}, even though you aren't writing a research paper) + \item + \emph{How to Write with Style} \cite{Von80}. Short and easy to read. Available online. + \item + \emph{Style: The Basics of Clarity and Grace} \cite{Wil09} A very popular modern English style guide. + \item + \emph{Politics and the English Language} \cite{Orw68} A famous essay on effective, clear writing in English. + \item + \emph{The Elements of Style} \cite{StrWhi07} Outdated, and American, but a classic. + \item + \emph{The Sense of Style} \cite{Pin15} Excellent, though quite in-depth. +\end{itemize} + +\subsubsection{Citation styles} + +\begin{itemize} +\item If you are referring to a reference as a noun, then cite it as: ``\citet{Orw68} discusses the role of language in political thought.'' +\item If you are referring implicitly to references, use: ``There are many good books on writing \citep{Orw68, Wil09, Pin15}.'' +\end{itemize} +\subsection{Plagiarism warning} + +\begin{highlight_title}{WARNING} + + If you include material from other sources without full and correct attribution, you are commiting plagiarism. The penalties for plagiarism are severe. + Quote any included text and cite it correctly. Cite all images, figures, etc. clearly in the caption of the figure. +\end{highlight_title} + + +%================================================================================================================================== +\chapter{Background} +What did other people do, and how is it relevant to what you want to do? +\section{Guidance} +\begin{itemize} + \item + Don't give a laundry list of references. + \item + Tie everything you say to your problem. + \item + Present an argument. + \item Think critically; weigh up the contribution of the background and put it in context. + \item + \textbf{Don't write a tutorial}; provide background and cite + references for further information. +\end{itemize} + +%================================================================================================================================== +\chapter{Analysis/Requirements} +What is the problem that you want to solve, and how did you arrive at it? +\section{Guidance} +Make it clear how you derived the constrained form of your problem via a clear and logical process. + +%================================================================================================================================== +\chapter{Design} +How is this problem to be approached, without reference to specific implementation details? +\section{Guidance} +Design should cover the abstract design in such a way that someone else might be able to do what you did, but with a different language or library or tool. + +%================================================================================================================================== +\chapter{Implementation} +What did you do to implement this idea, and what technical achievements did you make? +\section{Guidance} +You can't talk about everything. Cover the high level first, then cover important, relevant or impressive details. + + + +\section{General points} + +These points apply to the whole dissertation, not just this chapter. + + + +\subsection{Figures} +\emph{Always} refer to figures included, like Figure \ref{fig:relu}, in the body of the text. Include full, explanatory captions and make sure the figures look good on the page. +You may include multiple figures in one float, as in Figure \ref{fig:synthetic}, using \texttt{subcaption}, which is enabled in the template. + + + +% Figures are important. Use them well. +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth]{images/relu.pdf} + + \caption{In figure captions, explain what the reader is looking at: ``A schematic of the rectifying linear unit, where $a$ is the output amplitude, + $d$ is a configurable dead-zone, and $Z_j$ is the input signal'', as well as why the reader is looking at this: + ``It is notable that there is no activation \emph{at all} below 0, which explains our initial results.'' + \textbf{Use vector image formats (.pdf) where possible}. Size figures appropriately, and do not make them over-large or too small to read. + } + + % use the notation fig:name to cross reference a figure + \label{fig:relu} +\end{figure} + + +\begin{figure} + \centering + \begin{subfigure}[b]{0.45\textwidth} + \includegraphics[width=\textwidth]{images/synthetic.png} + \caption{Synthetic image, black on white.} + \label{fig:syn1} + \end{subfigure} + ~ %add desired spacing between images, e. g. ~, \quad, \qquad, \hfill etc. + %(or a blank line to force the subfigure onto a new line) + \begin{subfigure}[b]{0.45\textwidth} + \includegraphics[width=\textwidth]{images/synthetic_2.png} + \caption{Synthetic image, white on black.} + \label{fig:syn2} + \end{subfigure} + ~ %add desired spacing between images, e. g. ~, \quad, \qquad, \hfill etc. + %(or a blank line to force the subfigure onto a new line) + \caption{Synthetic test images for edge detection algorithms. \subref{fig:syn1} shows various gray levels that require an adaptive algorithm. \subref{fig:syn2} + shows more challenging edge detection tests that have crossing lines. Fusing these into full segments typically requires algorithms like the Hough transform. + This is an example of using subfigures, with \texttt{subref}s in the caption. + }\label{fig:synthetic} +\end{figure} + +\clearpage + +\subsection{Equations} + +Equations should be typeset correctly and precisely. Make sure you get parenthesis sizing correct, and punctuate equations correctly +(the comma is important and goes \textit{inside} the equation block). Explain any symbols used clearly if not defined earlier. + +For example, we might define: +\begin{equation} + \hat{f}(\xi) = \frac{1}{2}\left[ \int_{-\infty}^{\infty} f(x) e^{2\pi i x \xi} \right], +\end{equation} +where $\hat{f}(\xi)$ is the Fourier transform of the time domain signal $f(x)$. + +\subsection{Algorithms} +Algorithms can be set using \texttt{algorithm2e}, as in Algorithm \ref{alg:metropolis}. + +% NOTE: line ends are denoted by \; in algorithm2e +\begin{algorithm} + \DontPrintSemicolon + \KwData{$f_X(x)$, a probability density function returing the density at $x$.\; $\sigma$ a standard deviation specifying the spread of the proposal distribution.\; + $x_0$, an initial starting condition.} + \KwResult{$s=[x_1, x_2, \dots, x_n]$, $n$ samples approximately drawn from a distribution with PDF $f_X(x)$.} + \Begin{ + $s \longleftarrow []$\; + $p \longleftarrow f_X(x)$\; + $i \longleftarrow 0$\; + \While{$i < n$} + { + $x^\prime \longleftarrow \mathcal{N}(x, \sigma^2)$\; + $p^\prime \longleftarrow f_X(x^\prime)$\; + $a \longleftarrow \frac{p^\prime}{p}$\; + $r \longleftarrow U(0,1)$\; + \If{$r> z) & 1 for z in range(16)] + a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p = bv + + # compute next state of the inner 2x2 + nw = apply_rule(f, a, b, c, e, g, i, j, k) + ne = apply_rule(g, b, c, d, f, h, j, k, l) + sw = apply_rule(j, e, f, g, i, k, m, n, o) + se = apply_rule(k, f, g, h, j, l, n, o, p) + + # compute the index of this 4x4 + nw_code = a | (b << 1) | (e << 2) | (f << 3) + ne_code = c | (d << 1) | (g << 2) | (h << 3) + sw_code = i | (j << 1) | (m << 2) | (n << 3) + se_code = k | (l << 1) | (o << 2) | (p << 3) + + # compute the state for the 2x2 + next_code = nw | (ne << 1) | (sw << 2) | (se << 3) + + # get the 4x4 index, and write into the table + s_table[nw_code, ne_code, sw_code, se_code] = next_code + + return s_table + +\end{lstlisting} + +%================================================================================================================================== +\chapter{Evaluation} +How good is your solution? How well did you solve the general problem, and what evidence do you have to support that? + +\section{Guidance} +\begin{itemize} + \item + Ask specific questions that address the general problem. + \item + Answer them with precise evidence (graphs, numbers, statistical + analysis, qualitative analysis). + \item + Be fair and be scientific. + \item + The key thing is to show that you know how to evaluate your work, not + that your work is the most amazing product ever. +\end{itemize} + +\section{Evidence} +Make sure you present your evidence well. Use appropriate visualisations, reporting techniques and statistical analysis, as appropriate. + +If you visualise, follow the basic rules, as illustrated in Figure \ref{fig:boxplot}: +\begin{itemize} +\item Label everything correctly (axis, title, units). +\item Caption thoroughly. +\item Reference in text. +\item \textbf{Include appropriate display of uncertainty (e.g. error bars, Box plot)} +\item Minimize clutter. +\end{itemize} + +See the file \texttt{guide\_to\_visualising.pdf} for further information and guidance. + +\begin{figure} + \centering + \includegraphics[width=1.0\linewidth]{images/boxplot_finger_distance.pdf} + + \caption{Average number of fingers detected by the touch sensor at different heights above the surface, averaged over all gestures. Dashed lines indicate + the true number of fingers present. The Box plots include bootstrapped uncertainty notches for the median. It is clear that the device is biased toward + undercounting fingers, particularly at higher $z$ distances. + } + + % use the notation fig:name to cross reference a figure + \label{fig:boxplot} +\end{figure} + + +%================================================================================================================================== +\chapter{Conclusion} +Summarise the whole project for a lazy reader who didn't read the rest (e.g. a prize-awarding committee). +\section{Guidance} +\begin{itemize} + \item + Summarise briefly and fairly. + \item + You should be addressing the general problem you introduced in the + Introduction. + \item + Include summary of concrete results (``the new compiler ran 2x + faster'') + \item + Indicate what future work could be done, but remember: \textbf{you + won't get credit for things you haven't done}. +\end{itemize} + +%================================================================================================================================== +% +% +%================================================================================================================================== +% APPENDICES + +\begin{appendices} + +\chapter{Appendices} + +Typical inclusions in the appendices are: + +\begin{itemize} +\item + Copies of ethics approvals (required if obtained) +\item + Copies of questionnaires etc. used to gather data from subjects. +\item + Extensive tables or figures that are too bulky to fit in the main body of + the report, particularly ones that are repetitive and summarised in the body. + +\item Outline of the source code (e.g. directory structure), or other architecture documentation like class diagrams. + +\item User manuals, and any guides to starting/running the software. + +\end{itemize} + +\textbf{Don't include your source code in the appendices}. It will be +submitted separately. + +\end{appendices} + +%================================================================================================================================== +% BIBLIOGRAPHY + +% The bibliography style is abbrvnat +% The bibliography always appears last, after the appendices. + +\bibliographystyle{abbrvnat} + +\bibliography{l4proj} + +\end{document}