Gina Cody School of Engineering and Computer Science

Computing Science and Software Engineering

The following  list of open textbooks may suit Concordia University’s Computer Science and Software Engineering Undergraduate Courses. The list begins with textbooks that may suit core courses.

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

May suit: COMP 248 and COMP 249

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 or COEN 231 and COMP 335

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: COMP 232 or COEN 231

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 or COEN 231

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.

Foundations of Computation

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

May suit: COMP 335.

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.

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.

Open Data Structures In Java

May suit: COMP 352.

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.

Introduction to GNU Octave: A brief tutorial for linear algebra and calculus students

Note: Octave is an open-source programming language with is syntactically comparable with Matlab. Has most of the essential libraries, including image processing libraries.

May suit: COMP 361

A Brief Introduction to Engineering Computation with MATLAB

May suit: COMP 361

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.

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 248, COMP 345, COMP 287 as a companion textbook to introductory computer science classes to comp languages.

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

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

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.

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.

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.

 

License

Icon for the Creative Commons Attribution 4.0 International License

OER by Discipline Resource Guide : Concordia University by Concordia University Library is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted.

Share This Book