Programming, Problem Solving, and Abstraction

with C

Revised Edition, 2013

Alistair Moffat

ISBN 9781486010974
Pearson Australia

Click for larger

Availability: This book is available from Pearson Australia as a hardcopy or a softcopy and from Booktopia and Zookal.

Unfortunately, Amazon do not carry it.

Executive summary: budget-priced text covering programming in C, and an introduction to computer science - in other words, a bog standard first-semester first-year syllabus. The last four chapters include an introduction to algorithm design and analysis, covering dynamic data structures, hashing, sorting algorithms, and searching.

Length: x + 248 pages.

Price: retail price is around $AUD85 for the hardcopy, you may be able to get it for less with student discount.

Other resources: all of the C programs in the book are available to people wishing to use it as a text; and a complete set of lecture slides (PDF) are also available. Email the author for more information.

Information Available

Pearson Catalog page

Web page for first edition, including errata listing for first edition

Errata listing for revised edition

Back cover blurb

    Professor Alistair Moffat has been a member of the academic staff at The University of Melbourne since 1987. This book has evolved out of his award-winning lecture presentations, and draws on his three decades of teaching experience with undergraduate students. The readable style is punctuated by more than 100 working programs, and each chapter includes a detailed case study, highlighted key points, and a range of on-paper and programming exercises.

What they think...

    "A truly gripping read" - the author.

    "Tom Clancy has a problem" - the author's wife.

    "We had to buy it" - the author's students.

Click for larger photo
(click photo for larger image)

Sample pages (subject to copyright, and not for distribution or duplication):

Changes in the Revised Edition

Alistair Moffat
ammoffat /
January 13, 2013

Mandatory disclaimer: This page, its content and style, are the responsibility of the author and do not necessarily represent the views, policies, or opinions of The University of Melbourne.