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.
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.
This is an advanced interdisciplinary introduction to applied parallel computing on modern …
This is an advanced interdisciplinary introduction to applied parallel computing on modern supercomputers. It has a hands-on emphasis on understanding the realities and myths of what is possible on the world's fastest machines. We will make prominent use of the Julia Language software project.
Fundamental principles of the processes used in the fabrication of silicon monolithic …
Fundamental principles of the processes used in the fabrication of silicon monolithic integrated circuits. Physical models of bulk crystal growth, thermal oxidation, solid-state diffusion, ion implantation, epitaxial deposition, chemical vapor deposition, and physical vapor deposition. Refractory metal silicides, plasma and reactive ion etching, and rapid thermal processing. Process modeling and simulation. Technological limitations on integrated circuit design and fabrication. VLSI fundamentals.
In this media-rich, self-paced lesson, students explore the industries that produce and …
In this media-rich, self-paced lesson, students explore the industries that produce and rely on advanced technology and assess how their goals and interests may make them well suited for a career in this cutting-edge sector.
An introduction to the basic principles of computer systems with emphasis on …
An introduction to the basic principles of computer systems with emphasis on the use of rigorous techniques as an aid to understanding and building modern computing systems. Particular attention paid to concurrent and distributed systems. Topics include: specification and verification, concurrent algorithms, synchronization, naming, Networking, replication techniques (including distributed cache management), and principles and algorithms for achieving reliability.
Coding for the AWGN channel; block and convolutional codes; lattice and trellis …
Coding for the AWGN channel; block and convolutional codes; lattice and trellis codes; capacity-approaching codes; equalization of linear Gaussian channels; linear, decision-feedback, and MLSD equalization; precoding; multicarrier modulation; and topics in wireless communication.
This course is an introduction to the design, analysis, and fundamental limits …
This course is an introduction to the design, analysis, and fundamental limits of wireless transmission systems. Topics to be covered include: wireless channel and system models; fading and diversity; resource management and power control; multiple-antenna and MIMO systems; space-time codes and decoding algorithms; multiple-access techniques and multiuser detection; broadcast codes and precoding; cellular and ad-hoc network topologies; OFDM and ultrawideband systems; and architectural issues.
Welcome to 6.041/6.431, a subject on the modeling and analysis of random …
Welcome to 6.041/6.431, a subject on the modeling and analysis of random phenomena and processes, including the basics of statistical inference. Nowadays, there is broad consensus that the ability to think probabilistically is a fundamental component of scientific literacy. For example: The concept of statistical significance (to be touched upon at the end of this course) is considered by the Financial Times as one of "The Ten Things Everyone Should Know About Science". A recent Scientific American article argues that statistical literacy is crucial in making health-related decisions. Finally, an article in the New York Times identifies statistical data analysis as an upcoming profession, valuable everywhere, from Google and Netflix to the Office of Management and Budget. The aim of this class is to introduce the relevant models, skills, and tools, by combining mathematics with conceptual understanding and intuition.
This course covers the entire family of programming languages, starting with an …
This course covers the entire family of programming languages, starting with an introduction to programming languages in general and a discussion of the features and functionality that make up a modern programming language. Upon successful completion of this course, the student will be able to: identify the common concepts used to create programming languages; compare and contrast factors and commands that affect the programming state illustrate how execution ordering affects programming; identify the basic objects and constructs in Object-Oriented Programming; explain the characteristics of pure functional functions in functional programming; describe the structures and components utilized in logical programming. (Computer Science 404)
Principles of functional, imperative, and logic programming languages. Meta-circular interpreters, semantics (operational …
Principles of functional, imperative, and logic programming languages. Meta-circular interpreters, semantics (operational and denotational), type systems (polymorphism, inference, and abstract types), object oriented programming, modules, and multiprocessing. Case studies of contemporary programming languages. Programming experience and background in language implementation required. From the course home page: The course involves substantial programming assignments and problem sets as well as a significant amount of reading. The course uses the SCHEME+ programming language for all of its assignments.
The goal of this book is to provide an Informatics-oriented introduction to …
The goal of this book is to provide an Informatics-oriented introduction to programming. The primary difference between a computer science approach and the Informatics approach taken in this book is a greater focus on using Python to solve data analysis problems common in the world of Informatics.
Principles of mass transport and electrical signal generation for biological membranes, cells, …
Principles of mass transport and electrical signal generation for biological membranes, cells, and tissues. Mass transport through membranes: diffusion, osmosis, chemically mediated, and active transport. Electric properties of cells: ion transport; equilibrium, resting, and action potentials. Kinetic and molecular properties of single voltage-gated ion channels. Laboratory and computer exercises illustrate the concepts. For juniors and seniors. Students engage in extensive written and oral communication exercises.
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.