Start by looking at sensitivity, that is how many bits of resolution the Arduino ADC has, and the span you want to read.
-100 to +400 = 500 degree range the arduino has a 10bit ADC so reads 1024 counts. in your case, the count is already 0.5 degrees.
Even if you typed in a ' - ' to confuse us and you want +200 to +400 you have a 200 degree range, so get 0.2 degree resolution. still not good enough.
when attempting to measure a thing, the rule of thumb is that you have to have between 4 and 10 times the resolution. this does not even have 1 times the resolution you seek.
The thermocouple is a device that measures the difference in temperature AT THE JUNCTION of dissimilar metal. you THINK that is at the sensor point, but since you tie your Constantine side to your chrome plated brass screw, you created a second dissimilar metal connection. ditto with the copper wire.
the voltage created at the junction requires an amplifier. your options here are multiple. get a thermocouple chip that does all the work for you in turning your voltage into a digital signal.
- or - design and build an amplifier circuit, then feed that into an ADC of sufficient bits so as to have the ability to see a temperature of 0.0025 , not sure how close a 16bit would get you, but the ADS1115 has libraries available.
- or - buy a thermocouple interface that has an output you can use. preferably a digial one, but if you cannot find one, then you need to get an ADC that will have the resolution for the analog output.
get a high quality power supply. a noisy power supply will cause headaches.
The TEENSY has a 16 bit ADC, but not sure of the chip, I have seen notes of it having a real world 13 bit resolution.