Digital library
Textbooks, references and open learning resources.

External
Programming Fundamentals - A Modular Structured Approach, 2ed.
Kenneth Leroy Busbee and Dave Braunschweig · LibreTexts
The goal for this text 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. Programming concepts are introduced generically, with logic demonstrated in pseudocode and flowchart form, followed by examples for different programming languages. Emphasis is placed on a modular, structured approaches.

External
Relational Databases and Microsoft Access
Ron McFadyen · University of Winnipeg
This text is a free introductory text that introduces MS Access and relational database design. The motivation is to support a second-year course on database systems which, to the student, is either a service course providing an introduction to database concepts, or, as a prerequisite for more advanced study in the field.

External
An Introduction to Matlab and Mathcad
Troy Siemers · Virginia Military Institute
This textbook, or really a “coursebook” for a college freshman-level class, has been updated for Spring 2014 and provides an introduction to programming and problem solving using both Matlab and Mathcad. We provide a balanced selection of introductory exercises and real-world problems (i.e. no “contrived” problems). We include many examples and screenshots to guide the reader. We assume no prior knowledge of Matlab or Mathcad.

External
Python Programming
OpenStax · LibreTexts
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.

External
Foundations of Computation
Carol Critchlow & David J. Eck · Hobart and William Smith Colleges
Foundations of Computation is a free textbook for a one-semester course in theoretical computer science. The course has no prerequisites other than introductory computer programming. The first half of the course covers material on logic, sets, and functions that would often be taught in a course in discrete mathematics. The second part covers material on automata, formal languages, and grammar that would ordinarily be encountered in an upper level course in theoretical computer science.

External
Delftse Foundations of Computation
Stefan Hugtenburg & Neil Yorke-Smith · Delft University of Technology
Delftse Foundations of Computation is a textbook for a one quarter 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.

External
Spreadsheet software for engineering: an applied guide
Julio Terán & Phillip Chvosta · North Carolina State University
Spreadsheet Software for Engineering: An Applied Guide is a free, online textbook designed to provide engineering students with comprehensive, practical knowledge of spreadsheet applications in engineering contexts. The textbook was designed from the ground up to be interactive and engaging for the modern 21st century learner.

External
Laboratory Manual - Computer Programming with Python, Multisim and TINA/4E
James M. Fiore · Mohawk Valley Community College
This laboratory manual is intended for use in an introductory computer programming course for electrical engineering technology students. It begins with a basic explanation of schematic capture and simulation tools and proceeds to the Python programming language.

External
Java, Java, Java - Object-Oriented Programming
Ralph Morelli & Ralph Wade · Trinity College
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.

External
The Crystal Ball - Instruction Manual I: Introduction to Data Science
Stephen Davies · University of Mary Washington
A perfect introduction to the exploding field of Data Science for the curious, first-time student. The author brings his trademark conversational tone to the important pillars of the discipline: exploratory data analysis, choices for structuring data, causality, machine learning principles, and introductory Python programming using open-source Jupyter Notebooks.