\chapter{The last lecture}

In this lecture, I will be giving a summary of the course, outlining
various aspects of the exam, and giving you an idea of some typical
sort of exam questions.

\section{Stuff we haven't covered}
There is a lot of general programming concepts and Python programming
concepts in particular that we haven't had time to cover in this
paper. Some things that are very useful to know include:
\begin{itemize}
\item recursion
\item exceptions
\item lambda functions
\item list comprehensions
\item heaps of stuff from the standard library
\end{itemize}
I would encourage all of you to find out as much about those things as
you can.

\section{What you can expect from COMP160 and Computer Science}
If you enjoyed COMP150 then I would encourage you to continue on to
COMP160 and even a major or minor in Computer Science. There has been
a shortage of skilled computer scientists in the work-force for some
time now, and that seems unlikely to change in the foreseeable future.
There are plenty of jobs, and let's face it, programming is just fun!
I'm often amazed that people get paid doing this stuff.

COMP160 has quite a different focus to COMP150. For a start, it uses
the programming language, Java. Java is currently the
most popular programming language in use according to the TIOBE
Programming Community Index, and has been for some time. Aside from
learning how to program in Java, COMP160 focuses less on using high
level language tools (such as lists and dictionaries), and more on
fundamental problem solving in an Object-Oriented language. This
process continues into second and third year with the focus on
fundamental concepts of computing. So if you want to know how to
implement a list or a dictionary efficiently, or how artificial
intelligence, computer graphics or databases work, then Computer
Science is a good option for you.

