========
Welcome!
========

I am glad you join this course about *Algorithms & Data Structures*. I
am preparing this course as well as I can with the time, resources and
energy I have, and I do hope you will find it relevant. Many thanks to
the students who took this course in the past: Their feedback has been
very valuable. Let me know what you think!

Despite its official title, this course is first and foremost about
*solving “programming” problems*. This is the most valuable tool a
programmer has because it applies across technologies, languages and
frameworks. The things I learned 15 years ago still apply to my daily
engineering work. This is *rock-solid*. But it is also a competence
that is *hard to get*.

.. important:: Anyone can join and succeed in this course: There is
  **no** prerequisite. I will use some high-school maths (functions,
  sets, probabilities, summations, boolean logic), which I recall in a
  separate appendix. The plan is to explain everything we need as we
  go. This is **not** a maths class.


What Can You Expect from Me?
----------------------------

I am here to help. Please ask. I will do my best to support you.  I am
there three times a week for all lectures and lab sessions. Feel free
to come and ask questions. I am paid to answer you!

.. note:: I am only an external resource in NTNU. I am a software
   engineer at `dipai.no <https://dipai.no>`_ so I don't have an
   office in NTNU, where you can find me.

   Feel free to reach out by email; it works best for me:
   franck.chauvel@ntnu.no. Expect a reply in the next 12 hours.

   
What Do I Expect from You?
--------------------------

This course **is hard**---I cannot stress this enough. Do not wait the
last moment to start preparing for the final examination. This course
is an opportunity, and here is how I would make the most of it:

-  Attend the lecture physically. Even more, ask questions! Attending
   empowers you to ask questions and to stop me if I am unclear. Please
   do so: I am happy to adjust or answer to the best of my knowledge.

-  Attend the lab sessions and go through the exercises. In my
   experience, exercises (whether on paper or on computer) are the only
   thing that really grounds our understanding.

-  Go through the home examinations. I believe this is a good
   preparation to the final one and also a good way to see where we
   stand.

-  Reach out if you need any help.

-  Practice, practice, practice.

