Updating search results...

OERC Reviewed Textbooks

Higher education textbooks on a range of subjects that have been vetted by our curation experts. These texts are published by individual higher education faculty as well high quality open textbook providers such as OpenStax, BCCampus, OpenSUNY, and many others.

75 affiliated resources

Search Resources

View
Selected filters:
  • Computer Science
  • Career / Technical
  • Adult Education
  • Community College / Lower Division
  • high-school
  • English
Applied Discrete Structures
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Best open source book in Discrete Math. Covers all the subjects in a standard Discrete Math class for mathematics or computer science students and contains sage cells for all subjects. Set Theory, Combinatorics, Logic, Relations, Recursion, Graph Theory, Trees, Algebraic Structures, Boolean Algebras, Automata, etc. Originally published commercially, its original text was peer-reviewed and was adopted for use at several universities throughout the country. Now in its open source version, has the same quality but it is free.

Subject:
Applied Science
Computer Science
Mathematics
Material Type:
Activity/Lab
Reading
Textbook
Author:
Al Doerr
Ken Levasseur
Date Added:
12/03/2021
Automate the Boring Stuff
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?

In Automate the Boring Stuff with Python, you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to:

Search for text in a file or across multiple files
Create, update, move, and rename files and folders
Search the Web and download online content
Update and format data in Excel spreadsheets of any size
Split, merge, watermark, and encrypt PDFs
Send reminder emails and text notifications
Fill out online forms

Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.

Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Al Sweigert
Date Added:
01/24/2019
Beginning Excel
Unrestricted Use
CC BY
Rating
0.0 stars

This textbook was written for a community college introductory course in spreadsheets utilizing Microsoft Excel. While the figures shown utilize Excel 2016, the textbook was written to be applicable to other versions of Excel as well. The book introduces new users to the basics of spreadsheets and is appropriate for students in any major who have not used Excel before.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
eCampusOntario
Author:
Barbara Lave
Diane Shingledecker
Julie Romey
Mary Schatz
Noreen Brown
Date Added:
03/09/2020
Blueprints: Creating, Describing, and Implementing Designs for Larger-Scale Software Projects - version 2.3
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

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.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Stephen Davies
Date Added:
11/18/2021
A Brief Introduction to Engineering Computation with MATLAB
Unrestricted Use
CC BY
Rating
0.0 stars

A Brief Introduction to Engineering Computation with MATLAB is specifically designed for students with no programming experience. However, students are expected to be proficient in First Year Mathematics and Sciences and access to good reference books are highly recommended. Students are assumed to have a working knowledge of the Mac OS X or Microsoft Windows operating systems. The strategic goal of the course and book is to provide learners with an appreciation for the role computation plays in solving engineering problems. MATLAB specific skills that students are expected to be proficient at are: write scripts to solve engineering problems including interpolation, numerical integration and regression analysis, plot graphs to visualize, analyze and present numerical data, and publish reports.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Rice University
Provider Set:
OpenStax CNX
Author:
Serhat Beyenir
Date Added:
11/26/2019
A Byte of Python
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

"A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you. There are many translations of the book available in different human languages.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Swaroop C.H.
Date Added:
03/21/2017
Computer Networking: Principles, Protocols and Practice
Unrestricted Use
CC BY
Rating
0.0 stars

This open textbook aims to fill the gap between the open-source implementations and the open-source network specifications by providing a detailed but pedagogical description of the key principles that guide the operation of the Internet.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
The Saylor Foundation
Provider Set:
Saylor Textbooks
Author:
Olivier Bonaventure
Date Added:
03/06/2012
Computer Networks: A Systems Approach
Unrestricted Use
CC BY
Rating
0.0 stars

Suppose you want to build a computer network, one that has the potential to grow to global proportions and to support applications as diverse as teleconferencing, video on demand, electronic commerce, distributed computing, and digital libraries. What available technologies would serve as the underlying building blocks, and what kind of software architecture would you design to integrate these building blocks into an effective communication service? Answering this question is the overriding goal of this book—to describe the available building materials and then to show how they can be used to construct a network from the ground up.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Bruce Davie
Larry Peterson
Date Added:
09/12/2019
Computer Science I - Version 1.3.7
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

This textbook covers the traditional introductory Computer Science I topics but takes a unique approach. Topics are covered in a language-agnostic manner in the first part with supplemental parts that cover the same concepts in a specific language. The current version covers C, Java, and PHP. This textbook as been used in several Computer Science I sections over multiple years at the University of Nebraska-Lincoln.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Chris Bourke
Date Added:
11/18/2021
Database Design-2nd Edition
Unrestricted Use
CC BY
Rating
0.0 stars

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.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
BCcampus
Provider Set:
BCcampus Open Textbooks
Author:
Adrienne Watt
Nelson Eng
Date Added:
11/26/2014
Defend Dissent
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

