If you want to send back to Action a list of objects you need to specify an index in the name
attribute:
instead of
<s:iterator value="courseList">
<s:textfield name="marks" />
</s:iterator>
use
<s:iterator value="courseList" status="ctr">
<s:textfield name="courseList[%{#ctr.index}].marks" />
</s:iterator>