Course materials in this collection have been mapped to high enrollment Computer Science courses at select Virginia higher education institutions and reviewed by Virginia faculty. All faculty reviewed OER will include a seal of approval in the item record. Scroll through Course Alignments to see what courses and institutions the materials may be suitable for use in the classroom.
This week we will examine the concept of a function, a fundamental …
This week we will examine the concept of a function, a fundamental concept underlying all of modern mathematics. You’re undoubtedly already familiar with functions in an intuitive sense: a function is something which, given an input, produces an output. But you’ve probably never seen the formal definition of a function as it relates to set theory, which is what we’ll look at this week.
The wide range of examples in the text are meant to augment …
The wide range of examples in the text are meant to augment the "favorite examples" that most instructors have for teaching the topcs in discrete mathematics.
To provide diagnostic help and encouragement, we have included solutions and/or hints to the odd-numbered exercises. These solutions include detailed answers whenever warranted and complete proofs, not just terse outlines of proofs.
Our use of standard terminology and notation makes Applied Discrete Structures a valuable reference book for future courses. Although many advanced books have a short review of elementary topics, they cannot be complete.
The text is divided into lecture-length sections, facilitating the organization of an instructor's presentation.Topics are presented in such a way that students' understanding can be monitored through thought-provoking exercises. The exercises require an understanding of the topics and how they are interrelated, not just a familiarity with the key words.
An Instructor's Guide is available to any instructor who uses the text.
Blueprints is a concise yet comprehensive coverage of Object-Oriented Analysis and Design …
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.
Table of Contents 1 Getting off the ground 2 The “software crisis” 3 Classes and objects 4 Memory matters 5 Exceptions 6 UML class diagrams 7 The Singleton pattern 8 Java odds ’n’ ends 9 UML sequence diagrams 10 Persistence and hydration 11 Inheritance (1 of 2) 12 Inheritance (2 of 2) 13 The Factory pattern 14 Team software development 15 Doing design (1 of 2) 16 Doing design (2 of 2) 17 Use cases 18 Documenting an API
Blueprints is a concise yet comprehensive coverage of Object-Oriented Analysis and Design …
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.
This textbook covers the traditional introductory Computer Science I topics but takes …
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.
Table of Contents I. The C Programming Language II. The Java Programming Language III. The PHP Programming Language
A Cool, Brisk Walk Through Discrete Mathematics, an innovative and non-traditional approach …
A Cool, Brisk Walk Through Discrete Mathematics, an innovative and non-traditional approach to learning Discrete Math, is available for low cost from Blurb or via free download.
Welcome to Volume Two of the Crystal Ball series: Foundations for Data …
Welcome to Volume Two of the Crystal Ball series: Foundations for Data Science! I titled the first volume “Introduction to Data Science” because it led you through a dip-your-toes-in-the-water experience. You took a brief tour through the various elements in this diverse field and got a feel for what it was all about. Since you’re still reading, this means you’re still interested, and ready to explore the next level. In Foundations, we’ll solidify your growing knowledge so that you have a firm base on which to build everything else. Future volumes in this series will cover applications, advanced techniques, and some special data types that require special treatment. But it all ultimately rests on the skill set you’ll have built in Volumes One and Two of this series.
Discrete Mathematics: An Open Introduction is a free, open source textbook appropriate …
Discrete Mathematics: An Open Introduction is a free, open source textbook appropriate for a first or second year undergraduate course for math majors, especially those who will go on to teach. The textbook has been developed while teaching the Discrete Mathematics course at the University of Northern Colorado. Primitive versions were used as the primary textbook for that course since Spring 2013, and have been used by other instructors as a free additional resource. Since then it has been used as the primary text for this course at UNC, as well as at other institutions.
A Cool Brisk Walk Through Discrete Mathematics - and its companion site …
A Cool Brisk Walk Through Discrete Mathematics - and its companion site "allthemath" - are completely-and-forever-free-and-open-source educational materials dedicated to the mathematics that emerging computer science practitioners actually need to know.
Table of Contents: Introduction Sets Relations Probability Structures Counting Numbers Logic Proof
This book contains roughly three parts. The first 11 chapters discussthe JavaScript …
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.
This textbook provides a compact introduction to using the R programming language …
This textbook provides a compact introduction to using the R programming language for data analysis. While there are good, freely available resources for learning these skills, they are generally not optimized for use in the classroom. Most fail to include a range of exercises, expect a high level of prior programming or mathematical experience, or only cover a specific niche aspect of data science. Moreover, the vast majority of these free sources do not include permissive licenses that make it easy to re-mix them and adapt it to a specific course. This textbook address these concerns by providing chapters designed to be covered in a single class period, a wide variety of exercises, and a Creative Commons license that allows others to make and republish their notes according to the needs of a specific curriculum.
Foundations of Computation is a free textbook for a one-semester course in …
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.
This guide presents Object-Oriented Programming (OOP) concepts using the Java programming language …
This guide presents Object-Oriented Programming (OOP) concepts using the Java programming language to a 400-level audience, using the Eclipse IDE as their code development environment. Knowledge of OOP and C++ are pre-requisites for this material.
Object-oriented programming languages, such as Java are organized around objects, instead of …
Object-oriented programming languages, such as Java are organized around objects, instead of actions. An object represents an entity in the real world, such as a car, a home, a person, etc. Each object has state, represented by its data fields or attributes and behavior represented by methods. Objects of the same type are defined using a class. A class is considered to be a blueprint for the objects that it represents. Each class can have many objects, also referred to as instances.
This book contains two parts, the first is designed to be used …
This book contains two parts, the first is designed to be used in an introductory programming course for students looking to learn Python, without having any prior experience with programming. Basic programming concepts are discussed, explained, and illustrated with a Python program. Ample programming questions are provided for practice. The second part of the book utilizes machine-learning concepts and statistics to accomplish data-driven resolutions. Python programs are provided to apply scientific computing to conclude statistically driven results.
Computers are everywhere in our daily lives. Between the desktop, laptop, phone, …
Computers are everywhere in our daily lives. Between the desktop, laptop, phone, bank, and vehicle, it is difficult to completely get away from computers. It only makes sense to learn a little about how a computer really works.This text provides an introduction to programming and problem solving using the Fortran 95/2003/2008 programming language. This introduction is geared for non-computer science majors. The primary focus is on an introduction to problem solving and algorithm development. As such, many details of the Fortran 95/2003/2008 language are omitted.
This workbook provides discussions, programming assignments, projects, and class exercises revolving around …
This workbook provides discussions, programming assignments, projects, and class exercises revolving around the “Knapsack Problem” (KP), which is widely a recognized model that is taught within a typical Computer Science curriculum. Throughout these discussions, we use KP to introduce or review topics found in courses covering topics in Discrete Mathematics, Mathematical Programming, Data Structures, Algorithms, Computational Complexity, etc. Because of the broad range of subjects discussed, this workbook and the accompanying spreadsheet files might be used as part of some CS capstone experience. Otherwise, we recommend that individual sections be used, as needed, for exercises relevant to a course in the major sequence. Each section, save for the Introduction, is written so that it can be presented independently of any other.
An e-book (PDF) that integrates the materials for the Spring 2017 offering …
An e-book (PDF) that integrates the materials for the Spring 2017 offering of LAFF, including 270+ short videos, answers to exercises, browser-based activities, and programming exercises in M-script (the programming language of MATLAB). This artifact encompasses a full undergraduate introductory course on linear algebra and is used at the primary resource for such a course at UT-Austin.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.