Faculty of Science

Department of Computer Science

Computer Science (General)

Algorithms and Data Structures With Applications to Graphics and Geometry

An introductory coverage of algorithms and data structures with application to graphics and geometry. Reviews are available.

Includes: Exercises

Applied Bioinformatics of Nucleic Acid Sequences

This book is designed to introduce students of the life sciences with little to no programming experience to the concepts and methodologies of bioinformatics, and contemporary software applications.

Includes: Exercises

Blueprints: Creating/ Describing/ and Implementing Designs for Larger-Scale Software Projects

Blueprints is a concise yet comprehensive coverage of Object-Oriented Analysis and Design concepts, suitable for a second programming course in Computer Science. It introduces and teaches application development in a command-line environment, and assumes basic expertise with the Java programming language.

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. It has been reviewed.

Includes: Exercises

Eloquent JavaScript: A Modern Introduction to Programming, 3rd ed.

This book dives deep into the JavaScript language to show you how to write beautiful, effective code. Reviews are available.

Includes: Exercises, code sandbox

Foundations of Computation

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

Includes: Exercises

Java, Java, Java: Object-Oriented Problem Solving

We have designed this third edition of Java, Java, Java to be suitable for a typical Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. This edition retains the “objects first” approach to programming and problem solving that was characteristic of the first two editions. Throughout the text we emphasize careful coverage of Java language features, introductory programming concepts, and object-oriented design principles. Reviews are available.

Includes: Case studies

The Missing Link: An Introduction to Web Development and Programming

This text provides the developer with an understanding of the various elements of web development. Reviews are available.

Includes: Assessments

Modeling and Simulation in Python

Modeling and Simulation in Python is an introduction to physical modeling using a computational approach in a Jupyter notebook.

Includes: Exercises

The Nature of Code

This book focuses on the programming strategies and techniques behind computer simulations of natural systems.

Includes: Source files, exercises

Open Data Structures: An Introduction

Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Reviews are available. Please note that while this book is free to read and share, it is not licensed for editing or remixing.

Includes: Discussion, exercises

Programming Fundamentals: A Modular Structured Approach, 2nd Edition

The goal for this second edition 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. Reviews are available for the previous edition of the textbook.

Programming Languages: Application and Interpretation

This text presents exercises and activities using Racket. It has been reviewed.

Includes: Exercises

A Primer for Computational Biology

This book covers topics such as the usage of the command-line interface, installing and running bioinformatics software (without access to administrator privileges on the machine), basic analysis of data using built-in system tools, visualization of results, and introductory programming techniques in 3 languages commonly used for bioinformatics: Unix/Linux, Python, and R. Reviews are available.

Includes: Exercises

Think C++: How To Think Like a Computer Scientist

Think C++ is an introduction to programming using the C++ programming language.

Includes: Glossary

Think Data Structures: Algorithms and Information Retrieval in Java

This text organizes topics around an application—web search—that uses data structures extensively. Reviews are available.

Includes: Exercises

Think Java 2e: How To Think Like a Computer Scientist

Think Java is a hands-on introduction to computer science and programming Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with basic programming concepts and gradually works its way to advanced object-oriented techniques. Reviews are available.

Includes: Vocabulary, exercises

Think OS: A Brief Introduction to Operating Systems

Think OS is an introduction to Operating Systems for programmers.

Think Python 2e: How To Think Like a Computer Scientist

Think Python is an introduction to Python programming for beginners. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Reviews are available.

Includes: Glossary, exercises

Think Stats: Probability and Statistics for Programmers

Think Stats is an introduction to Probability and Statistics for Python programmers. It has been reviewed.

Includes: Exercises, glossary

Computer Science 20 – Saskatchewan

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.

Dot Net Perls

Dot Net Perls is an open resource with many example pages for many languages, including C#, F#, GoJava, JS, Python, Ruby, Scala, Swift, VB.Net, Windows and WPF with explanations and code side by side (for easy understanding).

Computer Game Development

No suggested OER at this time.

Computer Graphics

Algorithms and Data Structures With Applications to Graphics and Geometry

An introductory coverage of algorithms and data structures with application to graphics and geometry. Reviews are available.

Includes: Exercises

Human Computer Interactions

No suggested OER at this time.

Information Security

No suggested OER at this time.

Networks and Distributed Computing

No suggested OER at this time.

Scientific Computation

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. It has been reviewed.

Includes: Exercises

Foundations of Computation

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

Includes: Exercises

Modeling and Simulation in Python

Modeling and Simulation in Python is an introduction to physical modeling using a computational approach in a Jupyter notebook.

Includes: Exercises

A Primer for Computational Biology

This book covers topics such as the usage of the command-line interface, installing and running bioinformatics software (without access to administrator privileges on the machine), basic analysis of data using built-in system tools, visualization of results, and introductory programming techniques in 3 languages commonly used for bioinformatics: Unix/Linux, Python, and R. Reviews are available.

Includes: Exercises

Software Engineering

No suggested OER at this time.

Theoretical 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. It has been reviewed.

Includes: Exercises

Foundations of Computation

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

Includes: Exercises

Visualization and Analytics

Blueprints: Creating/ Describing/ and Implementing Designs for Larger-Scale Software Projects

Blueprints is a concise yet comprehensive coverage of Object-Oriented Analysis and Design concepts, suitable for a second programming course in Computer Science. It introduces and teaches application development in a command-line environment, and assumes basic expertise with the Java programming language.

Open Data Structures: An Introduction

Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Reviews are available. Please note that while this book is free to read and share, it is not licensed for editing or remixing.

Includes: Discussion, exercises

A Primer for Computational Biology

This book covers topics such as the usage of the command-line interface, installing and running bioinformatics software (without access to administrator privileges on the machine), basic analysis of data using built-in system tools, visualization of results, and introductory programming techniques in 3 languages commonly used for bioinformatics: Unix/Linux, Python, and R. Reviews are available.

Includes: Exercises


Your Subject Librarian in the Department of Computer Science is Jerremie Clyde.


Know of an open educational resource (OER) not listed here?

Contact us at oer@ucalgary.ca.

Already using an OER?

Let us know by completing the OER Adoption Form.

License

Icon for the Creative Commons Attribution 4.0 International License

OER by Discipline Guide: University of Calgary by editors Sarah Adams and Ramina Mukundan with Libraries and Cultural Resources is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted.

Share This Book