41 Computing Science and Software Engineering

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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

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 348

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

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

The University of Regina OER by Subject Directory by University of Regina is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted.

Share This Book