52 Computer Science
Algorithms and Data Structures With Applications to Graphics and Geometry
Jurg Nievergelt (ETH Zurich) and Klaus Hinrichs (University of Muenster)
2011
Licence: CC BY
An introductory coverage of algorithms and data structures with application to graphics and geometry.
Format: PDF
Suggested for: COMP 272
Blueprints: Creating/ Describing/ and Implementing Designs for Larger-Scale Software Projects
Stephen Davies, University of Mary Washington
2023
Licence: CC BY-SA
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.
Format: PDF
Suggested for: COMP 230
Computer Science 20
Dan Schellenberg (Saskatoon Public Schools)
Licence: CC BY-SA
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.
Format: Online
Suggested for: COMP 218
Database Design – 2nd Edition
Adrienne Watt (City University)
2014
Licence: CC BY
This second edition of Database Design book covers the concepts used in database systems and the database design process. Topics include: The history of databases; characteristics and benefits of databases; data models; data modelling; classification of database management systems; integrity rules and constraints; functional dependencies; normalization; and database development process. New to this edition are more examples, highlighted and defined key terms, both throughout and at the end of each chapter, and end-of-chapter review exercises. Two new chapters have been added on SQL, along with appendices that include a data model example, sample ERD exercises and SQL lab with solutions.
Formats: Online, EPUB, and PDF
Suggested for: COMP 378
Data Structures and Information Retrieval in Python
Allen B. Downey
Licence: CC BY-NC-SA
Data Structures and Information Retrieval in Python is an introduction to data structures and algorithms using a web search engine as a motivating example. It is based in part on Think Data Structures, which uses Java.
Format: Online, PDF
Suggested for: COMP 218
Delftse Foundations of Computation
Stefan Hugtenburg and Neil Yorke-Smith (Delft University of Technology)
2018
Licence: CC BY-NC-SA
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.
Format: PDF
Suggested for: COMP 200, COMP 210
Elements of Data Science
Allen B. Downey
Licence: CC BY-NC-SA
Elements of Data Science is an introduction to d