120 likes | 150 Views
Computer Science An Overview. Allen C.-H. Wu/Arbee L.P. Chen Computer Science Department Tsing Hua University. Preface. Beginning computer science students need exposure to the breadth of the subject in which they are planning to major.
E N D
Computer ScienceAn Overview Allen C.-H. Wu/Arbee L.P. Chen Computer Science Department Tsing Hua University
Preface • Beginning computer science students need exposure to the breadth of the subject in which they are planning to major. • A foundation from which they can understand the relevance and interrelationships of future courses.
Introduction • Computer science is the discipline that seeks to build a scientific foundation for a variety of topics. • Computer science provides the underpinnings for today’s computer applications as well as the foundations for tomorrow’s applications.
The Study of Algorithms • An algorithm is a set of steps that defines how a task is performed. • In the domain of computing machinery, algorithms are represented as programs within computers. • Algorithms + Data Structure -> Programs, Programs -> Software <=> Hardware.
The Study of Algorithms • The study of algorithms began as a subject in mathematics. • The major goal is to find a single set of directions that described how any problem of a particular type could be solved. • E.g., the long division algorithm and the Euclidean algorithm.
The Study of Algorithms • Machine Architecture - . Data storage (Ch. 1) . Data manipulation (Ch. 2) • Software - . Operating systems and networks (Ch. 3) . Algorithms (Ch. 4) . Programming languages (Ch. 5) . Software engineering (Ch. 6) • Data Organization - . Data structures (Ch. 7) . File structures (Ch. 8) . Database structures (Ch. 9) • AI and Theory of Computation
The Development of Algorithmic Machines • Abacus. • Babbage’s difference engine. • Jacquard’s loom. • Herman Hollerith (holes in paper cards). • Mark I at Harvard University. • ENIAC at U. of Pennsylvania.
The Evolution of Computer Science Execution of Limitations of Algorithms Analysis of Communication of Discovery of Representation of
Software Hardware The Evolution of Computer Science Languages Algorithms Applications
Abstraction and Other Issues • Abstraction - the distinction between the external properties of a component and the internal details of the component’s construction. • Ethical issues. • Social issues. • Legal issues.