Can a parent component set the attributes of a child component
You cannot directly modify a child components attribute in parent.It provides that extra layer of security when each component can only modify its own attributes.
You can do it in 3 ways
Pass an attribute by reference to child component from parent and whenever its changes the child component can handle it appropriately
Use Application events to communicate with Child components
Expose a method from the child component using aura:method and call it from the parent by using
component.find("aura:id").methodname();
Check out this link from salesforce where they have explained this in detail.