\documentclass[a4paper,11pt]{article}

\usepackage{todonotes}
\usepackage[margin=3cm]{geometry}

\title{Report on the solution of Oblig 1 in IN2031}
\author{
Student X (studx@ifi.uio.no)\\
Student Y (study@ifi.uio.no)\\
}
\date{\today}


\begin{document}

\maketitle

\section{Introduction}
\label{sec:introduction}

This report documents the reference solution of the Oblig1 assignment.
It is intended not just to explain the reference solution, but also as an
example of a report with good structure and content. You may use it
as inspiration for reports you write later during this and other
courses.  However, do not follow it slavishly: different problems call
for different solutions, and different people have different style.
If you prefer another style, then stick to it.  An idiosyncratic
report executed well is superior to a idiomatic report executed
poorly.

The task was to implement a small programming language.
I have not found reason to stray from the
functional requirements outlined in the report, and it is to my
knowledge implemented completely.  For the pedantic,
Section~\ref{sec:limitations} notes some theoretical deficiencies.

\section{Implementation}
\label{sec:implementation}

The core of the program is ...

\section{Testing}
\label{sec:testing}
I test by extending the handed-out gradle unit test suite, with ....

Interesting cases include:

\begin{itemize}
\item ...
\item ...
\item ...
\end{itemize}

\subsection{Test Limitations}

The automated tests only cover the \textit{happy path}, not any error
cases.  I have tested trivial cases ...

\section{Limitations and Potential Problems}
\label{sec:limitations}
If a sting with \texttt{+} is inputtet our implementation will.



\section{Conclusions}
\label{sec:conclusion}
We have implemented a ...
I judge the implementation to be ...
\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
