Could you please expand on what you mean by applying knowledge? But sure, I don’t believe reading a book from cover to cover is necessary in most cases, and I seldom do so with scientific books.
Like most algorithm courses are fairly abstract form of programming (writing a line of code) where as a working programmer is a software engineer constrained by time and resources. This means that for example this algorithm course, it teaches you to generalize your solutions but that's not always realistic goal, or even desirable goal, in software engineering, and you might find out this if you implement one of the algorithms to do something for you in a small program.
Applying what you've learned in some software project of yours constraints you nicely such that you can't waste your time reading stuff from cover to cover.