Based on the Association for Computing Imagery model curriculum guidelines, Foundations of Computer Science gives students a bird's eye view of Computer Science. This easy-to-read and easy-to-navigate text covers all the fundamentals of computer science required for first year undergraduates embarking on a computing degree.
Preface 1 Introduction Turing model von Neumann model Computer components History Social and ethical issues Computer science as a discipline Outline of the course 2 Number systems Introduction Positional number systems Nonpositional number systems 3 Data Storage Data types Storing numbers Storing text Storing audio Storing images Storing video 4 Operations on Data Logic operations Shift operations Arithmetic operations 5 Computer Organization Central Processing Unit Main memory Input/output subsystem Subsystem interconnection Program execution Different architectures A simple computer 6 Computer Networks Overview Application Layer Transport Layer Network Layer Data-Link Layer Physical Layer Transmission Media 7 Operating Systems Introduction Evolution Components A survey of operating systems 8 Algorithms Concepts Three constructs Algorithm representation A more formal definition Basic algorithms Subalgorithms 9 Programming Languages Evolution Translation Programming paradigms Common concepts 10 Software Engineering The software lifecycle Analysis phase Design phase Implementation phase Testing phase Documentation 11 Data Structures Arrays Records Linked lists 12 Abstract Data Types Background Stacks Queues General linear lists Trees Binary trees Binary search trees 13 File Structures Introduction Sequential files Indexed files Hashed files Directories Text versus binary 14 Databases Introduction Database management systems Database architecture Database models The relational database model Operations on relations Database design Other database models 15 Data Compression Introduction Lossless compression Methods Lossy compression methods 16 Security Introduction Confidentiality Other Aspects of Security Firewalls 17 Theory of Computation Simple language The Turing machine Godel numbers The halting problem The complexity of problems 18 Artificial Intelligence Introduction Knowledge representation Expert systems Perception Searching Neural networks
Behrouz A. Forouzan has more than 32 years of electronics and computer science experience in industry and academia. His industry experience includes designing electronic systems. After leaving the industry, he joined De Anza College as a professor of computer science. In addition to this text, he has authored and co-authored nine other textbooks including: Computer Science: A Structured Approach Using C, Computer Science: A Structured Approach Using C++, and Data Structures: A Pseudocode Approach with C++.