scispace - formally typeset
Search or ask a question

The Art in Computer Programming

TL;DR: Here the authors haven’t even started the project yet, and already they’re forced to answer many questions: what will this thing be named, what directory will it be in, what type of module is it, how should it be compiled, and so on.
Abstract: Writers face the blank page, painters face the empty canvas, and programmers face the empty editor buffer. Perhaps it’s not literally empty—an IDE may want us to specify a few things first. Here we haven’t even started the project yet, and already we’re forced to answer many questions: what will this thing be named, what directory will it be in, what type of module is it, how should it be compiled, and so on.

Content maybe subject to copyright    Report

Citations
More filters
Journal ArticleDOI
TL;DR: An overview of pattern clustering methods from a statistical pattern recognition perspective is presented, with a goal of providing useful advice and references to fundamental concepts accessible to the broad community of clustering practitioners.
Abstract: Clustering is the unsupervised classification of patterns (observations, data items, or feature vectors) into groups (clusters). The clustering problem has been addressed in many contexts and by researchers in many disciplines; this reflects its broad appeal and usefulness as one of the steps in exploratory data analysis. However, clustering is a difficult problem combinatorially, and differences in assumptions and contexts in different communities has made the transfer of useful generic concepts and methodologies slow to occur. This paper presents an overview of pattern clustering methods from a statistical pattern recognition perspective, with a goal of providing useful advice and references to fundamental concepts accessible to the broad community of clustering practitioners. We present a taxonomy of clustering techniques, and identify cross-cutting themes and recent advances. We also describe some important applications of clustering algorithms such as image segmentation, object recognition, and information retrieval.

14,054 citations

Journal ArticleDOI
TL;DR: In this paper, the authors considered factoring integers and finding discrete logarithms on a quantum computer and gave an efficient randomized algorithm for these two problems, which takes a number of steps polynomial in the input size of the integer to be factored.
Abstract: A digital computer is generally believed to be an efficient universal computing device; that is, it is believed able to simulate any physical computing device with an increase in computation time by at most a polynomial factor. This may not be true when quantum mechanics is taken into consideration. This paper considers factoring integers and finding discrete logarithms, two problems which are generally thought to be hard on a classical computer and which have been used as the basis of several proposed cryptosystems. Efficient randomized algorithms are given for these two problems on a hypothetical quantum computer. These algorithms take a number of steps polynomial in the input size, e.g., the number of digits of the integer to be factored.

7,427 citations

Book
01 Jan 2009
TL;DR: This text can be used as the basis for an advanced undergraduate or a graduate course on the subject, or for self-study, and is certain to become the definitive reference on the topic.
Abstract: Analytic Combinatorics is a self-contained treatment of the mathematics underlying the analysis of discrete structures, which has emerged over the past several decades as an essential tool in the understanding of properties of computer programs and scientific models with applications in physics, biology and chemistry. Thorough treatment of a large number of classical applications is an essential aspect of the presentation. Written by the leaders in the field of analytic combinatorics, this text is certain to become the definitive reference on the topic. The text is complemented with exercises, examples, appendices and notes to aid understanding therefore, it can be used as the basis for an advanced undergraduate or a graduate course on the subject, or for self-study.

3,616 citations


Cites background or methods from "The Art in Computer Programming"

  • ...This analysis and similar ones are relevant to integer fac torization, using Pollard’s “rho” method [247, 379, 538]....

    [...]

  • ...This evaluation is relevant to polynomial factorization over Z since it gives an upper bound on the number of irreducible factor combinations that need to be considered in order to lift a factorization from Fp(X) to Z(X); see [379, 599]....

    [...]

  • ...These polynomials are also known as continuant polynomials [379, 601]....

    [...]

  • ...Euclid’s Greatest Common Divisor (GCD) Algorithm applies to any pair of p olynomials (u1, u0) satisfying deg(u1) < deg(u0), proceeding by successive divisions [379]:...

    [...]

Proceedings ArticleDOI
15 Dec 2008
TL;DR: The use of isolation enables the proposed method, iForest, to exploit sub-sampling to an extent that is not feasible in existing methods, creating an algorithm which has a linear time complexity with a low constant and a low memory requirement.
Abstract: Most existing model-based approaches to anomaly detection construct a profile of normal instances, then identify instances that do not conform to the normal profile as anomalies. This paper proposes a fundamentally different model-based method that explicitly isolates anomalies instead of profiles normal points. To our best knowledge, the concept of isolation has not been explored in current literature. The use of isolation enables the proposed method, iForest, to exploit sub-sampling to an extent that is not feasible in existing methods, creating an algorithm which has a linear time complexity with a low constant and a low memory requirement. Our empirical evaluation shows that iForest performs favourably to ORCA, a near-linear time complexity distance-based method, LOF and random forests in terms of AUC and processing time, and especially in large data sets. iForest also works well in high dimensional problems which have a large number of irrelevant attributes, and in situations where training set does not contain any anomalies.

