I have written about DEAL.II last year. I intended to try it but never got started. Part of my excuse was unavailability of some good starting tutorials.
Well today that excuse is no more.
Wolfgang Bangerth, Professor in the Department of Mathematics at Texas A&M University and principal author and maintainer of Deal.II, a publicly available Open Source library written in C++ for the numerical solution of partial differential equations has released 40 lectures on how to use Deal.II
These lectures not only talk about how to use deal.ii but also are lectures on which solver to take, which preconditioners to use, adaptive mesh refinement, time dependent problems, parallel computing, using tools such as Visit, Paraview and Eclipse, debugging, etc and all of the topics one encounters in scientific computing.
Here’s the list of the lectures, click on anything that interests you. Must watch for anyone interested in scientific computing!!
Course overview; why consider existing software libraries 

A real brief overview of deal.II 

Obtaining and installing deal.II 

The building blocks of a finite element code 

step1, part 1: Simple meshes 

step1, part 2: Playing with meshes 

Learning to use modern tools, part 1 – Eclipse: an Integrated 

Learning to use modern tools, part 1 – Eclipse: an Integrated 

step2: Degrees of freedom, sparsity in finite element matrices 

step3: A first Laplace solver 

Learning to use modern tools, part 2 – Visit: a visualization 

A little bit of C++: Templates 

step4: A dimensionindependent Laplace solver 

step5: Computing on successively refined meshes 

Adaptively refined meshes 

Hanging nodes and other constraints 

step6: Adaptive meshes 

Debug vs. optimized mode 

Problems with more than one solution variable 

step20: The mixed Laplace equation 

Block structured solvers for vectorvalued problems 

Some data structure design considerations 

Learning to use modern tools, part 3 – doxygen: a documentation 

Best programming practices: Defensive programming and other ways 

More on debugging using Eclipse’s builtin debugger 

Time dependent problems: A taxonomy 

Time discretizations for parabolic problems 

Time discretizations for secondorder hyperbolic problems 

The step26 tutorial program — the heat equation. Part 1: The 

The step26 tutorial program — the heat equation. Part 2: 

Firstorder hyperbolic systems 

Learning to use modern tools, part 4 – Paraview, an alternative 

What solver to use 

What preconditioner to use — Introduction and Parts 1+2: Simple 

What preconditioner to use — Part 4: Simple preconditioners for 

What preconditioner to use — Part 5: Complex 

Parallelization: Introduction 

Parallelization on a single, shared memory machine 

Beyond computational methods — Part 1: Workflows in scientific 

Beyond computational methods — Part 2: Issues with developing 