Skip to Main Content

OER: Open Educational Resources

Textbooks

book cover      Foundations of Computation by Carol Critchlow & David Eck (2011): Carol Crichlow and David Eck.

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.


book cover      Computer Networking: Principles, Protocols and Practice by Olivier Bonaventure (2011): Saylor Foundation.

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. Textbook covers almost all areas of TCP/IP Internet protocol except security, network management and protocols for real-time applications and Internet Application layer protocols such as FTP, SNMP, SMTP, and HTTP in details.


book cover      Introduction to Computer Graphics by David J. Eck (2016): David J. Eck. 

Introduction to Computer Graphics is a free, on-line textbook covering the fundamentals of computer graphics and computer graphics programming. This book is meant for use as a textbook in a one-semester course that would typically be taken by undergraduate computer science majors in their third or fourth year of college.


book cover      Delftse Foundations of Computation by Stefan Hugtenburg & Neil Yorke-Smith (2018): TU Delft Open.  

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.


book cover      Computer Networks: A Systems Approach by Larry Peterson & Bruce Davie (2019): Larry Peterson and Bruce Davie. 

Suppose you want to build a computer network. 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.


book cover      Introduction to the Modeling and Analysis of Complex Systems by Hiroki Sayama (2015): Open SUNY. 

This text introduces students to mathematical/computational modeling and analysis developed in the emerging interdisciplinary field of Complex Systems Science. The topics covered include: fundamentals of modeling, basics of dynamical systems, discrete-time models, continuous-time models, bifurcations, chaos, cellular automata, continuous field models, static networks, dynamic networks, and agent-based models. Python sample codes are provided for each modeling example.


book cover      The Missing Link: An Introduction to Web Development and Programming by Michael Mendez (2014): Open SUNY. 

This text provides the developer with an understanding of the various elements of web development by focusing on the concepts and fundamentals through the examples within, providing a foundation that allows easier transition to other languages and a better understanding of how to approach their work. Covers initial conceptualization and design through front end development, back end development, and introducing additional concepts like accessibility and security, while focusing on responsive design techniques. 


undefined      Programming Fundamentals by Hyesung Park et al (2020): University System of Georgia. 

This text on the basics of programming includes sections about binary numbers, algorithms, Java, data types, conditions, loops, methods, arrays, and object-oriented programming. 

Courses

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.