Wednesday, 4 September 2013

Timeline of Computer History




WHAT THE TIMELINE IS
This timeline explores the history of computing from 1939 to 1994. Each year features illustrated descriptions of significant innovations in hardware and software technology, as well as milestones in areas such as commercial applications and artificial intelligence. When appropriate, biographical sketches of the pioneers responsible for the advances are included.

HOW THE TIMELINE WORKS
Across the top of this and every timeline is a graphic with the years from 1939 to 1994 displayed as well as seven topical areas. Clicking on any of these will take you to a page of historic information containing photos and descriptive text for that year or topic.

The timeline can either be browsed using the links above (and appropriate Previous/Next and More links on each page) or searched for specific events.



About the Museum | Exhibits | Collections | What's Happening | Giving | About This Site
Privacy | Copyright | Feedback | Credits | Advanced Search | Site Map

© 2006 Computer History Museum. All rights reserved.
1401 N. Shoreline Blvd., Mountain View CA 94043    Ph 650-810-1010

Monday, 2 September 2013

What is Computer Science?

Computer science is a discipline that spans theory and practice. It requires thinking both in abstract terms and in concrete terms. The practical side of computing can be seen everywhere. Nowadays, practically everyone is a computer user, and many people are even computer programmers. Getting computers to do what you want them to do requires intensive hands-on experience. But computer science can be seen on a higher level, as a science of problem solving. Computer scientists must be adept at modeling and analyzing problems. They must also be able to design solutions and verify that they are correct. Problem solving requires precision, creativity, and careful reasoning. Computer science also has strong connections to other disciplines. Many problems in science, engineering, health care, business, and other areas can be solved effectively with computers, but finding a solution requires both computer science expertise and knowledge of the particular application domain. Thus, computer scientists often become proficient in other subjects. Finally, computer science has a wide range of specialties. These include computer architecture, software systems, graphics, artifical intelligence, computational science, and software engineering. Drawing from a common core of computer science knowledge, each specialty area focuses on particular challenges. Computer Science is practiced by mathematicians, scientists and engineers. Mathematics, the origins of Computer Science, provides reason and logic. Science provides the methodology for learning and refinement. Engineering provides the techniques for building hardware and software. Finally, and most importantly, computer scientists are computer scientists because it is fun. (Not to mention lucrative career opportunities!) Another definition from http://www.csab.org/comp_sci_profession.html Computer Science: The Profession Computer science is a discipline that involves the understanding and design of computers and computational processes. In its most general form it is concerned with the understanding of information transfer and transformation. Particular interest is placed on making processes efficient and endowing them with some form of intelligence. The discipline ranges from theoretical studies of algorithms to practical problems of implementation in terms of computational hardware and software. A central focus is on processes for handling and manipulating information. Thus, the discipline spans both advancing the fundamental understanding of algorithms and information processes in general as well as the practical design of efficient reliable software and hardware to meet given specifications. Computer science is a young discipline that is evolving rapidly from its beginnings in the 1940's. As such it includes theoretical studies, experimental methods, and engineering design all in one discipline. This differs radically from most physical sciences that separate the understanding and advancement of the science from the applications of the science in fields of engineering design and implementation. In computer science there is an inherent intermingling of the theoretical concepts of computability and algorithmic efficiency with the modern practical advancements in electronics that continue to stimulate advances in the discipline. It is this close interaction of the theoretical and design aspects of the field that binds them together into a single discipline. Because of the rapid evolution it is difficult to provide a complete list of computer science areas. Yet it is clear that some of the crucial areas are theory, algorithms and data structures, programming methodology and languages, and computer elements and architecture. Other areas include software engineering, artificial intelligence, computer networking and communication, database systems, parallel computation, distributed computation, computer-human interaction, computer graphics, operating systems, and numerical and symbolic computation. A professional computer scientist must have a firm foundation in the crucial areas of the field and will most likely have an in-depth knowledge in one or more of the other areas of the discipline, depending upon the person's particular area of practice. Thus, a well educated computer scientist should be able to apply the fundamental concepts and techniques of computation, algorithms, and computer design to a specific design problem. The work includes detailing of specifications, analysis of the problem, and provides a design that functions as desired, has satisfactory performance, is reliable and maintainable, and meets desired cost criteria. Clearly, the computer scientist must not only have sufficient training in the computer science areas to be able to accomplish such tasks, but must also have a firm understanding in areas of mathematics and science, as well as a broad education in liberal studies to provide a basis for understanding the societal implications of the work being performed. From Mississippi State University Computer Science is the study of principles, applications, and technologies of computing and computers. It involves the study of data and data structures and the algorithms to process these structures; of principles of computer architecture-both hardware and software; of problem-solving and design methodologies; of computer-related topics such as numerical analysis, operations research, and artificial intelligence; and of language design, structure, and translation technique. Computer Science provides a foundation of knowledge for students with career objectives in a wide range of computing and computer-related professions. From http://www2.cs.unb.ca/ Problem solving. The study of efficient and effective software development techniques. Team work and communication skills. An interest in applying technology to problems in a wide variety of disciplines. From the University of Missouri - Rolla http://www.cs.umr.edu/csdept/career/what_is_cs.html Computer Science is concerned with information in much the same sense that physics is concerned with energy; it is devoted to the representation, storage, manipulation and presentation of information. Computer Science is concerned with "the study of symbol-manipulating machines, with communication between man and machine and with the application of these machines". Major areas of Computer Science include: 1. Operating Systems--concerned with the development and structure of complex programs which facilitate man-machine communications. 2. Computational Science--the analysis of numerical methods for solving mathematical problems with a computer. 3. Programming Languages--the study of the design and properties of languages by which humans communicate with computers. 4. Architecture--the study and use of mathematical logic to design electronic circuits. 5. Intelligent Systems--concerned with means by which computers may perform tasks which might be characterized as "intelligent" if performed by humans. 6. Automata Theory--an abstract study of computers and their capabilities. 7. Information Storage and Retrieval--the study of methods for storing a vast amount of data in a computer and methods for searching and retrieving this data. 8. Software Engineering--the study of tools and techniques for software design, development, testing and maintenance. Another way to view any science is to look at the methods used within that science. In some sense these methods are similar in many (most?) sciences, but they can take on different characteristics in each discipline. Four important methods used in the study of computer science are: invention --- formulation of new algorithmic and new architectural paradigms design --- software engineering uses design principles to build complex systems to solve computational problems analysis --- certainly a major focus within computer science is the analysis and evaluation of software, algorithms and architecture. experimentation --- use of experiments to reveal computing principles is an important method of scientific investigation within computer science. A recent article by Peter Denning, CACM, April 2005/Vol. 48, No. 4, pp. 27 - 31, "Is Computer Science Science?"

