Skip to Main Content
Computer Science
Delftse Foundations of Computation
Delftse Foundations of Computation is a textbook 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 no prerequisites other than a general familiarity with computer programming.
Key Concepts of Computer Studies
If you are looking for a quick study guide in Computer Studies, this book is an excellent resource. Skip the lengthy and distracting books and instead use this book to guide your studies, review your knowledge, or help with tutoring. This book quickly gets to the heart of each particular topic, helping students with a quick review before doing homework or preparing for a test.
IoT Use Cases and Technologies
The phrase “Internet of Things" (IoT) alludes to the billions of physical devices connected to the Internet in order to exchange raw data and analyze the information. This book introduces the IoT use cases and technologies. It uses practical examples to demonstrate the effect of IoT and its potential to change our world, and it discusses the existing wired and wireless communication technologies that have enabled IoT. The book also includes multiple choice and review questions to support student learning and reflection.
Database Design - 2nd Edition
Database Design - 2nd Edition covers database systems and database design concepts. New to this edition are SQL info, additional examples, key terms, and review exercises at the end of each chapter.
Algorithms and Data Structures with Applications to Graphics and Geometry
This is a textbook for first year computer science. It covers programming environments for motion, graphics, and geometry; programming concepts (beyond notation); objects, algorithms, and programs; complexity of problems and algorithms; data structures; and the interaction between algorithms and data structures (case studies in geometric computation).
Web Accessibility Texts
Professional Web Accessibility Auditing Made Easy, Introduction to Web Accessibility, & Web Accessibility for Developers
Cellular Internet of Things for Practitioners
This book describes the simplified architecture of an IoT network from the core functional perspective and then presents step-by-step procedures to establish a connection between the IoT device and platform. It practically shows how to connect a cellular IoT module to the Microsoft Azure IoT Hub using the LTE-M technology.
Matrix Algebra with Computational Applications
Matrix Algebra with Computational Applications is a collection of Open Educational Resource (OER) materials designed to introduce students to the use of Linear Algebra to solve real-world problems. These materials were developed specifically for students and instructors working in a "flipped classroom" model that emphasizes hands-on problem-solving activities during class meetings, with students watching lectures and completing readings and assignments outside of the classroom.
Introduction to MIPS Assembly Language Programming
This book was written to introduce students to assembly language programming in MIPS. As with all assembly language programming texts, it covers basic operators and instructions, subprogram calling, loading and storing memory, program control, and the conversion of the assembly language program into machine code.
Programmed Introduction to MIPS Assembly Language
This is a course in assembly language programming of the MIPS processor. It emphasizes the topics needed for the study of computer architecture: bits, bit patterns, operations on bit patterns, and how bit patterns represent instructions and data. This course is equivalent to a semester-long junior college or university course (except, perhaps, for the emphasis on bit patterns). The emphasis of the course is on understanding how computers work. This will provide a basis for further study of computer architecture and computer software. The MIPS processor, the subject of this course, has a well-designed architecture and is particularly fruitful to study.
x86-64 Assembly Language Programming with Ubuntu
The purpose of this text is to provide a reference for university-level assembly language and systems programming courses. Specifically, this text addresses the x86-641 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating System (OS). While the provided code and various examples should work under any Linux-based 64-bit OS, they have only been tested under Ubuntu 14.04 LTS (64-bit).
Mathematics for Computer Science
This text explains how to use mathematical models and methods to analyze problems that arise in computer science. Proofs play a central role in this work because the authors share a belief with most mathematicians that proofs are essential for genuine understanding. Proofs also play a growing role in computer science; they are used to certify that software and hardware will always behave correctly, something that no amount of testing can do.
Applied Discrete Structures – Website
This is an amazing resource…another one of those cool websites with a plethora of resources and tools.
Discrete Mathematics: An Open Introduction
This is a new open textbook version of the material mentioned above. Applied Discrete Structures is designed for use in a university course in discrete mathematics spanning up to two semesters. Its original design was for computer science majors to be introduced to the mathematical topics that are useful in computer science. It can also serve the same purpose for mathematics majors, providing a first exposure to many essential topics.
A Spiral Workbook for Discrete Mathematics
This text covers the standard topics in a sophomore-level course in discrete mathematics: logic, sets, proof techniques, basic number theory, functions, relations, and elementary combinatorics, with an emphasis on motivation. It explains and clarifies the unwritten conventions in mathematics, and guides the students through a detailed discussion on how a proof is revised from its draft to a final polished form. Hands-on exercises help students understand a concept soon after learning it. The text adopts a spiral approach: many topics are revisited multiple times, sometimes from a different perspective or at a higher level of complexity. The goal is to slowly develop students’ problem-solving and writing skills.
Computer Science Open Textbooks
Tons of open comp sci textbooks, used at post-secondary institutions across the US and Canada.
R Tutorials
R is a programming language and free software environment for statistical computing and graphics supported by the R Foundation for Statistical Computing. The R language is widely used among statisticians and data miners for developing statistical software and data analysis.
Engineering
Strength of Materials Supplement for Power Engineering
This work complements the Applied Strength of Materials for Engineering Technology by Barry Dupen and is used in teaching Strength of Materials to Power Engineering students.
Marine Propulsion Plant Simulator
The broader theoretical concepts that students learn in the classroom are better understood by them if they carry out pre-programmed hands on exercises in the Engine simulator, as sometimes the subject textbooks or videos don’t address these concepts directly. The primary purpose of this project was to design and develop simulator lab exercises (SIM LABS) that could be used as ancillary resources for all Propulsion plant simulator courses as well as Engineering knowledge courses. Propulsion plant simulator course Instructors have limited time to lecture on the basic concepts of engineering and yet have to offer practical operational skills to our students, so having many pre-programmed SIM LABS which students can load and work on their own time would help them to practice and enhance their understanding of the systems and prepare them to handle various malfunctions in the plant in a timely and safe manner.
Introduction to Drafting and AutoCAD 3D
The AutoCAD 3D eBook was written as a tool to guide and teach you to master AutoCAD. No two students learn at the same pace, therefore the eBooks were written with competency-based modules. The competency-based modules are bite-size pieces that allows you to work at your own pace. They can be used to learn by distance education, correspondence, online, instructor-lead classes, or by individuals teaching themselves to use AutoCAD in their own home or office. This eBook was designed to be used on AutoCAD software that was designed for the Windows operating system. An editable, Pressbooks version of this textbook is under development.
General Engineering Open Texts
AutoCAD 3D eBook, Autodesk Inventor eBook, AutoCAD 2D eBook, Notes on Diffy Qs: Differential Equations for Engineers, and more.
Sim Labs for Thermodynamics and Thermal Power Plant Simulator
This Simulator laboratory (SIMLAB) book was created to provide ancillary resources for Thermodynamics and Thermal Power Plant Simulator courses. It is intended to act as a collection of exercises to help our students merge the theory covered in the classroom with the practice performed in the labs.
Inorganic Chemistry for Chemical Engineers
This open access book has been specifically adapted for CHEM 250, an interdisciplinary inorganic chemistry course at UBC-V, for Chemical Engineering students. The main objective of this book is to introduce students to the basic principles of inorganic chemistry and link them with current applications relevant to a chemical engineer. It is a comprehensive online resource for 2nd year undergraduate students everywhere as it will be available under the creative commons license and will be widely available in OER catalogues.
Notes on Diffy Qs: Differential Equations for Engineers
A first course on differential equations, aimed at engineering students. The prerequisite for the course is the basic calculus sequence. This free online book (OER more formally) should be usable as a stand-alone textbook or as a companion to a course using another book such as Edwards and Penney, Differential Equations and Boundary Value Problems: Computing and Modeling or Boyce and DiPrima, Elementary Differential Equations and Boundary Value Problems (section correspondence to these two is given). There is enough material to run a two-quarter course, and even a two-semester sequence depending on lecturer speed.
Embedded Controllers using C and Arduino
This text introduces embedded controller systems using the inexpensive and widely available Arduino hardware platform and the C programming language. It is intended for students in Electrical Engineering and Electrical Engineering Technology programs at the Associate and Baccalaureate levels. Unlike many Arduino texts, this text does not rely solely on the Arduino libraries. Rather, it “gets under the hood” and directly accesses I/O ports, pins and DDR, as would be expected in a traditional college level microprocessor/microcontroller course. The companion laboratory manual introduces embedded controller systems using the Arduino hardware platform and the C programming language. Exercises include usage of seven-segment displays, switches and analog input devices; a reaction timer; PWM; an event counter and an arbitrary waveform generator.
Open Engineering Titles
Open texts on civil engineering, chemical engineering, electrical engineering, mechanical engineering, and more.