Defend Dissent is an introduction to cryptography paired with the social impacts of surveillance and the protective potential of encryption, with a focus on US social movements. Each chapter ends with a story that brings social context to the material—from surveillance used against contemporary US protests to the African National Congress’s use of partially manual encryption in fighting apartheid in South Africa in the 80s.

This book can be read linearly, or you can pick and choose what you would like to learn about. Each chapter is prefaced with what you should read first (for background) and concludes with what you might want to read next.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Oregon State University
Author:
Glencora Borradaile
Date Added:
07/27/2021
Designing the Digital World
Unrestricted Use
CC BY
Rating
0.0 stars

The book offers a blend of theory and practice in guiding readers to apply design thinking principles to solving some of our world’s biggest problems. At the same time, readers are encouraged to become aware of new and emerging technologies that make prototyping and applying solutions a reality.

Subject:
Applied Science
Arts and Humanities
Computer Science
Information Science
Visual Arts
Material Type:
Textbook
Provider:
Open Press at NUI Galway
Author:
Eileen Kennedy
Date Added:
05/31/2021
Eloquent JavaScript: A Modern Introduction to Programming
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

This book contains roughly three parts. The first 11 chapters discussthe JavaScript language itself. The next eight chapters are about webbrowsers and the way JavaScript is used to program them. Finally,two chapters are devoted to Node.js, another environment to programJavaScript in.Throughout the book, there are five project chapters, which describelarger example programs to give you a taste of real programming. Inorder of appearance, we will work through building an artificial life simulation,a programming language, a platform game, a paint program,and a dynamic website.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Marijn Haverbeke.
Date Added:
11/08/2018
Enterprise Pharo a Web Perspective
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Pharo is a clean, innovative, open-source, live-programming environment.

Enterprise Pharo is the third volume of a series of book covering Pharo and its community. Whereas the first volume Pharo by Example is intended for newcomers and the second volume Deep into Pharo covers deep topics of Pharo, this third volume covers libraries and frameworks for enterprises, and in particular those doing web development.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Attila Magyar
Christophe Demarey
Cyril Ferlicot Delbecque
Damien Cassou
Damien Pollet
Esteban Lorenzano
Gabriel Omar Cotelli
Guillaume Larchevêque
Johan Fabry
Liudmyla Dolia
Luc Fabresse
Mariano Martinez-Peck
Martín Dias
Max Leske
Norbert Hartl
Olivier Auverlot
Stéphane Ducasse
Sven Van Caekenberghe
Date Added:
10/06/2016
Ethical Hacking for Effective Defense (Modules, Labs, and Lectures)
Unrestricted Use
CC BY
Rating
0.0 stars

The following set of materials is used in the Textbook Transformation Grants implementation of Ethical Hacking for Effective Defense:

https://oer.galileo.usg.edu/compsci-collections/8/

Topics include:

TCP/IP Level Attacks
Port Scanning
DDoS
Footprinting and Social Engineering
Enumeration
Programming for Security Professionals
Operating System Vulnerabilities
Embedded System Security
Hacking Web Servers
Hacking Wireless Networks
Cryptography
Protecting Networks with Security Devices

Subject:
Applied Science
Computer Science
Material Type:
Full Course
Provider:
University System of Georgia
Provider Set:
Galileo Open Learning Materials
Author:
Hossain Shahriar
Date Added:
06/20/2018
A First Course in Electrical and Computer Engineering
Unrestricted Use
CC BY
Rating
0.0 stars

This book was written for an experimental freshman course at the University of Colorado. The course is now an elective that the majority of our electrical and computer engineering students take in the second semester of their freshman year, just before their first circuits course. Our department decided to offer this course for several reasons:

we wanted to pique student' interest in engineering by acquainting them with engineering teachers early in their university careers and by providing with exposure to the types of problems that electrical and computer engineers are asked to solve;
we wanted students entering the electrical and computer engineering programs to be prepared in complex analysis, phasors, and linear algebra, topics that are of fundamental importance in our discipline;
we wanted students to have an introduction to a software application tool, such as MATLAB, to complete their preparation for practical and efficient computing in their subsequent courses and in their professional careers;
we wanted students to make early contact with advanced topics like vector graphics, filtering, and binary coding so that they would gain a more rounded picture of modern electrical and computer engineering.
In order to introduce this course, we had to sacrifice a second semester of Pascal programming. We concluded that the sacrifice was worth making because we found that most of our students were prepared for high-level language computing after just one semester of programming.

