Faculty of Science
Department of Computer Science
Page Sections
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.
Includes: Exercises
Licence: CC BY
Reviews: Available through the Open Textbook Library
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
Licence: CC BY
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.
Licence: CC BY-SA
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.
Includes: Exercises
Licence: CC BY-NC-SA
Reviews: Available through the Open Textbook Library
Eloquent JavaScript: A Modern Introduction to Programming, 3rd Edition
This book dives deep into the JavaScript language to show you how to write beautiful, effective code.
Includes: Exercises, code sandbox
Licence: CC BY-NC
Reviews: Available through the Open Textbook Library
Foundations of Computation
The textbook is designed for a one-semester course in theoretical computer science.
Includes: Exercises
Licence: CC BY-NC-SA
Reviews: Available through the Open Textbook Library
Green Tea Press Textbooks [New]
A collection of free and open books by Allen Downey focusing on computer science.
Licence: Please refer to each resource for their license information
Introduction to Python Programming (OpenStax) [New]
Introduction to Python Programming provides a comprehensive foundation in programming concepts and skills, and it is aligned to the scope of most introductory courses. A wide array of scenarios, contexts, and problems reflect programming applications in many disciplines and careers. The offering is suitable for a diverse learner audience, including those pursuing computer science, business, science, social science, statistics, data science, and related areas of study and employment. Introduction to Python Programming is an interactive offering that teaches basic programming concepts, problem-solving skills, and the Python language using hands-on activities. The resource includes a unique, integrated code runner through which students can immediately apply what they learn to check their understanding. Embedded videos, critical