Tuesday, 27 August 2013

click this

The Best Free Software 2013


For five years, PCMag has brought you an ever-bigger, ever-better list of desktop software that will cost you absolutely nothing. But this year, we're shaking things up a bit. Instead of an annual look at the best free software, we're going monthly.
Since software can cost thousands, you might wonder why and how you can score immensely useful programs for free. This happens for the very good business reason that developers often try to gain traction with the public by giving away their product, or at least a "lite" version of it, in the hope that you'll upgrade to a paid version. It's called the freemium model. Sometimes all they want is a donation. In other cases the programs display ads to keep the money flowing. In the end, by giving it away the developers gain recognition at the very least, if not money straight away. More importantly, it serves you, the user, because you've got access to tools for your computer that rival anything you'd pay for.
We're throwing in all the worthy apps that run on Windows 7 and 8, the latest MacOS, and of course, the cloud-based Web apps that run in a browser like Chrome, Firefox, or IE to use anywhere. We'll let you know which OS each title runs on, and if it has a mobile version you should nab for your smartphone.
Look for a new category of free software titles every month. Be sure to let us know what freebies you'd like to see next, and as always, tell us in the comments section if we missed your favorite.

Home Product Guides Software The Best Free Software 2013 The Best Free Software 2013


For five years, PCMag has brought you an ever-bigger, ever-better list of desktop software that will cost you absolutely nothing. But this year, we're shaking things up a bit. Instead of an annual look at the best free software, we're going monthly.
Since software can cost thousands, you might wonder why and how you can score immensely useful programs for free. This happens for the very good business reason that developers often try to gain traction with the public by giving away their product, or at least a "lite" version of it, in the hope that you'll upgrade to a paid version. It's called the freemium model. Sometimes all they want is a donation. In other cases the programs display ads to keep the money flowing. In the end, by giving it away the developers gain recognition at the very least, if not money straight away. More importantly, it serves you, the user, because you've got access to tools for your computer that rival anything you'd pay for.
We're throwing in all the worthy apps that run on Windows 7 and 8, the latest MacOS, and of course, the cloud-based Web apps that run in a browser like Chrome, Firefox, or IE to use anywhere. We'll let you know which OS each title runs on, and if it has a mobile version you should nab for your smartphone.
Look for a new category of free software titles every month. Be sure to let us know what freebies you'd like to see next, and as always, tell us in the comments section if we missed your favorite.