I can give some examples of my grid.

A big benefit to having a dedicated file server is that no matter what "terminal" I sit at, I always see the same desktop and files.  I can sit at my desk with drawterm on a Linux workstation, or in bed with drawterm on a Windows laptop, or using a raspberry pi as a bare metal 9Front terminal. 

CPU server doesn't have to mean number crunching.  I have a raspberry pi cpu server that has a sensors hooked to it, and runs a file system to send commands to smart lights.  And another that has sensors and displays simple data using an led grid.  I made a kind of router using an old Dell and a used 4 port nic, and it is technically a cpu server, in that it has no monitor or keyboard and boots off the file server. 

As a learning experience, having separate file/cpu/terminal is nice because you can actually practice integrating them on a network.  However, if you are trying to do this out of a university dorm, then I could see things being so cramped that running a bunch of computers to kind of do 1 thing would seem overly complicated.