flowchart and algorithm basics