The purpose of this text is to promote understanding of the Geographic …
The purpose of this text is to promote understanding of the Geographic Information Science and Technology enterprise (GIS&T, also known as “geospatial”).
This course is a graduate subject in the theory and practice of …
This course is a graduate subject in the theory and practice of network flows and its extensions. Network flow problems form a subclass of linear programming problems with applications to transportation, logistics, manufacturing, computer science, project management, and finance, as well as a number of other domains. This subject will survey some of the applications of network flows and focus on key special cases of network flow problems including the following: the shortest path problem, the maximum flow problem, the minimum cost flow problem, and the multi-commodity flow problem. We will also consider other extensions of network flow problems.
This lesson centers around the How AI Works: Neural Networks video from …
This lesson centers around the How AI Works: Neural Networks video from the How AI Works video series. Watch this video first before exploring the lesson plan.
Students learn how neural networks work. They first discuss an example of an experience that recommends things to you. They then use a widget that recommends videos based on one person. Students watch a video explaining neural networks. They use an updated widget to adjust the weights of each person. Finally, students discuss the need for diverse perspectives when creating recommendation systems.
This lesson can be taught on its own, or as part of a 7-lesson sequence on How AI Works. Duration: 45 minutes
This course introduces students to the fundamentals of nonlinear optimization theory and …
This course introduces students to the fundamentals of nonlinear optimization theory and methods. Topics include unconstrained and constrained optimization, linear and quadratic programming, Lagrange and conic duality theory, interior-point algorithms and theory, Lagrangian relaxation, generalized programming, and semi-definite programming. Algorithmic methods used in the class include steepest descent, Newton's method, conditional gradient and subgradient optimization, interior-point methods and penalty and barrier methods.
The documentation is missing or obsolete, and the original developers have departed. …
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.
The goal of this project is to free undergraduate computer science students …
The goal of this project is to free undergraduate computer science students from having to pay for an introductory data structures book. I have decided to implement this goal by treating this book like an Open Source software project. The LATEX source, Java source, and build scripts for the book are available to download from the authors website and also, more importantly, on a reliable source code management site.
Offered as an introduction to the field of data structures and algorithms, …
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.
The Open Logic Text is an open textbook on mathematical logic aimed …
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.
This course teaches the fundamentals of engineering operating systems. The following topics …
This course teaches the fundamentals of engineering operating systems. The following topics are studied in detail: virtual memory, kernel and user mode, system calls, threads, context switches, interrupts, interprocess communication, coordination of concurrent activities, and the interface between software and hardware. Most importantly, the interactions between these concepts are examined. The course is divided into two blocks; the first block introduces one operating system, UNIXĺ¨ v6, in detail. The second block of lectures covers important operating systems concepts invented after UNIXĺ¨ v6, which was introduced in 1976.
In this book, you will learn about all three kinds of interaction. …
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.
Principles of operation, algorithms, applications, and limitations of optical detection, storage, processing, …
Principles of operation, algorithms, applications, and limitations of optical detection, storage, processing, transmission and display devices and systems. Topics: review of basic properties of electromagnetic waves; holography; spatial light modulator and display devices; thermal and quantum photodetectors; optical storage media such as disks and 3-D holographic materials; fiberoptic communication systems; optical interconnection device technologies; coherent and incoherent light processors based on Fourier optics, Acousto-optics, and optoelectronic neural networks; role of optics in next-generation computers; applications to image processing, pattern recognition, radar systems and adaptive optics; limitations of optical processors.
This course introduces the principal algorithms for linear, network, discrete, nonlinear, dynamic …
This course introduces the principal algorithms for linear, network, discrete, nonlinear, dynamic optimization and optimal control. Emphasis is on methodology and the underlying mathematical structures. Topics include the simplex method, network flow methods, branch and bound and cutting plane methods for discrete optimization, optimality conditions for nonlinear optimization, interior point methods for convex optimization, Newton's method, heuristic methods, and dynamic programming and optimal control methods.
The course examines optical and electronic processes in organic molecules and polymers …
The course examines optical and electronic processes in organic molecules and polymers that govern the behavior of practical organic optoelectronic devices. Electronic structure of a single organic molecule is used as a guide to the electronic behavior of organic aggregate structures. Emphasis is placed on the use of organic thin films in active organic devices including organic LEDs, solar cells, photodetectors, transistors, chemical sensors, memory cells, electrochromic devices, as well as xerography and organic non-linear optics. How to reach the ultimate miniaturization limit of molecular electronics and related nanoscale patterning techniques of organic materials will also be discussed. The class encompasses three laboratory sessions during which the students will practice the use of select vacuum and non-vacuum organic deposition techniques by making their own active organic devices.
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.