A Certain Ambiguity


Book Description

While taking a class on infinity at Stanford in the late 1980s, Ravi Kapoor discovers that he is confronting the same mathematical and philosophical dilemmas that his mathematician grandfather had faced many decades earlier--and that had landed him in jail. Charged under an obscure blasphemy law in a small New Jersey town in 1919, Vijay Sahni is challenged by a skeptical judge to defend his belief that the certainty of mathematics can be extended to all human knowledge--including religion. Together, the two men discover the power--and the fallibility--of what has long been considered the pinnacle of human certainty, Euclidean geometry. As grandfather and grandson struggle with the question of whether there can ever be absolute certainty in mathematics or life, they are forced to reconsider their fundamental beliefs and choices. Their stories hinge on their explorations of parallel developments in the study of geometry and infinity--and the mathematics throughout is as rigorous and fascinating as the narrative and characters are compelling and complex. Moving and enlightening, A Certain Ambiguity is a story about what it means to face the extent--and the limits--of human knowledge.




How to Think About Algorithms


Book Description

This textbook, for second- or third-year students of computer science, presents insights, notations, and analogies to help them describe and think about algorithms like an expert, without grinding through lots of formal proof. Solutions to many problems are provided to let students check their progress, while class-tested PowerPoint slides are on the web for anyone running the course. By looking at both the big picture and easy step-by-step methods for developing algorithms, the author guides students around the common pitfalls. He stresses paradigms such as loop invariants and recursion to unify a huge range of algorithms into a few meta-algorithms. The book fosters a deeper understanding of how and why each algorithm works. These insights are presented in a careful and clear way, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.




How to Think about Algorithms


Book Description

Understand algorithms and their design with this revised student-friendly textbook. Unlike other algorithms books, this one is approachable, the methods it explains are straightforward, and the insights it provides are numerous and valuable. Without grinding through lots of formal proof, students will benefit from step-by-step methods for developing algorithms, expert guidance on common pitfalls, and an appreciation of the bigger picture. Revised and updated, this second edition includes a new chapter on machine learning algorithms, and concise key concept summaries at the end of each part for quick reference. Also new to this edition are more than 150 new exercises: selected solutions are included to let students check their progress, while a full solutions manual is available online for instructors. No other text explains complex topics such as loop invariants as clearly, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.




Algorithms in Java, Parts 1-4


Book Description

This edition of Robert Sedgewick's popular work provides current and comprehensive coverage of important algorithms for Java programmers. Michael Schidlowsky and Sedgewick have developed new Java implementations that both express the methods in a concise and direct manner and provide programmers with the practical means to test them on real applications. Many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. The third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 400,000 programmers! This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. Although the substance of the book applies to programming in any language, the implementations by Schidlowsky and Sedgewick also exploit the natural match between Java classes and abstract data type (ADT) implementations. Highlights Java class implementations of more than 100 important practical algorithms Emphasis on ADTs, modular programming, and object-oriented programming Extensive coverage of arrays, linked lists, trees, and other fundamental data structures Thorough treatment of algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT implementations (search algorithms) Complete implementations for binomial queues, multiway radix sorting, randomized BSTs, splay trees, skip lists, multiway tries, B trees, extendible hashing, and many other advanced methods Quantitative information about the algorithms that gives you a basis for comparing them More than 1,000 exercises and more than 250 detailed figures to help you learn properties of the algorithms Whether you are learning the algorithms for the first time or wish to have up-to-date reference material that incorporates new programming styles with classic and new algorithms, you will find a wealth of useful information in this book.




Algorithms & Architectures


Book Description




Teaching Fundamental Concepts of Informatics


Book Description

