Programming Pearls

Total Page:16

File Type:pdf, Size:1020Kb

Programming Pearls programming pearls BUMPER-STICKER COMPUTER SCIENCE Every now and then, programmers have to convert rule is usually the person who sent me the rule, even if units of time. If a program processes 100 records per they in fact attributed it to their Cousin Ralph (sorry, second, for instance, how long will it take to process Ralph). In a few cases 1 have listed an earlier reference, one million records? Dividing shows that the task takes together with the author’s current affiliation (to the 10,000 seconds, and there are 3600 seconds per hour, so best of my knowledge]. I’m sure that 1 have slighted the answer is about three hours. many people by denying them proper attribution, and But how many seconds are there in a year? If I tell to them I offer the condolence that you there are 3.155 X 107, you won’t even try to re- Plagiarism is the sincerest form of flattery. member it. On the other hand, who could forget that, to Anon. within half a percent, Without further ado, here’s the advice, grouped into ?r seconds is a nanocentury. a few major categories. TomDuff Bell Labs Coding So if your program takes lo7 seconds, be prepared to When in doubt, use brute force. wait four months. Ken Thompson February’s column solicited bumper-sticker-sized ad- Bell Labs vice on computing. Some of the contributions aren’t debatable: Duff’s rule is a memorable statement of a Avoid arc-sine and arc-cosine functions-you can usu- handy constant. This rule about a program testing ally do better by applying a trig identity or computing a method (regression tests save old inputs and outputs to vector dot-product. make sure the new outputs are the same) contains a Jim Conyngham number that isn’t as ironclad. Arvin/Cnlspan Advanced Technology Center Regression testing cuts test intervals in half. Larry Bernstein Allocate four digits for the year part of a date: a new Bell Communications Research millenium is coming. Bernstein’s point remains whether the constant is 30 or David Martin Norristown, Petmsylvania 70 percent: these tests save development time. There’s a problem with advice that is even less quan- titative. Everyone agrees that Avoid asymmetry. Andy Huber Absence makes the heart grow fonder. Data General Corporation Anorl. and The sooner you start to code, the longer the program will take. Out of sight, out of mind. Roy Carlson Anon. University of Wisconsin Everyone, that is, except the sayings themselves-they are contradictory. There are similar contradictions in If you can’t write it down in English, you can’t code it the slogans in this column. Although there is some Peter Halpern truth in each saying in this column, all should be taken Brooklyn, New York with a grain of salt. A word about credit. The name associated with a Details count. Peter Wrinberger Q1985 ACMOOOl-0782/85/0900-0896 750 Bell Labs a96 Communications of the ACM September 1985 Volume 28 Number 9 Programming Pearls If the code and the comments disagree, then both are It takes three times the effort to find and fix bugs in probably wrong. system test than when done by the developer. It takes Norm Sch yer ten times the effort to find and fix bugs in the field than Belt Labs when done in system test. Therefore, insist on unit tests by the developer. A procedure should fit on a page. Larry Bernstein David Tribble Bell Communications Research Arlington, Texas Don’t debug standing up. It cuts your patience in half, If you have too many special cases, you are doing it and you need all you can muster. wrong. Dave Storer Craig Zerouni Cedar Rapids, Iowa Computer FX Ltd. London, England Don’t get suckered in by the comments-they can be terribly misleading. Debug only the code. Get your data structures correct first, and the rest of Dave Storer the program will write itself. Cedar Rapids, Iowa David Iones Assert, The Netherlands Testing can show the presence of bugs, but not their absence. Edsger W. Dijkstra User Interfaces University of Texas [The Principle of Least Astonishment] Make a user in- terface as consistent and as predictable as possible. Each new user of a new system uncovers a new class of Contributed by several readers bugs. Brian Kernighan A program designed for inputs from people is usually Bell Labs stressed beyond the breaking point by computer- generated inputs. If it ain’t broke, don’t fix it. Dennis Ritchie Ronald Reagan Bell Labs Santa Barbara, California Twenty percent of all input forms filled out by people [The Maintainer’s Motto] If we can’t fix it, it ain’t contain bad data. broke. Vie Vyssotsky Lieutenant Colonel Walt Weir Bell Labs United States Army Eighty percent of all input forms ask questions they The first step in fixing a broken program is getting it to have no business asking. fail repeatably. Mike Garey Tom Duff Bell Labs Bell Labs Don’t make the user provide information that the sys- tem already knows. Performance Rick Lemons [The First Rule of Program Optimization] Don’t do it. Cardinal Data Systems [The Second Rule of Program Optimization-For ex- For 80 percent of all data sets, 95 percent of the infor- perts only] Don’t do it yet. mation can be seen in a good graph. Michael jackson William S. Cleveland Michael lackson Systems Ltd. Bell Labs The fastest algorithm can frequently be replaced by one that is almost as fast and much easier to understand. Debugging Douglas W. Iones Of all my programming bugs, 80 percent are syntax University of lowa errors. Of the remaining 20 percent, 80 percent are triv- ial logical errors. Of the remaining 4 percent, 80 per- On some machines indirection is slower with displace- cent are pointer errors. And the remaining 0.8 percent ment, so the most-used member of a structure or a are hard. record should be first. Marc Donner Mike Morton IBM T. 1. Watson Research Center Boston, Massachusetts September 1985 Volume 28 Number 9 Communications of the ACM 097 Programming Pearls In non-I/O-bound programs, a few percent of the Documentation source code typically accounts for over half the run [The Test of Negation] Don’t include a sentence in doc- time. umentation if its negation is obviously false. Don Knuth Bob Martin Stanford University AT&T Technologies Before optimizing, use a profiler to locate the “hot When explaining a command, or language feature, or spots” of the program. hardware widget, first describe the problem it is de- Mike Morton signed to solve. Boston, Massachusetts David Martin Norristown, Pennsylvania [Conservation of Code Size] When you turn an ordinary [One Page Principle] A (specification, design, proce- page of code into just a handful of instructions for dure, test plan) that will not fit on one page of 8.5-by-l.1 speed, expand the comments to keep the number of inch paper cannot be understood. source lines, constant. Mark Ardis Mike Morton Wang Institute Boston, Massachusetts The job’s not over until the paperwork’s done. If the programmer can simulate a construct faster than Anon. the compiler can implement the construct itself, then the compiler writer has blown it badly. Gu:y L. Steele, jr. Managing Software Tartan Laboratories The structure of a system reflects the structure of the organization that built it. To speed up an I/O-bound program, begin by account- Richard E. Fairley ing for all 1,/O. Eliminate that which is unnecessary or Wang Institute redundant, and make the remaining as fast as possible. David Martin Don’t keep doing what doesn’t work. Norristown, Pennsylvania Anon. The fastest I/O is no I/O. [Rule of Credibility] The first 90 percent of the code Nil’s-Peter Nelson accounts for the first 90 percent of the development Bell Labs time. The remaining 10 percent of the code accounts for the other 90 percent of the development time. The cheapest, fastest, and most reliable components of Tom Cargill a computer system are those that aren’t there. Belt Labs Gordon Bell Encore Computer Corporation Less than 10 percent of the code has to do with the ostensible purpose of the system; the rest deals with [Compiler Writer’s Motto-Optimization Pass] Making input-output, data validation, data structure mainte- a wrong program worse is no sin. nance, and other housekeeping. May Shaw Bill McKeeman Carnegie-Mellon University Wang Znstitute Good judgment comes from experience, and experience Electricity travels a foot in a nanosecond. comes from bad judgment. Commodore Grace Murray Hopper Fred Brooks United States Navy University of North Carolina LISP programmers know the value of everything but Don’t write a new program if one already does more or the cost of nothing. less what you want. And if you must write a program, Alan Perlis use existing code to do as much of the work as possible. Yale University Richard Hill Hewlett-Packard S.A. [Little’s Formula] The average number of objects in a Geneva, Switzerland queue is the product of the entry rate and the average holding time. Whenever possible, steal code. Peter Denning Tom Duff RL4cs Bell Labs 898 Communications of the ACM September 1985 Volume 28 Number 9 Programming Pearls Good customer relations double productivity. ..‘.r.il-.!ii)‘~::,: ii tlr: Larry Bernstein If you lie to the computer, it will get you. Bell Communications Research Perry Farrar Germantown, Maryland Translating a working program to a new language or system takes 10 percent of the original development If a system doesn’t have to be reliable, it can do any- time or manpower or cost.
Recommended publications
  • Edsger Dijkstra: the Man Who Carried Computer Science on His Shoulders
    INFERENCE / Vol. 5, No. 3 Edsger Dijkstra The Man Who Carried Computer Science on His Shoulders Krzysztof Apt s it turned out, the train I had taken from dsger dijkstra was born in Rotterdam in 1930. Nijmegen to Eindhoven arrived late. To make He described his father, at one time the president matters worse, I was then unable to find the right of the Dutch Chemical Society, as “an excellent Aoffice in the university building. When I eventually arrived Echemist,” and his mother as “a brilliant mathematician for my appointment, I was more than half an hour behind who had no job.”1 In 1948, Dijkstra achieved remarkable schedule. The professor completely ignored my profuse results when he completed secondary school at the famous apologies and proceeded to take a full hour for the meet- Erasmiaans Gymnasium in Rotterdam. His school diploma ing. It was the first time I met Edsger Wybe Dijkstra. shows that he earned the highest possible grade in no less At the time of our meeting in 1975, Dijkstra was 45 than six out of thirteen subjects. He then enrolled at the years old. The most prestigious award in computer sci- University of Leiden to study physics. ence, the ACM Turing Award, had been conferred on In September 1951, Dijkstra’s father suggested he attend him three years earlier. Almost twenty years his junior, I a three-week course on programming in Cambridge. It knew very little about the field—I had only learned what turned out to be an idea with far-reaching consequences. a flowchart was a couple of weeks earlier.
    [Show full text]
  • A New Golden Age for Computer Architecture: Domain-Specific
    A New Golden Age for Computer Architecture: Domain-Specific Hardware/Software Co-Design, Enhanced Security, Open Instruction Sets, and Agile Chip Development John Hennessy and David Patterson Stanford and UC Berkeley 13 June 2018 https://www.youtube.com/watch?v=3LVeEjsn8Ts 1 Outline Part I: History of Part II: Current Architecture - Architecture Challenges - Mainframes, Ending of Dennard Scaling Minicomputers, and Moore’s Law, Security Microprocessors, RISC vs CISC, VLIW Part III: Future Architecture Opportunities - Domain Specific Languages and Architecture, Open Architectures, Agile Hardware Development 2 IBM Compatibility Problem in Early 1960s By early 1960’s, IBM had 4 incompatible lines of computers! 701 ➡ 7094 650 ➡ 7074 702 ➡ 7080 1401 ➡ 7010 Each system had its own: ▪ Instruction set architecture (ISA) ▪ I/O system and Secondary Storage: magnetic tapes, drums and disks ▪ Assemblers, compilers, libraries,... ▪ Market niche: business, scientific, real time, ... IBM System/360 – one ISA to rule them all 3 Control versus Datapath ▪ Processor designs split between datapath, where numbers are stored and arithmetic operations computed, and control, which sequences operations on datapath ▪ Biggest challenge for computer designers was getting control correct Control Instruction Control Lines Condition?▪ Maurice Wilkes invented the idea of microprogramming to design the control unit of a PC processor* Datapath Registers Inst. Reg. ▪ Logic expensive vs. ROM or RAM ALU Busy? Address Data ▪ ROM cheaper than RAM Main Memory ▪ ROM much faster
    [Show full text]
  • Reinventing Education Based on Data and What Works • Since 1955
    Reinventing Education Based on Data and What Works • Since 1955 Carnegie Mellon is reinventing education and the way we think about leveraging technology through its study of the science of learning – an interdisciplinary effort that we’ve been tackling for more than 50 years with both computer scientists and psychologists. CMU's educational technology innovations have inspired numerous startup companies, which are helping students to learn more effectively and efficiently. 1955: Allen Newell (TPR ’57) joins 1995: Prof. Kenneth R. Koedinger (HSS Prof. Herbert Simon’s research team as ’88,’90) and Anderson develop Practical a Ph.D. student. Algebra Tutor. The program pioneers a new form of computer-aided instruction for high 1956: CMU creates one of the world’s first school students based on cognitive tutors. university computation centers. With Prof. Alan Perlis (MCS ’42) as its head, it is a joint 1995: Prof. Jack Mostow (SCS ’81) undertaking of faculty from the business, develops Project LISTEN, an intelligent tutor Simon, Newell psychology, electrical engineering and that helps children learn to read. The National mathematics departments, and the Science Foundation included Project precursor to computer science. LISTEN’s speech recognition system as one of its top 50 innovations from 1950-2000. 1956: Simon creates a “thinking machine”—enacting a mental process 1995: The Center for Automated by breaking it down into its simplest Learning and Discovery is formed, led steps. Later that year, the term “artificial by Prof. Thomas M. Mitchell. intelligence” is coined by a small group Perlis including Newell and Simon. 1998: Spinoff company Carnegie Learning is founded by CMU scientists to expand 1956: Simon, Newell and J.
    [Show full text]
  • The Advent of Recursion & Logic in Computer Science
    The Advent of Recursion & Logic in Computer Science MSc Thesis (Afstudeerscriptie) written by Karel Van Oudheusden –alias Edgar G. Daylight (born October 21st, 1977 in Antwerpen, Belgium) under the supervision of Dr Gerard Alberts, and submitted to the Board of Examiners in partial fulfillment of the requirements for the degree of MSc in Logic at the Universiteit van Amsterdam. Date of the public defense: Members of the Thesis Committee: November 17, 2009 Dr Gerard Alberts Prof Dr Krzysztof Apt Prof Dr Dick de Jongh Prof Dr Benedikt Löwe Dr Elizabeth de Mol Dr Leen Torenvliet 1 “We are reaching the stage of development where each new gener- ation of participants is unaware both of their overall technological ancestry and the history of the development of their speciality, and have no past to build upon.” J.A.N. Lee in 1996 [73, p.54] “To many of our colleagues, history is only the study of an irrele- vant past, with no redeeming modern value –a subject without useful scholarship.” J.A.N. Lee [73, p.55] “[E]ven when we can't know the answers, it is important to see the questions. They too form part of our understanding. If you cannot answer them now, you can alert future historians to them.” M.S. Mahoney [76, p.832] “Only do what only you can do.” E.W. Dijkstra [103, p.9] 2 Abstract The history of computer science can be viewed from a number of disciplinary perspectives, ranging from electrical engineering to linguistics. As stressed by the historian Michael Mahoney, different `communities of computing' had their own views towards what could be accomplished with a programmable comput- ing machine.
    [Show full text]
  • Alan M. Turing – Simplification in Intelligent Computing Theory and Algorithms”
    “Alan Turing Centenary Year - India Celebrations” 3-Day Faculty Development Program on “Alan M. Turing – Simplification in Intelligent Computing Theory and Algorithms” Organized by Foundation for Advancement of Education and Research In association with Computer Society of India - Division II [Software] NASSCOM, IFIP TC - 1 & TC -2, ACM India Council Co-sponsored by P.E.S Institute of Technology Venue PES Institute of Technology, Hoskerehalli, Bangalore Date : 18 - 20 December 2012 Compiled by : Prof. K. Rajanikanth Trustee, FAER “Alan Turing Centenary Year - India Celebrations” 3-Day Faculty Development Program on “Alan M. Turing – Simplification in Intelligent Computing Theory and Algorithms” Organized by Foundation for Advancement of Education and Research In association with Computer Society of India - Division II [Software], NASSCOM, IFIP TC - 1 & TC -2, ACM India Council Co-sponsored by P.E.S Institute of Technology December 18 – 20, 2012 Compiled by : Prof. K. Rajanikanth Trustee, FAER Foundation for Advancement of Education and Research G5, Swiss Complex, 33, Race Course Road, Bangalore - 560001 E-mail: [email protected] Website: www.faer.ac.in PREFACE Alan Mathison Turing was born on June 23rd 1912 in Paddington, London. Alan Turing was a brilliant original thinker. He made original and lasting contributions to several fields, from theoretical computer science to artificial intelligence, cryptography, biology, philosophy etc. He is generally considered as the father of theoretical computer science and artificial intelligence. His brilliant career came to a tragic and untimely end in June 1954. In 1945 Turing was awarded the O.B.E. for his vital contribution to the war effort. In 1951 Turing was elected a Fellow of the Royal Society.
    [Show full text]
  • Wake up with CPS 006 Program Design and Methodology I Computer Science and Programming What Is Computer Science? Computer Scienc
    Computer Science and Programming z Computer Science is more than programming ¾ The discipline is called informatics in many countries ¾ Elements of both science and engineering • Scientists build to learn, engineers learn to build Wake up with CPS 006 – Fred Brooks Program Design and Methodology I ¾ Elements of mathematics, physics, cognitive science, music, art, and many other fields z Computer Science is a young discipline Jeff Forbes ¾ Fiftieth anniversary in 1997, but closer to forty years of research and development ¾ First graduate program at CMU (then Carnegie Tech) in http://www.cs.duke.edu/courses/cps006/current 1965 http://www.cs.duke.edu/csed/tapestry z To some programming is an art, to others a science, to others an engineering discipline A Computer Science Tapestry 1.1 A Computer Science Tapestry 1.2 What is Computer Science? Computer Science What is it that distinguishes it from the z Artificial Intelligence thinking machines separate subjects with which it is related? z Scientific Computing weather, cars, heart, modelling What is the linking thread which gathers these z Theoretical CS analyze algorithms, models disparate branches into a single discipline? My answer to these questions is simple --- it is z Computational Geometry theory of animation, 3-D models the art of programming a computer. It is the art z Architecture hardware-software interface of designing efficient and elegant methods of z Software Engineering engineering, science getting a computer to solve problems, z Operating Systems the soul of the machine theoretical or practical, small or large, simple z Graphics from Windows to Hollywood or complex. z Many other subdisciplines C.A.R.
    [Show full text]
  • Reading List
    EECS 101 Introduction to Computer Science Dinda, Spring, 2009 An Introduction to Computer Science For Everyone Reading List Note: You do not need to read or buy all of these. The syllabus and/or class web page describes the required readings and what books to buy. For readings that are not in the required books, I will either provide pointers to web documents or hand out copies in class. Books David Harel, Computers Ltd: What They Really Can’t Do, Oxford University Press, 2003. Fred Brooks, The Mythical Man-month: Essays on Software Engineering, 20th Anniversary Edition, Addison-Wesley, 1995. Joel Spolsky, Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity, APress, 2004. Most content is available for free from Spolsky’s Blog (see http://www.joelonsoftware.com) Paul Graham, Hackers and Painters, O’Reilly, 2004. See also Graham’s site: http://www.paulgraham.com/ Martin Davis, The Universal Computer: The Road from Leibniz to Turing, W.W. Norton and Company, 2000. Ted Nelson, Computer Lib/Dream Machines, 1974. This book is now very rare and very expensive, which is sad given how visionary it was. Simon Singh, The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography, Anchor, 2000. Douglas Hofstadter, Goedel, Escher, Bach: The Eternal Golden Braid, 20th Anniversary Edition, Basic Books, 1999. Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, 2nd Edition, Prentice Hall, 2003.
    [Show full text]
  • ESD.33 -- Systems Engineering Session #1 Course Introduction
    ESD.33 -- Systems Engineering Session #4 Axiomatic Design Decision-Based Design Summary of Frameworks Phase Dan Frey Follow-up on Session #3 • Mike Fedor - Your lectures and readings about Lean Thinking have motivated me to re-read "The Goal" by Eliyahu M. Goldratt • Don Clausing – Remember that although set-based design seems to explain part of Toyota’s system, it also includes a suite of other powerful tools (QFD, Robust Design) • Denny Mahoney – What assumptions are you making about Ops Mgmt? Plan for the Session • Why are we doing this session? • Axiomatic Design (Suh) • Decision-Based Design (Hazelrigg) • What is rationality? • Overview of frameworks • Discussion of Exam #1 / Next steps Claims Made by Nam Suh • “A general theory for system design is presented” • “The theory is applicable to … large systems, software systems, organizations…” • “The flow diagram … can be used for many different tasks: design, construction, operation, modification, … maintenance … diagnosis …, and for archival documentation.” • “Design axioms were found to improve all designs without exceptions or counter-examples… When counter-examples or exceptions are proposed, the author always found flaws in the arguments.” Claims Made by Hazelrigg • “We present here … axioms and … theorems that underlie the mathematics of design” • “substantially different from … conventional … eng design” • “imposes severe conditions on upon design methodologies” • “all other measures are wrong” • “apply to … all fields of engineering … all products, processes, and services,
    [Show full text]
  • Compsci 6 Programming Design and Analysis
    CompSci 6 Programming Design and Analysis Robert C. Duvall http://www.cs.duke.edu/courses/cps006/fall04 http://www.cs.duke.edu/~rcd CompSci 6 : Spring 2005 1.1 What is Computer Science? Computer science is no more about computers than astronomy is about telescopes. Edsger Dijkstra Computer science is not as old as physics; it lags by a couple of hundred years. However, this does not mean that there is significantly less on the computer scientist's plate than on the physicist's: younger it may be, but it has had a far more intense upbringing! Richard Feynman http://www.wordiq.com CompSci 6 : Spring 2005 1.2 Scientists and Engineers Scientists build to learn, engineers learn to build – Fred Brooks CompSci 6 : Spring 2005 1.3 Computer Science and Programming Computer Science is more than programming The discipline is called informatics in many countries Elements of both science and engineering Elements of mathematics, physics, cognitive science, music, art, and many other fields Computer Science is a young discipline Fiftieth anniversary in 1997, but closer to forty years of research and development First graduate program at CMU (then Carnegie Tech) in 1965 To some programming is an art, to others a science, to others an engineering discipline CompSci 6 : Spring 2005 1.4 What is Computer Science? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread which gathers these disparate branches into a single discipline? My answer to these questions is simple --- it is the art of programming a computer.
    [Show full text]
  • The Computer Scientist As Toolsmith—Studies in Interactive Computer Graphics
    Frederick P. Brooks, Jr. Fred Brooks is the first recipient of the ACM Allen Newell Award—an honor to be presented annually to an individual whose career contributions have bridged computer science and other disciplines. Brooks was honored for a breadth of career contributions within computer science and engineering and his interdisciplinary contributions to visualization methods for biochemistry. Here, we present his acceptance lecture delivered at SIGGRAPH 94. The Computer Scientist Toolsmithas II t is a special honor to receive an award computer science. Another view of computer science named for Allen Newell. Allen was one of sees it as a discipline focused on problem-solving sys- the fathers of computer science. He was tems, and in this view computer graphics is very near especially important as a visionary and a the center of the discipline. leader in developing artificial intelligence (AI) as a subdiscipline, and in enunciating A Discipline Misnamed a vision for it. When our discipline was newborn, there was the What a man is is more important than what he usual perplexity as to its proper name. We at Chapel Idoes professionally, however, and it is Allen’s hum- Hill, following, I believe, Allen Newell and Herb ble, honorable, and self-giving character that makes it Simon, settled on “computer science” as our depart- a double honor to be a Newell awardee. I am pro- ment’s name. Now, with the benefit of three decades’ foundly grateful to the awards committee. hindsight, I believe that to have been a mistake. If we Rather than talking about one particular research understand why, we will better understand our craft.
    [Show full text]
  • Computer Science and Global Economic Development: Sounds Interesting, but Is It Computer Science?
    Computer Science and Global Economic Development: Sounds Interesting, but is it Computer Science? Tapan S. Parikh UC Berkeley School of Information Berkeley, CA, USA [email protected] OVERVIEW interventions from the bottom up, usually applying experi- Computer scientists have a long history of developing tools mental methods [1]. This includes prominent use of ICTs, useful for advancing knowledge and practice in other disci- both as the focus of new interventions (mobile phones for plines. More than fifty years ago, Grace Hopper said the making markets more efficient [6], digital cameras to moni- role of computers was “freeing mathematicians to do math- tor teacher attendance [2]), and as tools for understanding ematics.” [5] Fred Brooks referred to a computer scientist as their impact (PDAs and smartphones to conduct extensive a toolsmith, , making “things that do not themselves satisfy in-field surveys [8]). It is a wonderfully timely moment for human needs, but which others use in making things that computer scientists to engage with the state-of-the-art in enrich human living.” [4]. Computational biologists have ap- development research and practice. plied algorithmic techniques to process and understand the deluge of data made possible by recent advances in molecu- lar biology. WHY ACADEMIA? WHY CS? The proper way to approach this kind of research has never been clear within Computer Science. The refrain“Sounds Why do this work in academia, and within the disci- interesting, but is it Computer Science?” is frequently heard. pline of Computer Science? There are several motivations. In this paper I argue that it is crucial take an expansive Academia allows us to be more free, and take greater risks, view of what Computer Science is.
    [Show full text]
  • Mount Litera Zee School Grade-VIII G.K Computer and Technology Read and Write in Notebook: 1
    Mount Litera Zee School Grade-VIII G.K Computer and Technology Read and write in notebook: 1. Who is called as ‘Father of Computer’? a. Charles Babbage b. Bill Gates c. Blaise Pascal d. Mark Zuckerberg 2. Full Form of virus is? a. Visual Information Resource Under Seize b. Virtual Information Resource Under Size c. Vital Information Resource Under Seize d. Virtue Information Resource Under Seize 3. How many MB (Mega Byte) makes one GB (Giga Byte)? a. 1025 MB b. 1030 MB c. 1020 MB d. 1024 MB 4. Internet was developed in _______. a. 1973 b. 1993 c. 1983 d. 1963 5. Which was the first virus detected on ARPANET, the forerunner of the internet in the early 1970s? a. Exe Flie b. Creeper Virus c. Peeper Virus d. Trozen horse 6. Who is known as the Human Computer of India? a. Shakunthala Devi b. Nandan Nilekani c. Ajith Balakrishnan d. Manish Agarwal 7. When was the first smart phone launched? a. 1992 b. 1990 c. 1998 d. 2000 8. Which one of the following was the first search engine used? a. Google b. Archie c. AltaVista d. WAIS 9. Who is known as father of Internet? a. Alan Perlis b. Jean E. Sammet c. Vint Cerf d. Steve Lawrence 10. What us full form of GOOGLE? a. Global Orient of Oriented Group Language of Earth b. Global Organization of Oriented Group Language of Earth c. Global Orient of Oriented Group Language of Earth d. Global Oriented of Organization Group Language of Earth 11. Who developed Java Programming Language? a.
    [Show full text]