3,455 citations

References
More filters
Journal ArticleDOI
TL;DR: Senge's Fifth Discipline is a set of principles for building a "learning organization" as discussed by the authors, where people expand their capacity to create the results they truly desire, where new and expansive patterns of thinking are nutured, where collective aspiration is set free, and where people are contually learning together.
Abstract: Peter Senge, founder and director of the Society for Organisational Learning and senior lecturer at MIT, has found the means of creating a 'learning organisation'. In The Fifth Discipline, he draws the blueprints for an organisation where people expand their capacity to create the results they truly desire, where new and expansive patterns of thinking are nutured, where collective aspiration is set free, and where people are contually learning together. The Fifth Discipline fuses these features together into a coherent body of theory and practice, making the whole of an organisation more effective than the sum of its parts. Mastering the disciplines will: *Reignite the spark of learning, driven by people focused on what truly matters to them. *Bridge teamwork into macro-creativity. *Free you from confining assumptions and mind-sets. *Teach you to see the forest and the trees. *End the struggle between work and family time. The Fifth Discipline is a remarkable book that draws on science, spiritual values, psychology, the cutting edge of management thought and Senge's work with leading companies which employ Fifth Discipline methods. Reading it provides a searching personal experience and a dramatic professional shift of mind. This edition contains more than 100 pages of new material about how companies are actually using and benefiting from Fifth Discipline practices, as well as a new foreword from Peter Senge about his work with the Fifth Discipline over the last 15 years.

16,386 citations

Book
01 Jan 1999
TL;DR: You may love XP, or you may hate it, but Extreme Programming Explained will force you to take a fresh look at how you develop software.
Abstract: Software development projects can be fun, productive, and even daring. Yet they can consistently deliver value to a business and remain under control.Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned.Fundamentals of XP include: Distinguishing between the decisions to be made by business interests and those to be made by project stakeholders. Writing unit tests before programming and keeping all of the tests running at all times. Integrating and testing the whole system--several times a day. Producing all software in pairs, two programmers at one screen. Starting projects with a simple design that constantly evolves to add needed flexibility and remove unneeded complexity. Putting a minimal system into production quickly and growing it in whatever directions prove most valuable.Why is XP so controversial? Some sacred cows don't make the cut in XP: Don't force team members to specialize and become analysts, architects, programmers, testers, and integrators--every XP programmer participates in all of these critical activities every day. Don't conduct complete up-front analysis and design--an XP project starts with a quick analysis of the entire system, and XP programmers continue to make analysis and design decisions throughout development. Develop infrastructure and frameworks as you develop your application, not up-front--delivering business value is the heartbeat that drives XP projects. Don't write and maintain implementation documentation--communication in XP projects occurs face-to-face, or through efficient tests and carefully written code.You may love XP, or you may hate it, but Extreme Programming Explained will force you to take a fresh look at how you develop software. 0201616416B04062001

6,030 citations


"The Art in Computer Programming" refers background in this paper

  • ...of canvases? The Extreme Programming[ Bec00 ] notion of Test First Design can help....

    [...]

Book
01 Jan 1975
TL;DR: The Mythical Man-Month, Addison-Wesley, 1975 (excerpted in Datamation, December 1974), gathers some of the published data about software engineering and mixes it with the assertion of a lot of personal opinions.
Abstract: The book, The Mythical Man-Month, Addison-Wesley, 1975 (excerpted in Datamation, December 1974), gathers some of the published data about software engineering and mixes it with the assertion of a lot of personal opinions. In this presentation, the author will list some of the assertions and invite dispute or support from the audience. This is intended as a public discussion of the published book, not a regular paper.

3,875 citations

Book
01 Jan 1995
TL;DR: This book discusses Aristocracy, Democracy, and System Design, and the Mythical Man-Month after 20 years, which aims to answer the questions of why the Tower of Babel failed and how to prevent future collapses.
Abstract: 1. The Tar Pit. 2. The Mythical Man-Month. 3. The Surgical Team. 4. Aristocracy, Democracy, and System Design. 5. The Second-System Effect. 6. Passing the Word. 7. Why Did the Tower of Babel Fail? 8. Calling the Shot. 9. Ten Pounds in a Five-Pound Sack. 10. The Documentary Hypothesis. 11. Plan to Throw One Away. 12. Sharp Tools. 13. The Whole and the Parts. 14. Hatching a Castrophe. 15. The Other Face. 16. No Silver Bullet -- Essence and Accident. 17. "No Silver Bullet" ReFired. 18. Propositions of The Mythical Man-Month: True or False? 19. The Mythical Man-Month After 20 Years. Epilogue. Notes and references. Index. 0201835959T04062001

2,042 citations