Updating search results...

Search Resources

294 Results

View
Selected filters:
  • Computer Science
Object-Oriented Reengineering Patterns
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system, and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult. All of these are signs of software that is close to the breaking point.

Many systems can be upgraded or simply thrown away if they no longer serve their purpose. Legacy software, however, is crucial for operations and needs to be continually available and upgraded. How can you reduce the complexity of a legacy system sufficiently so that it can continue to be used and adapted at acceptable cost?

Based on the authors' industrial experiences, this book is a guide on how to reverse engineer legacy systems to understand their problems, and then reengineer those systems to meet new demands. Patterns are used to clarify and explain the process of understanding large code bases, hence transforming them to meet new requirements. The key insight is that the right design and organization of your system is not something that can be evident from the initial requirements alone, but rather as a consequence of understanding how these requirements evolve.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Oscar Nierstrasz
Serge Demeyer
Stéphane Ducasse
Date Added:
12/05/2019
Open Data Structures: An Introduction
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Morin clearly and briskly presents instruction along with source code.

Analyzed and implemented in Java, the data structures presented in the book include stacks, queues, deques, and lists implemented as arrays and linked-lists; space-efficient implementations of lists; skip lists; hash tables and hash codes; binary search trees including treaps, scapegoat trees, and red-black trees; integer searching structures including binary tries, x-fast tries, and y-fast tries; heaps, including implicit binary heaps and randomized meldable heaps; graphs, including adjacency matrix and adjacency list representations; and B-trees.

A modern treatment of an essential computer science topic, Open Data Structures is a measured balance between classical topics and state-of-the art structures that will serve the needs of all undergraduate students or self-directed learners.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Athabasca University
Author:
Pat Morin
Date Added:
12/05/2019
An Open Guide to Data Structures and Algorithms
Unrestricted Use
CC BY
Rating
0.0 stars

This textbook serves as a gentle introduction for undergraduates to theoretical concepts in data structures and algorithms in computer science while providing coverage of practical implementation (coding) issues. The field of computer science (CS) supports a multitude of essential technologies in science, engineering, and communication as a social medium. The varied and interconnected nature of computer technology permeates countless career paths making CS a popular and growing major program. Mastery of the science behind computer science relies on an understanding of the theory of algorithms and data structures. These concepts underlie the fundamental tradeoffs that dictate performance in terms of speed, memory usage, and programming complexity that separate novice programmers from professional practitioners.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
PALNI Press
Author:
Lucas Moser
Date Added:
08/21/2024
Open Logic Project
Unrestricted Use
CC BY
Rating
0.0 stars

The Open Logic Text is an open-source, collaborative textbook of formal meta-logic and formal methods, starting at an intermediate level (i.e., after an introductory formal logic course). Though aimed at a non-mathematical audience (in particular, students of philosophy and computer science), it is rigorous.

The Open Logic Text is a collaborative project and is under active development. Coverage of some topics currently included may not yet be complete, and many sections still require substantial revision. We plan to expand the text to cover more topics in the future. We also plan to add features to the text, such as a glossary, a list of further reading, historical notes, pictures, better explanations, sections explaining the relevance of results to philosophy, computer science, and mathematics, and more problems and examples. If you find an error, or have a suggestion, please let the project team know.

The project operates in the spirit of open source. Not only is the text freely available, we provide the LaTeX source under the Creative Commons Attribution license, which gives anyone the right to download, use, modify, re-arrange, convert, and re-distribute our work, as long as they give appropriate credit.

Table of Contents
I Sets, Relations, Functions
II Propositional Logic
III First-order Logic
IV Model Theory
V Computability
VI Turing Machines
VII Incompleteness
VIII Second-order Logic
IX Normal Modal Logics
X Instuitionistic Logic
XII Methods
XIII History

Subject:
Applied Science
Arts and Humanities
Computer Science
Philosophy
Material Type:
Textbook
Author:
Andrew Arana
Audrey Yap
Gillian Russell
Jeremy Avigad
Nicole Wyatt
Richard Zach
Walter Dean
Date Added:
12/08/2020
Open Logic Project
Unrestricted Use
CC BY
Rating
0.0 stars

The Open Logic Text is an open textbook on mathematical logic aimed at a non-mathematical audience, intended for advanced logic courses as taught in many philosophy departments. It is open-source: you can download the LaTeX code. It is open: you’re free to change it whichever way you like, and share your changes. It is collaborative: a team of people is working on it, using the GitHub platform, and we welcome contributions and feedback. And it is written with configurability in mind.

Subject:
Applied Science
Arts and Humanities
Computer Science
Mathematics
Philosophy
Material Type:
Textbook
Author:
Aldo Antonelli
Andrew Arana
Audrey Yap
Gillian Russell
Jeremy Avigad
Nicole Wyatt
Richard Zach
Walter Dean
Date Added:
05/14/2015
Open Signals and Systems Laboratory Exercises
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

