I'm looking for a word or phrase to describe a person who does not know much about anything but the field they are majoring or have majored on. For example, a computer scientist who does not know anything in other fields and does not have any hobbies outside their job/field of study.
Also what is a word to describe a person that is the opposite? Meaning, they know something in other fields, read books about different things, have hobbies, etc.