Foundations of Computer Science: C Edition

This text combines the theoretical foundations of computing with essential discrete mathematics. It follows the same organization as its predecessor, Foundations of Computer Science (also published by W.H. Freeman), with all examples and exercises in C.

**Publication date**: 15 Oct 1994

**ISBN-10**:
0716782847

**ISBN-13**:
9780716782841

**Paperback**:
786 pages

**Views**: 4,767

Foundations of Computer Science: C Edition

This text combines the theoretical foundations of computing with essential discrete mathematics. It follows the same organization as its predecessor, Foundations of Computer Science (also published by W.H. Freeman), with all examples and exercises in C.

From the Preface:

Ullman and Aho wrote:

Foundations of Computer Science covers subjects that are often found split between a discrete mathematics course and a sophomore-level sequence in computer science in data structures. It has been our intention to select the mathematical foundations with an eye toward what the computer user really needs, rather than what a mathematician might choose. We have tried to integrate effectively the mathematical foundations with the computing. We thus hope to provide a better feel for the soul of computer science than might be found in a programming course, a discrete mathematics course, or a course in a computer science subspecialty. We believe that, as time goes on, all scientists and engineers will take a foundational course similar to the one offered at Stanford upon which this book is based. Such a course in computer science should become as standard as similar courses in calculus and physics.

Prerequisites

Students taking courses based on this book have ranged from first-year undergraduates to graduate students. We assume only that students have had a solid course in programming. They should be familiar with the programming language ANSI C to use this edition. In particular, we expect students to be comfortable with C constructs such as recursive functions, structures, pointers, and operators involving pointers and structures such as dot, ->, and &.

Tweet

About The Author(s)

Alfred V. Aho is the Lawrence Gussman Professor of Computer Science at Columbia University. His research interests are programming languages, compilers, algorithms, software engineering, and quantum computing.

Jeff Ullman is the Stanford W. Ascherman Professor of Computer Science (Emeritus). His interests include database theory, database integration, data mining, and education using the information infrastructure.

Book Categories

Computer Science
15
Introduction to Computer Science
32
Introduction to Computer Programming
52
Algorithms and Data Structures
25
Artificial Intelligence
24
Computer Vision
30
Machine Learning
6
Neural Networks
22
Game Development and Multimedia
25
Data Communication and Networks
5
Coding Theory
16
Computer Security
9
Information Security
35
Cryptography
3
Information Theory
17
Computer Organization and Architecture
22
Operating Systems
2
Image Processing
11
Parallel Computing
4
Concurrent Programming
22
Relational Database
3
Document-oriented Database
14
Data Mining
16
Big Data
17
Data Science
23
Digital Libraries
22
Compiler Design and Construction
26
Functional Programming
11
Logic Programming
26
Object Oriented Programming
21
Formal Methods
70
Software Engineering
3
Agile Software Development
7
Information Systems
5
Geographic Information System (GIS)

Mathematics
67
Mathematics
14
Algebra
1
Abstract Algebra
27
Linear Algebra
3
Number Theory
8
Numerical Methods
2
Precalculus
10
Calculus
3
Differential Equations
5
Category Theory
10
Proofs
19
Discrete Mathematics
24
Theory of Computation
14
Graph Theory
2
Real Analysis
1
Complex Analysis
14
Probability
45
Statistics
7
Game Theory
5
Queueing Theory
13
Operations Research
16
Computer Aided Mathematics

Supporting Fields
21
Web Design and Development
1
Mobile App Design and Development
28
System Administration
2
Cloud Computing
10
Electric Circuits
6
Embedded System
27
Signal Processing
4
Network Science
3
Project Management

Operating System
Programming/Scripting
6
Ada
13
Assembly
34
C / C++
8
Common Lisp
2
Forth
35
Java
13
JavaScript
1
Lua
15
Microsoft .NET
1
Rexx
12
Perl
6
PHP
68
Python
12
R
1
Rebol
13
Ruby
2
Scheme
3
Tcl/Tk

Miscellaneous