\documentclass{beamer}

\usepackage[utf8]{inputenc}

\title{Upgrading your memor[y|ies]}
\subtitle{Some guidance for UoA undergraduates considering postgraduate Computer Science}
\author{James Cooper}
\institute{School of Computer Science, University of Auckland}
\date{20 August 2019}

\usetheme{DarkConsole}

\newcounter{nameOfYourChoice}

\begin{document}

\frame{\titlepage}

\begin{frame}{Outline}
    \tableofcontents
\end{frame}

\section{Finding A Supervisor}
\frame{\sectionpage}
\begin{frame}{Two approaches}
You can either:
\begin{itemize}
    \item Find a topic, and then a supervisor; or,\medskip
    \item Find a supervisor, and then a topic
\end{itemize}
\vfill All academic staff are expected to supervise some students, so if you approach them, they will listen.  Just remember always to \alert{be respectful} of them and their time, and \alert{don't muck them about}.
\end{frame}

\begin{frame}{First step}
\begin{enumerate}
    \item Figure out what fields of CS interest you most\medskip
    \item Focus on one to three of them\medskip
    \item Now either
    \begin{itemize}
        \item Approach a potential supervisor who works in that field; or,
        \item Continue narrowing your chosen field(s) to (a) specific topic(s)
    \end{itemize}
\end{enumerate}
\end{frame}

\begin{frame}{Topic before supervisor}
If you want to find a topic, and then a supervisor to suit it.\newline\newline There are (at least) three approaches:
\begin{itemize}
    \item Think of a question.  Keep reading until you find the answer.  Repeat until you find a question that \alert{nobody} knows the answer to.\medskip
    \item<2-> Read in your chosen field until you come across a recent paper where you think ``\alert{I could do that better.}''\medskip
    \item<3-> Think of a problem you have, for which you don't have a solution.\medskip
\end{itemize}
You have found the \alert{beginning} of your topic.
\end{frame}

\begin{frame}{Supervisor before topic}
\begin{enumerate}
    \item Recall your UG papers.  Which did you most enjoy/find interesting? What about something different?
    \setcounter{nameOfYourChoice}{\value{enumi}}
\end{enumerate}
Once you know which field you want to focus on
\begin{enumerate}
    \setcounter{enumi}{\value{nameOfYourChoice}}
    \item Look through \emph{all} the academic CS staff profiles, to find those who work in that field.\medskip
    \item Be prepared for them to have nothing of interest.\medskip
    \item Think of particular topic areas you are most keen on.\medskip
    \item Email them asking if they have projects in that topic you could do for your dissertation.\medskip
    \item Wait a while.\medskip
    \item If they haven't responded after \alert{two weeks}, email again.
\end{enumerate}
\end{frame}

\begin{frame}{So you have found yourself a supervisor}
\begin{enumerate}
    \item Arrange an initial meeting \alert{at their convenience}\medskip
    \item Present your topic ideas to them; and/or\medskip\setcounter{enumi}{1}
    \item Listen to the topic ideas they have\medskip
    \item Select your favourite, and refine it into a proposal
    \begin{itemize}
        \item What is the motivation for it? (Why)
        \item What do you hope to achieve? (What)
        \item Will you need any extra equipment? (How)
        \item Work at a desk or in your supervisor's lab? (Where)
        \item Do you need to involve anyone else? (Who)
        \item Can you estimate a timeline? (When)
    \end{itemize}\medskip
    \item Develop that into a plan with your supervisor
\end{enumerate}\medskip
It is \emph{never} too early to get started on this.
\end{frame}

\section{700 Prerequisites}
\frame{\sectionpage}
\begin{frame}{Logically dependent}
    \begin{itemize}
        \item Stated prerequisites are usually fairly logical\medskip
        \item If you have high enough grades otherwise, you \emph{might} not need to meet them all\medskip
        \item Can make a concession request.  Result up to enrolments staff\medskip
        \item Basically:
        \begin{itemize}
            \item Do you have sufficient background knowledge?
            \item Will you be able to keep up with this paper?
        \end{itemize}\medskip
        \item If in doubt, contact the teaching staff for the paper
    \end{itemize}
\end{frame}

\begin{frame}{General Preparations}
Recommendations that will apply to just about every paper.
    \begin{itemize}
        \item CS 210, CS 220, CS 225 {\small\& CS 320 if possible}\medskip
        \item All recommended and required preparation listed on a course's description\medskip
        \item Understanding of the basics of algorithms \& data structures\medskip
        \item Strong knowledge of at least one programming language\medskip
        \item Familiarity with fundamental mathematics
        \begin{itemize}
            \item Linear Algebra -- Vectors and matrices
            \item Calculus -- Differentiation and integration
            \item Discrete Mathematics -- \alert{Graph theory}
        \end{itemize}\medskip
        \item \alert{Willingness to learn} about whatever is needed
    \end{itemize}
\end{frame}

\begin{frame}{In particular}
For every paper in \(X\) I recommend all of \(Y\):
    \begin{itemize}
        \item CS 711, CS 732, CS 734
        \begin{enumerate}
            \item CS 335
            \item At least one of CS 230, CS 235, CS 280
            \item CS 320, CS 351
            \item CS 340
            \item CS 350
            \item CS 313
        \end{enumerate}\pause\medskip
        \item CS 715, CS 771, CS 773
        \begin{enumerate}
            \item CS 373, Maths 208/250
            \item CS 369
            \item CS 320
            \item CS 313
        \end{enumerate}
    \end{itemize}
\end{frame}

\begin{frame}{In particular}
For every paper in \(X\) I recommend all of \(Y\):
    \begin{itemize}
        \item CS 705, CS 747
        \begin{enumerate}
            \item CS 345
        \end{enumerate}\pause\medskip
        \item CS 702, 725
        \begin{enumerate}
            \item CS 313, CS 340
            \item CS 316
            \item CS 314
        \end{enumerate}\pause\medskip
        \item CS 726, CS 727, CS 742
        \begin{enumerate}
            \item CS 314, CS 316
            \item For CS 727, stage 3 Maths
        \end{enumerate}\pause\medskip
        \item CS 720, 750
        \begin{enumerate}
            \item CS 320, CS 350
        \end{enumerate}
    \end{itemize}
\end{frame}

\begin{frame}{In particular}
For every paper in \(X\) I recommend all of \(Y\):
    \begin{itemize}
        \item CS 751, CS 752, CS 753
        \begin{enumerate}
            \item CS 351
            \item CS 369
            \item CS 320
        \end{enumerate}\pause\medskip
        \item CS 760, CS 761, CS 765, CS 767
        \begin{enumerate}
            \item CS 367
            \item CS 320, CS 350
            \item CS 369
            \item CS 351
        \end{enumerate}
    \end{itemize}
\end{frame}

\section{Some Myths About Postgrad CS}
\frame{\sectionpage}
\begin{frame}{Myths}
``PG CS is \{\}''
\begin{itemize}
    \item all maths\pause\medskip
    \item \emph{no} maths\pause\medskip
    \item all theory\pause\medskip
    \item \emph{no} theory\pause\medskip
    \item all programming\pause\medskip
    \item \emph{no} programming\pause\medskip
    \item all writing\pause\medskip
    \item \emph{no} writing%\pause\medskip
\end{itemize}
\end{frame}

\begin{frame}{Myths 2:  The Falsehoods}
\begin{itemize}
    \item PG CS will be easier than UG\pause\medskip
    \item PG CS won't be much work\pause\medskip
    \item You have to be some sort of genius to do PG CS\pause\medskip
    \item You have to be an amazing programmer to do PG CS\pause\medskip
    \item You will be judged on the `quality' of your code\pause\medskip
    \item There's no benefit to good code quality in PG\pause\medskip
    \item I'm already an expert, there's no point in PG CS\pause\medskip
    \item PG CS has no relevance to a professional developer\pause\medskip
    \item Topics in PG CS have no relation to `day-to-day' programming%\pause\medskip
\end{itemize}
\end{frame}

\begin{frame}{Episode 3:  Revenge of the Myths}
\begin{itemize}
    \item You will always be able to learn everything you need to for a given subject from a single textbook\pause\medskip
    \item You can learn everything you need just by reading research papers\pause\medskip
    \item There's no benefit to reading research papers, beyond meeting course requirements\pause\medskip
    \item You will always learn something the first time you read a research paper\pause\medskip
    \item Research papers are always well-written so you understand them immediately\pause\medskip
    \item There are never errors in research papers\pause\medskip
    \item Papers from other CS topics are of no relevance to you%\pause\medskip
\end{itemize}
\end{frame}

\begin{frame}{Oh No!  More Myths}
\begin{itemize}
    \item The final write-up always clearly reflects how the researcher arrived at the end result\pause\medskip
    \item Once you have chosen a subject area, you can only work in that area forever more\pause\medskip
    \item You'll never have to do a group project in PG CS\pause\medskip
    \item You'll achieve everything you expect to in your dissertation\pause\medskip
    \item Your dissertation will be completely novel\pause\medskip
    \item Your dissertation \emph{must} be completely novel\pause\medskip
    \item Your supervisor will always be available to suit your schedule\pause\medskip
    \item Researchers always \alert{know} exactly \alert{what they're doing}%\pause\medskip
\end{itemize}
\end{frame}

\section{Parting Words}
\frame{\sectionpage}
\begin{frame}%{Frame Title}
    Postgraduate Computer Science is a very valuable (and enjoyable) experience, but it is a lot of work and \emph{definitely} isn't for everyone.\linebreak\linebreak
    If you are here, however, it just might be for \alert{you}.
    
    \bigskip
    \bigskip
    
    \begin{block}{Always remember}
        If you knew what you were doing, it probably wouldn't be research.
    \end{block}
\end{frame}

\end{document}
