Private: Gina Cody School of Engineering and Computer Science

Computing Science and Software Engineering

Button for Call for Collaboration

   Open Textbooks and Concordia Courses

Open Textbook Title Potentially Relevant Courses
Discrete Mathematics: An Open Introduction COEN 231
Book of Proof COMP 232
Mathematical Reasoning: Writing and Proof COMP 232
Introduction to Probability COMP 233
Introduction to Probability, Statistics and Random Processes COMP 233
Delftse Foundations of Computation COMP 335
Foundations of Computation COMP 335
Programming Fundamentals – A Modular Structured Approach using C++ COMP 345
Programming Fundamentals – A Modular Structured Approach, 2nd Edition COMP 348
Programming Languages: Application and Interpretation COMP 348
Database Design COMP 353
Eloquent JavaScript: A Modern Introduction to Programming SOEN 287
The Missing Link: An Introduction to Web Development and Programming SOEN 287
A Brief Introduction to Engineering Computation with MATLAB
Computer Science 20 – Saskatoon
Java, Java, Java: Object-Oriented Problem Solving
Think Stats: Probability and Statistics for Programmers

   Description and Access

Discrete Mathematics: An Open Introduction

Approved by the American Institute of Mathematics, this textbook grew out of a discrete mathematics course at the University of Northern Colorado.

Includes: questions, answers, instructor resources upon request

May suit: COEN 231 Introduction to Discrete Mathematics

Book of Proof

Approved by the American Institute of Mathematics and adopted widely by other universities, this textbook is an introduction to the standard methods of proving mathematical theorems.

Includes: instructor resources, workbook

May suit: COMP 232 Mathematics for Computer Science

Mathematical Reasoning: Writing and Proof

This textbook is designed for the first course in a mathematics curriculum that introduces students to the processes of constructing and writing proofs. It focuses on the formal development of mathematics.

Includes: questions, answers, instructor resources upon request

May suit: COMP 232 Mathematics for Computer Science

Introduction to Probability

The textbook is intended for use in a standard one-term course, in which both discrete and continuous probability is covered.

Includes: exercises and solutions

May suit: COMP 233 Probability and Statistics for Computer Science

Introduction to Probability, Statistics and Random Processes

This textbook is intended for undergraduate and first-year graduate-level courses in probability, statistics, and random processes.

Includes: exercises, solutions, code

May suit: COMP 233 Probability and Statistics for Computer Science

Delftse Foundations of Computation

The textbook is designed for an introductory course in theoretical computer science. It includes topics from propositional and predicate logic, proof techniques, set theory and the theory of computation, along with practical applications to computer science.

May suit: COMP 335 Introduction to Theoretical Computer Science

Foundations of Computation

The textbook is designed for a one-semester course in theoretical computer science.

May suit: COMP 335 Introduction to Theoretical Computer Science

Programming Fundamentals – A Modular Structured Approach using C++

This reviewed open textbook covers content normally found in an introductory C++ programming course, including decisions, loops, functions, arrays and file I/O.

Includes: instructor and student resources

May suit: COMP 345 Advanced Program Design with C++

Programming Fundamentals – A Modular Structured Approach, 2nd Edition

This is the second edition to Programming Fundamentals – A Modular Structured Approach using C++. The goal is to make it programming-language neutral, so that it may serve as an introductory programming textbook for students using any of a variety of programming languages, including C++, C#, Java, JavaScript, Python, and Swift.

Includes: pseudocode, flowcharts, and example code in C++, C#, Java, JavaScript, Python, and Swift

May suit: COMP 348 Principles of Programming Languages

Programming Languages: Application and Interpretation

Written by a computer science professor at Brown University, this textbook takes a non-linear approach to the subject matter.

Includes: exercises and activities

May suit: COMP 348 Principles of Programming Languages

Database Design

An introductory textbook that covers database systems and database design concepts.

Includes: end-of-chapter exercises, sample ERD exercises, SQL lab with solution

May suit: COMP 353 Databases

Eloquent JavaScript: A Modern Introduction to Programming

This book covers the principles of programming and introduces JavaScript. It is written by a programming language enthusiast. 

Includes: exercises and solutions

May suit: SOEN 287 Web Programming

The Missing Link: An Introduction to Web Development and Programming

This textbook provides the developer with an understanding of the various elements of web development by focusing on the concepts and fundamentals through the examples within, providing a foundation that allows easier transition to other languages and a better understanding of how to approach their work.

Includes: questions, discussions, solutions

May suit: SOEN 287 Web Programming

A Brief Introduction to Engineering Computation with MATLAB

Specifically designed for students with no programming experience, the strategic goal of the course and book is to provide learners with an appreciation for the role computation plays in solving engineering problems.

Includes: study guide, problem sets

Computer Science 20 – Saskatoon

Through its text and videos, this resource provides an interactive experience on learning to write and execute Python code. In addition to simply executing code, there is a unique feature called codelens that allows control of the flow of execution in order to gain a better understanding of how the program works.

Includes: videos, quizzes, exercises

Java, Java, Java: Object-Oriented Problem Solving

Suitable for a typical Introduction to Computer Science course or for a slightly more advanced Java as a Second Language course. This textbook takes the “objects first” approach to programming and problem solving. It provides careful coverage of Java language features, introductory programming concepts, and object-oriented design principles.

Includes: self-study exercises with answers, end-of-chapter exercises, and a companion website with instructor resources upon request

Think Stats: Probability and Statistics for Programmers

The book is an introduction to the practical tools of exploratory data analysis, especially for Python programmers.

Includes: exercises, experiments, code

 


Support for Open Textbooks at Concordia

License

Share This Book