This book constitutes the refereed proceedings of the fourth International Conference on Informatics in Secondary Schools - Evolution and Perspectives, ISSEP 2010, held in Zurich, Switzerland in January 2010. The 14 revised full papers presented together with 6 invited papers were carefully reviewed and selected from 32 submissions. A broad variety of topics related to teaching informatics in secondary schools is addressed ranging from national experience reports to paedagogical and methodological issues. Contributions solicited cover a variety of topics including but not limited to accessibility, assessment, classroom management, communication skills, computer science contests, computers and society, courseware, curriculum issues, research in informatics education, diagnostic teaching, empirical methods, ethical/societal issues, gender and diversity issues, high school/college transition issues, information systems, information technology, interdisciplinary courses and projects, laboratory/active learning, multimedia, object-oriented issues, pedagogy, student retention and persistence, role of programming and algorithmics, using emerging instructional, technologies and web-based techniques/web services.




Research Anthology on Computational Thinking, Programming, and Robotics in the Classroom


Book Description

The education system is constantly growing and developing as more ways to teach and learn are implemented into the classroom. Recently, there has been a growing interest in teaching computational thinking with schools all over the world introducing it to the curriculum due to its ability to allow students to become proficient at problem solving using logic, an essential life skill. In order to provide the best education possible, it is imperative that computational thinking strategies, along with programming skills and the use of robotics in the classroom, be implemented in order for students to achieve maximum thought processing skills and computer competencies. The Research Anthology on Computational Thinking, Programming, and Robotics in the Classroom is an all-encompassing reference book that discusses how computational thinking, programming, and robotics can be used in education as well as the benefits and difficulties of implementing these elements into the classroom. The book includes strategies for preparing educators to teach computational thinking in the classroom as well as design techniques for incorporating these practices into various levels of school curriculum and within a variety of subjects. Covering topics ranging from decomposition to robot learning, this book is ideal for educators, computer scientists, administrators, academicians, students, and anyone interested in learning more about how computational thinking, programming, and robotics can change the current education system.




Algorithms in C, Parts 1-4


Book Description

Robert Sedgewick has thoroughly rewritten and substantially expanded his popular work to provide current and comprehensive coverage of important algorithms and data structures. Many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. The third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 250,000 programmers! This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. The algorithms and data structures are expressed in concise implementations in C, so that you can both appreciate their fundamental properties and test them on real applications. Of course, the substance of the book applies to programming in any language. Highlights Expanded coverage of arrays, linked lists, strings, trees, and other basic data structures Greater emphasis on abstract data types (ADTs) than in previous editions Over 100 algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT (searching) implementations New implementations of binomial queues, multiway radix sorting, Batcher's sorting networks, randomized BSTs, splay trees, skip lists, multiway tries, and much more Increased quantitative information about the algorithms, including extensive empirical studies and basic analytic studies, giving you a basis for comparing them Over 1000 new exercises to help you learn the properties of algorithms Whether you are a student learning the algorithms for the first time or a professional interested in having up-to-date reference material, you will find a wealth of useful information in this book.




Algorithms: Main Ideas and Applications


Book Description

Today the notion of the algorithm is familiar not only to mathematicians. It forms a conceptual base for information processing; the existence of a corresponding algorithm makes automatic information processing possible. The theory of algorithms (together with mathematical logic ) forms the the oretical basis for modern computer science (see [Sem Us 86]; this article is called "Mathematical Logic in Computer Science and Computing Practice" and in its title mathematical logic is understood in a broad sense including the theory of algorithms). However, not everyone realizes that the word "algorithm" includes a transformed toponym Khorezm. Algorithms were named after a great sci entist of medieval East, is al-Khwarizmi (where al-Khwarizmi means "from Khorezm"). He lived between c. 783 and 850 B.C. and the year 1983 was chosen to celebrate his 1200th birthday. A short biography of al-Khwarizmi compiled in the tenth century starts as follows: "al-Khwarizmi. His name is Muhammad ibn Musa, he is from Khoresm" (cited according to [Bul Rozen Ah 83, p.8]).




Frontier and Future Development of Information Technology in Medicine and Education


Book Description

IT changes everyday’s life, especially in education and medicine. The goal of ITME 2013 is to further explore the theoretical and practical issues of IT in education and medicine. It also aims to foster new ideas and collaboration between researchers and practitioners.