I'll give some real answers, as a person who has had a lot of issues in school because of procrastinating.
Schedule things - having hours in which you should start working on XYZ helps a lot. And don't waver on it. Like, I'll set it up so at 6PM I'll put in 2 hours on a project.
Start on things early. I know that sounds counter intuitive to the problem, but what I mean is just open up the book, look at a few problems, maybe work one, and just see how you feel about it. Often, my biggest issue is just putting things off because I know it won't take that long, so I rationalize it as okay to delay it. But I've found if I just start working on it, I often don't mind actually doing a lot of the work.
Related to what I said above, make sure you keep the work, books, etc visible. I found just leaving code open on another monitor would result in me poking at it while wasting time, loading pages, and so on. Which would often result in a large part of it getting done slowly over the course of a week. And that feels a lot better than rushing it all a few hours before it has to be submitted.
Finally, stop making excuses. And I don't just mean to other people, but to yourself as well.