Learning Verilog online
MIT Opencourseware 6.111 is a free online course about digital systems.
The syllabus says:

On completion of 6.111 students will have confidence in their abilities to conceive and carry out a complex digital systems design project in a team of two or three people. More broadly, they will be ready to handle substantial, challenging design problems. In particular, students will be able to:

explain the elements of digital system abstractions such as digital logic, Boolean algebra, flip-flops, finite-state machines (FSMs), and microprogrammed systems.
design simple digital systems based on these digital abstractions,and the &quot;digital paradigm&quot; including discrete, sampled information.
use basic digital tools and devices such as digital oscilloscopes, PALs, PROMs and VHDL.
work in a design team that can propose, design, successfully implement, and report on a digital circuit design project.
communicate the purpose and results of a design project in written and oral presentations.


That course does use VHDL rather than Verilog, but the why for both languages is the same and all tasks could be implemented in either language.