Open Signals and Systems Laboratory Exercises is a collection of lab assignments that have been used in EE 224: Signals and Systems I in the Department of Electrical and Computer Engineering at Iowa State University. These lab exercises have been curated, edited, and presented in a consistent format to improve student learning.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Textbook
Provider:
Iowa State University
Author:
Andrew K. Bolstad
Julie A. Dickerson
Date Added:
11/18/2021
Operating Systems: Three Easy Pieces
Rating
0.0 stars

Operating Systems: Three Easy Pieces, is a free online operating systems book. The book is centered around three conceptual pieces that are fundamental to operating systems: virtualization, concurrency, and persistence. In understanding the conceptual, you will also learn the practical, including how an operating system does things like schedule the CPU, manage memory, and store files persistently.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Andrea C. Arpaci-Dusseau
Remzi H. Arpaci-Dusseau
Date Added:
02/15/2022
Operating Systems and Middleware: Supporting Controlled Interaction
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

In this book, you will learn about all three kinds of interaction. In all three cases, interesting software techniques are needed in order to bring the computations into contact, yet keep them sufifciently at arm’s length that they don’t compromise each other’s reliability. The exciting challenge, then, is supporting controlled interaction. This includes support for computations that share a single computer and interact with one another, as your email and word processing programs do. It also includes support for data storage and network communication. This book describes how all these kinds of support are provided both by operating systems and by additional software layered on top of operating systems, which is known as middleware.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Gustavus Adolphus College
Author:
Max Hailperin
Date Added:
12/05/2019
Patterns for Beginning Programmers
Unrestricted Use
CC BY
Rating
0.0 stars

Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Instead, it is about finding solutions to problems that arise when first learning to program.

Table of Contents
I. Patterns Requiring Knowledge of Types, Variables, and Arithmetic Operators
II. Patterns Requiring Knowledge of Logical and Relational Operators, Conditions, and Methods
III. Patterns Requiring Knowledge of Loops, Arrays, and I/O
IV. Patterns Requiring Advanced Knowledge of Arrays and Arrays of Arrays
V. Patterns Requiring Knowledge of String Objects
VI. Patterns Requiring Knowledge of References

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
David Bernstein
Date Added:
05/23/2022
Personas, Scenarios and Storyboards
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This activity guides students towards the creation of personas, scenarios and storyboards for a product/website that they are creating.

Comments
Although this activity can be used in isolation, it is intended to be part of a series guiding students towards the creation of a front-end of a website. The series (all published as OER) consist of:

a) Needfinding
b) Personas, Scenarios and Storyboards
c) Front-end Website Design and Development
d) Accessibility Evaluation

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Assessment
Homework/Assignment
Provider:
CUNY Academic Works
Provider Set:
Brooklyn College
Author:
Devorah Kletenik
Date Added:
06/28/2023
Pharo by Example 5.0
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Pharo is an open-source, elegant and pure object-oriented language that supports truly immersive and life programming experience. Pharo offers excellent tools such as hot-debuggers and on the fly code update that change the programming experience. More at http://www.pharo.org.
Pharo is a powerful language and IDE that companies use to deliver complex business-effective applications. More at: http://www.pharo.org/success

In Pharo everything is an object, and anything can change at run-time under your fingers. Pharo is written in itself you can explore a complete world. You can feel and talk to objects. But Pharo does not stop there, with Pharo you can improve your object-oriented skills by rediscovering the essence of object-oriented programming. Pharo by Example 50, intended for both students and developers, will guide you gently through the Pharo language and environment by means of a series of examples and exercises. This book is available under the Creative Commons Attribution-ShareAlike 3.0 license.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Dimitris Chloupis
Dmitri Zagidulin
Nicolai Hess
Stéphane Ducasse
Date Added:
12/05/2019
A Primer for Computational Biology
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

A Primer for Computational Biology aims to provide life scientists and students the skills necessary for research in a data-rich world. The text covers accessing and using remote servers via the command-line, writing programs and pipelines for data analysis, and provides useful vocabulary for interdisciplinary work. The book is broken into three parts:

Introduction to Unix/Linux: The command-line is the “natural environment” of scientific computing, and this part covers a wide range of topics, including logging in, working with files and directories, installing programs and writing scripts, and the powerful “pipe” operator for file and data manipulation.
Programming in Python: Python is both a premier language for learning and a common choice in scientific software development. This part covers the basic concepts in programming (data types, if-statements and loops, functions) via examples of DNA-sequence analysis. This part also covers more complex subjects in software development such as objects and classes, modules, and APIs.
Programming in R: The R language specializes in statistical data analysis, and is also quite useful for visualizing large datasets. This third part covers the basics of R as a programming language (data types, if-statements, functions, loops and when to use them) as well as techniques for large-scale, multi-test analyses. Other topics include S3 classes and data visualization with ggplot2.

Subject:
Applied Science
Biology
Computer Science
Life Science
Material Type:
Textbook
Provider:
Oregon State University
Author:
Shawn T. O’Neil
Date Added:
01/06/2020
Principles of Natural Language Processing
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

