First of all, you do know there are 3 classes. First class train is the middle class.
Normally no need to book in advance. There are a lot of trains. Only if you travel in holiday season, or want to travel in the evening I would recommend it. Tickets are issues 30 days in advance. If you book through a website earlier, the company will make the booking final as soon as they come available.
There are a couple of sites offering train tickets. One that is recommended here more often is https://www.china-diy-travel.com/en/.
If you stay a couple of days in Beijing before you travel, you can also ask your hotel to book for you. Normally they will do it for a small fee. Or ask for a ticket agent nearby, and buy there. Costs 5rmb per ticket extra. Bring your passport.
THank you very much - a very helpful reply!!!