Basic concepts in programming with example tools