We believe engineering educators elsewhere are reaching similar conclusions about their own students and curriculums. We hope this book helps create a much needed dialogue about curriculum revision and that it leads to the development of similar introductory courses that encourage students to enter and practice our craft.Students electing to take this course have completed one semester of calculus, computer programming, chemistry, and humanities.

Concurrently with this course, students take physics and a second semester of calculus, as well as a second semester in the humanities. By omitting the advanced topics marked by asterisks, we are able to cover Complex Numbers through Linear Algebra, plus two of the three remaining chapters. The book is organized so that the instructor can select any two of the three. If every chapter of this book is covered, including the advanced topics, then enough material exists for a two-semester course.

The first three chapters of this book provide a fairly complete coverage of complex numbers, the functions e^x and e^jand phasors. Our department philosophy is that these topics must be understood if a student is to succeed in electrical and computer engineering. These three chapters may also be used as a supplement to a circuits course. A measured pace of presentation, taking between sixteen and eighteen lectures, is sufficient to cover all but the advanced sections in Complex Numbers through Phasors.

The chapter on "linear algebra" is prerequisite for all subsequent chapters. We use eight to ten lectures to cover it. We devote twelve to sixteen lectures to cover topics from Vector Graphics through Binary Codes. (We assume a semester consisting of 42 lectures and three exams.) The chapter on vector graphics applies the linear algebra learned in the previous chapter to the problem of translating, scaling, and rotating images. "Filtering" introduces the student to basic ideas in averaging and filtering. The chapter on "Binary Codes" covers the rudiments of binary coding, including Huffman codes and Hamming codes.

If the users of this book find "Vector Graphics" through "Binary Codes" too confining, we encourage them to supplement the essential material in "Complex Numbers" through "Linear Algebra" with their own course notes on additional topics. Within electrical and computer engineering there are endless possibilities. Practically any set of topics that can be taught with conviction and enthusiasm will whet the student's appetite. We encourage you to write to us or to our editor, Tom Robbins, about your ideas for additional topics. We would like to think that our book and its subsequent editions will have an open architecture that enables us to accommodate a wide range of student and faculty interests.

Throughout this book we have used MATLAB programs to illustrate key ideas. MATLAB is an interactive, matrix-oriented language that is ideally suited to circuit analysis, linear systems, control theory, communications, linear algebra, and numerical analysis. MATLAB is rapidly becoming a standard software tool in universities and engineering companies. (For more information about MATLAB, return the attached card in the back of this book to The MathWorks, Inc.) MATLAB programs are designed to develop the student's ability to solve meaningful problems, compute, and plot in a high-level applications language. Our students get started in MATLAB by working through “An Introduction to MATLAB,” while seated at an IBM PC (or look-alike) or an Apple Macintosh. We also have them run through the demonstration programs in "Complex Numbers". Each week we give three classroom lectures and conduct a one-hour computer lab session. Students use this lab session to hone MATLAB skills, to write programs, or to conduct the numerical experiments that are given at the end of each chapter. We require that these experiments be carried out and then reported in a short lab report that contains (i) introduction, (ii) analytical computations, (iii) computer code, (iv) experimental results, and (v) conclusions. The quality of the numerical results and the computer graphics astonishes students. Solutions to the chapter problems are available from the publisher for instructors who adopt this text for classroom use.

We wish to acknowledge our late colleague Richard Roberts, who encouraged us to publish this book, and Michael Lightner and Ruth Ravenel, who taught "Linear Algebra" and "Vector Graphics" and offered helpful suggestions on the manuscript. We thank C. T. Mullis for allowing us to use his notes on binary codes to guide our writing of "Binary Codes". We thank Cédric Demeure and Peter Massey for their contributions to the writing of "An Introduction to MATLAB" and "The Edix Editor". We thank Tom Robbins, our editor at Addison-Wesley, for his encouragement, patience, and many suggestions. We are especially grateful to Julie Fredlund, who composed this text through many drafts and improved it in many ways. We thank her for preparing an excellent manuscript for production.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Textbook
Provider:
Rice University
Provider Set:
OpenStax CNX
Author:
Louis Scharf
Date Added:
11/26/2019
Foundations of Computation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Foundations of Computation is a free textbook for a one-semester course in theoretical computer science. It has been used for several years in a course at Hobart and William Smith Colleges. 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.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Hobart and William Smith Colleges
Author:
Carol Critchlow, David Eck
Date Added:
02/18/2015