The very best way to find the problem causing a Malfunction Indicator Light (MIL) to be on is to understand the system, how it works and what it needs to be looking at to set a particular code. First, find what codes are stored. You are going to need to listen to the story of any work that was done, any parts replaced, sensors disconnected, batteries disconnected, etc. because those sorts of things could obscure codes, set codes unrelated to the problem and generally cause diagnosis to be more difficult. The best scenario is that no one has been trying to repair the problem and you are looking at relevant data. There are times when the data looks a bit suspect and you may need to clear the system and let it begin from scratch. From there, run the monitors and look for a MIL to come on again. Experience is your best tool to make that judgement.
So, in this case we want to determine the cause of the MIL Check Engine light. I used a full function aftermarket scan tool because it will be tossing a wide net and querying other modules for codes as well as the engine module. There are times that diagnosis can be made more easily when several modules store codes that could be related. In this case I think I can concentrate on the powertrain codes.
Generally when you have several trouble codes you start with the lowest numbered code. In this case, P0030. I would expect that P0053 is a very similar set of conditions and that the two are related to the same problem. Now in the conglomerate of minds that come together via the internet you may have been told that a trouble code tells you what your car needs. That isn't true. While trial and error guessing could be considered a diagnostic approach, it is a very poor one. Better is to understand what you are looking at and how to test the system. Both the P0030 and the P0053 indicate a problem with the heater circuit of the bank 1 sensor 1 heated oxygen sensor. This would be the upstream fuel control oxygen sensor on the driver side exhaust. The power feed comes from the O2a fuse and powers both B1S1 and B2S1 sensors. Each sensor is grounded through the ecm at a different terminal. Since we have no B2S1 code the fuse is good. The only power related problem would be wiring or connector to the B1S1 downstream of the fuse. We can check power and heater ground with a meter and a scan tool commanding the heater on. The codes indicate the heater resistance is out of spec at startup and on engine running. Two seconds at startup sets a P0053, and six seconds of out of spec running sets a P0030. The O2 heater can be commanded on with the scan tool and monitored with a meter. If the power is reaching the sensor, and if the ecm is capable of grounding the heater circuit to the sensor then the heater resistance should be within specs. If it isn't then the sensor is bad. If it is then verify the ecm is measuring the current correctly.
In this case the B1S1 heater was bad. Replaced sensor.
P0449 indicates the evap vent canister solenoid control circuit did not match the command. Battery + feeds the solenoid and the ecm expects to see that voltage on the command side when the solenoid is commanded off and ground on that side when the solenoid is commanded on. A scan tool can be used to make the commands and the circuit monitored with a meter to find the problem.
In this case the vent solenoid was bad. Replaced vent solenoid.