Discrete Structures for Computer Science: Counting, Recursion, and Probability

This is a free textbook for an undergraduate course on Discrete Structures for Computer Science students. It covers mathematical reasoning, basic proof techniques, sets, functions, relations, basic graph theory, asymptotic notation, and countability.

**Publication date**: 20 Apr 2016

**ISBN-10**:
n/a

**ISBN-13**:
n/a

**Paperback**:
284 pages

**Views**: 3,959

**Type**: Textbook

**Publisher**:
n/a

**License**:
Creative Commons Attribution-ShareAlike 4.0 International

**Post time**: 28 Apr 2016 11:00:00

Discrete Structures for Computer Science: Counting, Recursion, and Probability

This is a free textbook for an undergraduate course on Discrete Structures for Computer Science students. It covers mathematical reasoning, basic proof techniques, sets, functions, relations, basic graph theory, asymptotic notation, and countability.

You are free to:

Share — copy and redistribute the material in any medium or format

Adapt — remix, transform, and build upon the material for any purpose, even commercially.

The licensor cannot revoke these freedoms as long as you follow the license terms.

Click**here** to read the full license.

Share — copy and redistribute the material in any medium or format

Adapt — remix, transform, and build upon the material for any purpose, even commercially.

The licensor cannot revoke these freedoms as long as you follow the license terms.

Click

From the Preface:

Michiel Smid wrote:This is a free textbook for an undergraduate course on Discrete Structures for Computer Science students, which I have been teaching at Carleton University since the fall term of 2013. The material is offered as the second-year course COMP 2804 (Discrete Structures II). Students are assumed to have taken COMP 1805 (Discrete Structures I), which covers mathematical reasoning, basic proof techniques, sets, functions, relations, basic graph theory, asymptotic notation, and countability.

During a 12-week term with three hours of classes per week, I cover most of the material in this book, except for Chapter 2, which has been included so that students can review the material from COMP 1805.

Tweet

About The Author(s)

Michiel Smid is a Professor in the School of Computer Science at Carleton University. His research interests include Algorithms, Applications of Computational Geometry in Manufacturing, Computational Geometry, Data Structures, Discrete Mathematics, Geometric Networks, Graph Theory, and Theory of Computing.

Book Categories

Computer Science
15
Introduction to Computer Science
32
Introduction to Computer Programming
52
Algorithms and Data Structures
24
Artificial Intelligence
24
Computer Vision
28
Machine Learning
6
Neural Networks
22
Game Development and Multimedia
25
Data Communication and Networks
5
Coding Theory
14
Computer Security
8
Information Security
34
Cryptography
3
Information Theory
17
Computer Organization and Architecture
22
Operating Systems
1
Image Processing
10
Parallel Computing
4
Concurrent Programming
20
Relational Database
3
Document-oriented Database
13
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
69
Software Engineering
3
Agile Software Development
7
Information Systems
5
Geographic Information System (GIS)

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

Supporting Fields
19
Web Design and Development
1
Mobile App Design and Development
28
System Administration
2
Cloud Computing
9
Electric Circuits
6
Embedded System
26
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
12
JavaScript
1
Lua
15
Microsoft .NET
1
Rexx
12
Perl
6
PHP
66
Python
12
R
1
Rebol
13
Ruby
2
Scheme
3
Tcl/Tk

Miscellaneous