© 2017 The Massachusetts Institute of Technology

All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.

This book was set in Times Roman by Westchester Publishing Services. Printed and bound in the United States of America.

Library of Congress Cataloging-in-Publication Data

Names: Devadas, Srinivas, author.

Title: Programming for the puzzled : learn to program while solving puzzles / Srini Devadas.

Description: Cambridge, MA : The MIT Press, [2017] | Includes bibliographical references and index.

Identifiers: LCCN 2017010148 | ISBN 9780262534307 (pbk. : alk. paper)

Subjects: LCSH: Computer programming--Computer-assisted instruction. | Mathematical recreations--Data processing. | Puzzles--Data processing. | Computer games.

Classification: LCC QA76.6 .D485 2017 | DDC 005.10285--dc23 LC record available at https://lccn.loc.gov/2017010148