120 likes | 181 Views
This book provides a comprehensive overview of computer science, covering topics such as algorithms, machine architecture, software engineering, data organization, and the evolution of computer science. Beginning students will gain exposure to the breadth of the subject and understand the interrelationships of future courses. Readers will explore the development of algorithmic machines, study the limitations and analysis of algorithms, and delve into the representation of software and hardware. The text also discusses the evolution of computer science languages, applications, and various abstraction issues. With a focus on building a scientific foundation, this book is essential for aspiring computer science professionals.
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.