This course offers an advanced introduction to numerical linear algebra. Topics include …
This course offers an advanced introduction to numerical linear algebra. Topics include direct and iterative methods for linear systems, eigenvalue decompositions and QR/SVD factorizations, stability and accuracy of numerical algorithms, the IEEE floating point standard, sparse and structured matrices, preconditioning, linear algebra software. Problem sets require some knowledge of MATLAB;.
You will learn how scholarly information is produced, organized, and accessed; how …
You will learn how scholarly information is produced, organized, and accessed; how to construct and use effective search strategies in a variety of web tools and scholarly databases; how to choose finding tools appropriate to the type of information you need; critical thinking skills in the evaluation of resources; and best practices in the ethical use of information.
Table of Contents Chapter 1: Getting started with research Chapter 2: Locating information Chapter 3: Search techniques Chapter 4: Evaluating information Chapter 5: Using information ethically
The Little Book of Semaphores is a free (in both senses of …
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.
The Little Book of Semaphores is a free (in both senses of …
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.
The Nature of Geographic Information is an orientation to the properties of …
The Nature of Geographic Information is an orientation to the properties of geographic data and the practice of distance learning. The purpose of this course is to promote understanding of the Geographic Information Science and Technology (GIS&T) enterprise. GIS&T is the intersection of professions, institutions, and technologies that produce geographic data and render information from it. It is a rapidly growing and evolving field. Learning is a way of life for all GIS&T professionals. With this in mind, I hope that this text may contribute to your lifelong exploration of how geospatial technologies can be used to improve the quality of life-yours and your neighbors', locally and globally, now and in the future.
Exploring the pathways offered by the intersection of the digital and the …
Exploring the pathways offered by the intersection of the digital and the humanities, Making Sense of Digital Humanities seeks to support students and faculty engaging with the complex ways digital humanities enhances our understanding of modern society.
The past decade has seen an explosion of new mechanisms for understanding …
The past decade has seen an explosion of new mechanisms for understanding and using location information in widely-accessible technologies. This Geospatial Revolution has resulted in the development of consumer GPS tools, interactive web maps, and location-aware mobile devices. This course brings together core concepts in cartography, geographic information systems, and spatial thinking with real-world examples to provide the fundamentals necessary to engage with Geographic Information Science. We explore what makes spatial information special, how spatial data is created, how spatial analysis is conducted, and how to design maps so that they're effective at telling the stories we wish to share. To gain experience using this knowledge, we work with the latest mapping and analysis software to explore geographic problems.
Locating restaurants in an unfamiliar place, reporting potholes to the local DOT, …
Locating restaurants in an unfamiliar place, reporting potholes to the local DOT, obtaining real-time traffic conditions... All of these are examples of geospatial web apps that are revolutionizing how people obtain and share information about the world. In GEOG 863, you will learn how to build apps like these. You'll start with a quick look at the fundamentals of web programming (HTML and CSS) before diving in to using JavaScript and a mapping application programming interface (API) developed by Esri. Using this API, you'll create both 2D and 3D visualizations of your own data and learn how to develop a user interface to enable users to interact with your map.
This course covers elementary discrete mathematics for computer science and engineering. It …
This course covers elementary discrete mathematics for computer science and engineering. It emphasizes mathematical definitions and proofs as well as applicable methods. Topics include formal logic notation, proof methods; induction, well-ordering; sets, relations; elementary graph theory; integer congruences; asymptotic notation and growth of functions; permutations and combinations, counting principles; discrete probability. Further selected topics may also be covered, such as recursive definition and structural induction; state machines and invariants; recurrences; generating functions.
This class introduces elementary programming concepts including variable types, data structures, and …
This class introduces elementary programming concepts including variable types, data structures, and flow control. After an introduction to linear algebra and probability, it covers numerical methods relevant to mechanical engineering, including approximation (interpolation, least squares and statistical regression), integration, solution of linear and nonlinear equations, ordinary differential equations, and deterministic and probabilistic approaches. Examples are drawn from mechanical engineering disciplines, in particular from robotics, dynamics, and structural analysis. Assignments require MATLAB programming.
Your action plan is an internal planning document for how you will …
Your action plan is an internal planning document for how you will convince key internal and external constituents to support for the work that you are doing. It is intended as a living document that you can revisit as you review the results of your advocacy activities and refine your advocacy strategy. Think of it as a skeleton you can work to fill in.
Everyone can make a web map now, but what are the best …
Everyone can make a web map now, but what are the best tools to do so? Maybe you have already created web maps with ArcGIS or Google Maps but never taken time to have a closer look at open source software alternatives such as QGIS, GeoServer and Leaflet? Or, are you new to web mapping and looking for the best way to create a web application for spatial data from your job or hobby? If so, GEOG 585, Open Web Mapping, is the right course for you. Learn about FOSS vs. proprietary GIS software, open data and standards for web mapping, and how to create beautiful and interactive web maps with Javascript and Leaflet.
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.
Modern computing platforms provide unprecedented amounts of raw computational power. But significant …
Modern computing platforms provide unprecedented amounts of raw computational power. But significant complexity comes along with this power, to the point that making useful computations exploit even a fraction of the potential of the computing platform is a substantial challenge. Indeed, obtaining good performance requires a comprehensive understanding of all layers of the underlying platform, deep insight into the computation at hand, and the ingenuity and creativity required to obtain an effective mapping of the computation onto the machine. The reward for mastering these sophisticated and challenging topics is the ability to make computations that can process large amount of data orders of magnitude more quickly and efficiently and to obtain results that are unavailable with standard practice. This class is a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, cache and memory hierarchy optimization, parallel programming, and building scalable distributed systems. The course also includes design reviews with industry mentors, as described in this MIT News article.
Digital technologies old and new are not objects that can be packed …
Digital technologies old and new are not objects that can be packed inside a box. They are a seamless, indivisible combination of people, organizations, policies, economies, histories, cultures, knowledge, and material things that are continuously shaped and reshaped. Every one of us innovates-in-use our everyday technologies, we just do not always know it. Not only are we shaped by the networked information tools in our midst, but we shape them and thereby shape others. For us to advance individual agency across diverse community knowledge and cultural wealth within the fabric of communities, we need to nurture our cognitive, socio-emotional, information, and progressive community engagement skills along with, and sometimes in advance of, our technical skills which then serve as just-in-time in-fill learning. This is the call placed by Rev. Dr. Martin Luther King, Jr. – to rapidly shift from a ‘thing-oriented’ society to a ‘person-oriented’ society.
In support of this shift, each session of the book begins first with a social chapter with background knowledge probe, conceptual introductions, and a lesson plan for the session. A technical chapter follows with technical introductions and hands-on activities, and a concluding wrap up and comprehension check. The technical of the Orange Unit especially focuses on electronics and physical computer components; the Blue Unit highlights software through a series of introductory programming activities, with possibilities for alternate pathways for those who bring in some existing programming experience; the Rainbow Unit then brings the hardware and software together into networked systems, concluding with a final design adventure.
Orange Unit: A Person-Centered Launch 1A: Information Systems 1B: Introduction to Electronic Circuits 2A: Critical Social + Technical Perspective 2B: Electronic Components in Series 3A: The Unknown Tech Innovators 3A: Computer Building Blocks 4A: Launching Our Counterstories 4B: Meet the Microcomputer 4C: Getting Started with the Raspberry Pi 4D: Coding Electronics Orange Unit Review
Blue Unit: Computational Tinkering 1A: The Logic of Hardware and Programming 1B: Essential Coding Concepts 2A: The Methodological Landscape 2B: Make Music with Code 3A: Valued, Inclusive Information and Computing Technology Experiences 3B: Build Functions for Remixable Code 4A: Sharing Our Counterstories 4B: Raspberry Pi Counterstory Little Free Library Blue Unit Review REMIX: Ideating and Iterating Code: Scratch Example Rainbow Unit: Networks Big and Small 1A: Programmable Electronics, Smart Technology, and the Internet of Things 1B: Connecting Our Electronic 'Thing' to a Wider World 2A: Digital Internets, Past and Present 2B: The Infrastructure of the Internet 3A: The Digitization of Divides 3B: A Person-Centered Network Information System Adventure 4A: Recovering Community: Designing for Social Justice 4B: Community-Centered Design Rainbow Unit Review
Most books that use MATLAB are aimed at readers who know how …
Most books that use MATLAB are aimed at readers who know how to program. This book is for people who have never programmed before. As a result, the order of presentation is unusual. The book starts with scalar values and works up to vectors and matrices very gradually. This approach is good for beginning programmers, because it is hard to understand composite objects until you understand basic programming semantics.
The course purpose is to provide the substance and skill necessary to …
The course purpose is to provide the substance and skill necessary to make sound business decisions relating to information systems, and to work with senior line managers in the resolution of issues and problems in this area. Categories of issues which will be addressed in the course include: How do IT and its various manifestations in business, such as the Internet, affect current and future competitiveness? How do we align business strategy and plans with IT strategy and IT plans? How can we engage executives in learning and leading IT-related change? How do we implement new systems, change work behavior, manage projects? How should we organize and govern IT in an organization.
"This course provides a thorough introduction to the C programming language, the …
"This course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating system and lingua franca of embedded processors and micro-controllers. The first two weeks will cover basic syntax and grammar, and expose students to practical programming techniques. The remaining lectures will focus on more advanced concepts, such as dynamic memory allocation, concurrency and synchronization, UNIX signals and process control, library development and usage. Daily programming Assignments and Labs and weekly laboratory exercises are required. Knowledge of C is highly marketable for summer internships, UROPs, and full-time positions in software and embedded systems development."
This book offers a wealth of instructional material on the topic of …
This book offers a wealth of instructional material on the topic of research article writing for publication and thesis or dissertation completion. The text provides graduate student writers with helpful information, strategies, and tips on navigating disciplinary writing in their fields and how to understand, dissect, and ultimately, construct their own research article. The text is organized according to a standard research article format, breaking down each section of the empirical research in a simple and straightforward manner to help graduate students build a quality, argument-driven manuscript as they write up their empirical study findings.
Principles of Computer System Design: An Introduction is published in two parts. …
Principles of Computer System Design: An Introduction is published in two parts. Part I, containing chapters 1-6, is a traditional printed textbook published by Morgan Kaufman, an imprint of Elsevier. Part II, containing chapters 7-11, is available here as an open educational resource. This textbook, an introduction to the principles and abstractions used in the design of computer systems, is an outgrowth of notes written for 6.033 Computer System Engineering over a period of 40-plus years. Individual chapters are also used in other EECS subjects. There is also a Web site for the current 6.033 class with a lecture schedule that includes daily Assignments and Labs, lecture notes, and lecture slides. The 6.033 class Web site also contains a thirteen-year archive of class Assignments and Labs, design projects, and quizzes. Technical Requirements: Special software is required to use some of the files in this resource: .key, .ppt, and .zip.
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.