This book provides an overview of the field of natural language processing and recently developed methods, presuming only knowledge of computing with data structures.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
University of Wisconsin-Milwaukee Pressbooks System
Author:
Susan McRoy
Date Added:
08/25/2021
Professional Web Accessibility Auditing Made Easy
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Essential Skills for Web Developers, Content Creators, and Designers

Short Description:
Digital accessibility skills are in high demand, as the world becomes more aware of barriers in digital content that prevent some people from participating in a digital society. These are essential skills for web developers, and essential knowledge for organizations that want to ensure their web content is reaching the broadest audience possible.

Long Description:
This book will help readers develop the skills and knowledge needed to evaluate websites, web content, and web applications for compliance with international web accessibility requirements. These requirements help ensure that people with disabilities are able to participate fully on the Web. Topics Chapter 1 Aspects of Web Accessibility Auditing Chapter 2 Introduction to WCAG 2 Chapter 3 Automated Review Tools Chapter 4 Manual Testing Strategies Chapter 5 Assistive Technology Testing Chapter 6 Introduction to User Testing Chapter 7 Web Accessibility Reporting Chapter 8 Other Accessibility Standards Book Structure

This book is made up of an Introductory Unit, plus 8 chapters with a variety of readings, hands-on activities, and a short unmarked self-test. Prerequisites

Though there are no prerequisites knowledge required to benefit from this book, in order to make the best out of their learning experience, it is recommended that readers have: Some previous familiarity with WCAG 2.0 Working knowledge of HTML Basic understanding of Javascript

Word Count: 44361

(Note: This resource's metadata has been created automatically by reformatting and/or combining the information that the author initially provided as part of a bulk import process.)

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Toronto Metropolitan University
Author:
Digital Education Strategies
The Chang School
Date Added:
05/19/2021
Professional Web Accessibility Auditing Made Easy: Essential Skills for Web Developers, Content Creators, and Designers
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Digital accessibility skills are in high demand, as the world becomes more aware of barriers in digital content that prevent some people from participating in a digital society. These are essential skills for web developers, and essential knowledge for organizations that want to ensure their web content is reaching the broadest audience possible.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Textbook
Provider:
Ryerson University
Author:
Greg Gay
Date Added:
12/05/2019
Programming Fundamentals - A Modular Structured Approach using C++
Unrestricted Use
CC BY
Rating
0.0 stars

Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college courses: Modular/Structured, Object Oriented and Data Structures. This textbook/collection covers the first of those three courses.

Subject:
Applied Science
Computer Science
Material Type:
Full Course
Provider:
Rice University
Provider Set:
OpenStax CNX
Author:
Kenneth Leroy Busbee
Date Added:
01/10/2013
Programming Languages: Application and Interpretation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Unlike some other textbooks, this one does not follow a top-down narrative. Rather it has the flow of a conversation, with backtracking. We will often build up programs incrementally, just as a pair of programmers would. We will include mistakes, not because I don’t know the answer, but because this is the best way for you to learn. Including mistakes makes it impossible for you to read passively: you must instead engage with the material, because you can never be sure of the veracity of what you’re reading.

The main programming language used in this book is Racket. Like with all operating systems, however, Racket actually supports a host of programming languages, so you must tell Racket which language you’re programming in.

This textbook has been used in classes at: Brown University, Cal Poly, Columbus State University, Northeastern University, NYU, Reed College, UC-San Diego, UC-Santa Cruz, University of Rhode Island, University of Utah, Westmont College, Williams College, and Worcester Polytechnic Institute.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Brown University
Author:
Shriram Krishnamurthi
Date Added:
12/05/2019
Project Management for Instructional Designers
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Project Management for Instructional Designers (PM4ID) is a textbook about project management tailored specifically for instructional designers, intended for use in graduate programs in educational technology. This book is based on a pre-existing openly licensed textbook donated to the commons by a benefactor who desires to remain anonymous. It has been collaboratively revised and updated by students and faculty at the University of Saskatchewan.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
University of Saskatchewan
Author:
ETAD 874
Date Added:
05/26/2021
Project: Mobile Application & Product Development
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Project Assignment for the course "CSCI 380 - Mobile Application and Product Development" delivered at John Jay College in Spring 2019 by Bhargava Chinthirla and Eric Spector as part of the Tech-in-Residence Corps program.

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Provider:
CUNY Academic Works
Provider Set:
John Jay College of Criminal Justice
Author:
Bhargava Chinthirla
Eric Spector
Nyc Tech-in-residence Corps
Date Added:
06/28/2023
Python Data Science Handbook
Only Sharing Permitted
CC BY-NC-ND
Rating
0.0 stars

For many researchers, Python is a first-class tool mainly because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all—IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools.

Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python.

With this handbook, you’ll learn how to use:

IPython and Jupyter: provide computational environments for data scientists using Python
NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python
Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python
Matplotlib: includes capabilities for a flexible range of data visualizations in Python
Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Jake Vanderplas
Date Added:
02/09/2024