This is an introductory programming book for those using the MIRANDA functional language. The text introduces MIRANDA at a level appropriate for students with little or no prior experience of programming. The emphasis is on the process of creating programs, solving problems and avoiding common errors. It covers a variety of problem-solving techniques, with guidance where appropriate, and includes a case study.