Control of Mobile Robots is a course that focuses on the application of modern control theory to the problem of making robots move around in safe and effective ways. The structure of this class is somewhat unusual since it involves many moving parts - to do robotics right, one has to go from basic theory all the way to an actual robot moving around in the real world, which is the challenge we have set out to address through the different pieces in the course.
This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.
The course, lecture, and examples build on each other to teach the fundamentals of programming in general (logic, loops, functions, objects, classes) and also deals with advanced topics including multi-threading, events and signals. Throughout the course, students create meaningful and rewarding expressive digital “instruments” that make sound and music in direct response to program logic. The ChucK language provides precise high-level control over time, audio computation, and user interface elements (track pad, joysticks, etc.).
In this course you will learn several fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures, randomized algorithms, and more.
This course introduces the basics of Digital Signal Processing and computational acoustics, motivated by the vibrational physics of real-world objects and systems. We will build from a simple mass-spring and pendulum to demonstrate oscillation, how to simulate those systems in the computer, and also prove that simple oscillation behaves as a sine wave. From that we move to plucked strings and struck bars, showing both solutions as combined traveling waves and combined sine wave harmonics.
Il corso mostra, tramite alcuni esempi, una delle possibilità offerta dalla diffusione dei calcolatori nel mondo che ci circonda: comunicare con gli oggetti usando "il linguaggio", per programmarli e realizzare idee altrimenti impossibili.
Learn about the inner workings of cryptographic primitives and protocols and how to apply this knowledge in real-world applications.
The course aims to provide a foundation in artificial intelligence techniques for planning, with an overview of the wide spectrum of different problems and approaches, including their underlying theory and their applications. The January 2015 session was the final version of the course. It will remain open so that those interested can register and access all the materials.
Computer haben unser Leben tiefgreifend verändert. Um die heutige Gesellschaft und Wirtschaft und deren stetigen Veränderungen zu verstehen, muss man wissen, wie Computer funktionieren. Das Ziel der Vorlesung Informatik für Ökonomen ist es, Ihnen eine Basis zu vermitteln, um unsere informationstechnisch gesteuerte Welt zu verstehen und darin erfolgreich zu sein.
The Art of Programming. Discover the world of computing, learn software design and development while solving puzzles with world renowned lecturer Richard Buckland.
The Internet is a computer network that millions of people use every day. Understand the design strategies used to solve computer networking problems while you learn how the Internet works.
In this introductory course, you’ll learn and practice key computer science concepts by building your own versions of popular web applications. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore fundamental computer science concepts, as you build your own search engine and social network.
This course will expand about SQL and introduce various other advanced topics, including query optimization, concurrency, data warehouses, object-oriented extensions, and XML.
Learn about the basics of how computation has impacted the entire workflow of photography, from how images are captured, manipulated and collaborated on and shared.
This course is designed to give you a clear understanding of how networks, from in-home local area networks, or LANS, to the massive and global Internet, are built and how they allow us to use computers to share information and communicate with one another.
Modern computer technology requires an understanding of both hardware and software, as the interaction between the two offers a framework for mastering the fundamentals of computing. The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software.