CODING AND SCHEDULING IN ENERGY HARVESTING COMMUNICATION SYSTEMS