Online courses directory (2511)
14.454 is an introduction to current macroeconomic concerns with particular emphasis on medium-run economic fluctuations, economic crises, and the role of asset markets. Topics include the explanation of high chronic unemployment in some nations, the source of modern liquidity crises, the origin and end of speculative bubbles, and the factors that lead to substantial periods of economic stagnation.
The aim of this course is to acquaint students with traditional topics in labor economics and to encourage the development of independent research interests. We will cover a systematic development of the theory of labor supply, labor demand, and human capital. Topics include wage and employment determination, turnover, search, immigration, unemployment, equalizing differences, and institutions in the labor market. There will be particular emphasis on the interaction between theoretical and empirical modeling.
This is a course for those who are interested in the challenge posed by massive and persistent world poverty, and are hopeful that economists might have something useful to say about this challenge. The questions we will take up include: Is extreme poverty a thing of the past? What is economic life like when living under a dollar per day? Why do some countries grow fast and others fall further behind? Does growth help the poor? Are famines unavoidable? How can we end child labor—or should we? How do we make schools work for poor citizens? How do we deal with the disease burden? Is micro finance invaluable or overrated? Without property rights, is life destined to be "nasty, brutish and short"? Has globalization been good to the poor? Should we leave economic development to the market? Should we leave economic development to non-governmental organizations (NGOs)? Does foreign aid help or hinder? Where is the best place to intervene?
Topics include productivity effects of health, private and social returns to education, education quality, education policy and market equilibrium, gender discrimination, public finance, decision making within families, firms and contracts, technology, labor and migration, land, and the markets for credit and savings.
This course provides an integrated introduction to electrical engineering and computer science, taught using substantial laboratory experiments with mobile robots. Our primary goal is for you to learn to appreciate and use the fundamental design principles of modularity and abstraction in a variety of contexts from electrical engineering and computer science.
Our second goal is to show you that making mathematical models of real systems can help in the design and analysis of those systems. Finally, we have the more typical goals of teaching exciting and important basic material from electrical engineering and computer science, including modern software engineering, linear systems analysis, electronic circuits, and decision-making.
Course Format
This course has been designed for independent study. It includes all of the materials you will need to understand the concepts covered in this subject. The materials in this course include:
- Lecture videos from Spring 2011, taught by Prof. Dennis Freeman
- Recitation videos, developed for OCW Scholar by teaching assistant Kendra Pugh
- Course notes
- Software and design labs
- Homework assignments and additional exercises
- Nano-quizzes and exams with solutions
Content Development
Leslie Kaelbling
Jacob White
Harold Abelson
Dennis Freeman
Tomás Lozano-Pérez
Isaac Chuang
Related Content
6.003 covers the fundamentals of signal and system analysis, focusing on representations of discrete-time and continuous-time signals (singularity functions, complex exponentials and geometrics, Fourier representations, Laplace and Z transforms, sampling) and representations of linear, time-invariant systems (difference and differential equations, block diagrams, system functions, poles and zeros, convolution, impulse and step responses, frequency responses). Applications are drawn broadly from engineering and physics, including feedback and control, communications, and signal processing.
6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops a series of building blocks — logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples.
6.004 is required material for any EECS undergraduate who wants to understand (and ultimately design) digital systems. A good grasp of the material is essential for later courses in digital design, computer architecture and systems. The problem sets and lab exercises are intended to give students "hands-on" experience in designing digital systems; each student completes a gate-level design for a reduced instruction set computer (RISC) processor during the semester.
6.005 Software Construction introduces fundamental principles and techniques of software development, i.e., how to write software that is safe from bugs, easy to understand, and ready for change. The course includes problem sets and a final project. Important topics include specifications and invariants; testing; abstract data types; design patterns for object-oriented programming; concurrent programming and concurrency; and functional programming.
The 6.005 website homepage from Spring 2016, along with all course materials, is available to OpenCourseWare users.
This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.
6.012 is the header course for the department's "Devices, Circuits and Systems" concentration. The topics covered include modeling of microelectronic devices, basic microelectronic circuit analysis and design, physical electronics of semiconductor junction and MOS devices, relation of electrical behavior to internal physical processes, development of circuit models, and understanding the uses and limitations of various models. The course uses incremental and large-signal techniques to analyze and design bipolar and field effect transistor circuits, with examples chosen from digital circuits, single-ended and differential linear amplifiers, and other integrated circuits.
This course explores electromagnetic phenomena in modern applications, including wireless and optical communications, circuits, computer interconnects and peripherals, microwave communications and radar, antennas, sensors, micro-electromechanical systems, and power generation and transmission. Fundamentals include quasistatic and dynamic solutions to Maxwell's equations; waves, radiation, and diffraction; coupling to media and structures; guided waves; resonance; acoustic analogs; and forces, power, and energy.
This course covers topics on the engineering of computer software and hardware systems: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; recovery and reliability; privacy, security, and encryption; and impact of computer systems on society. Case studies of working systems and readings from the current literature provide comparisons and contrasts. Two design projects are required, and students engage in extensive written communication exercises.
This course introduces students to the basic knowledge representation, problem solving, and learning methods of artificial intelligence. Upon completion of 6.034, students should be able to develop intelligent systems by assembling solutions to concrete computational problems; understand the role of knowledge representation, problem solving, and learning in intelligent-system engineering; and appreciate the role of problem solving, vision, and language in understanding human intelligence from a computational perspective.
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 subject offers an interactive introduction to discrete mathematics oriented toward computer science and engineering. The subject coverage divides roughly into thirds:
- Fundamental concepts of mathematics: Definitions, proofs, sets, functions, relations.
- Discrete structures: graphs, state machines, modular arithmetic, counting.
- Discrete probability theory.
On completion of 6.042J, students will be able to explain and apply the basic methods of discrete (noncontinuous) mathematics in computer science. They will be able to use these methods in subsequent courses in the design and analysis of algorithms, computability theory, software engineering, and computer systems.
Interactive site components can be found on the Unit pages in the left-hand navigational bar, starting with Unit 1: Proofs.
This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography.
This course provides a challenging introduction to some of the central ideas of theoretical computer science. Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing. It examines the classes of problems that can and cannot be solved by various kinds of machines. It tries to explain the key differences between computational models that affect their power.
The course is designed to provide a practical - hands on - introduction to electronics with a focus on measurement and signals. The prerequisites are courses in differential equations, as well as electricity and magnetism. No prior experience with electronics is necessary. The course will integrate demonstrations and laboratory examples with lectures on the foundations. Throughout the course we will use modern "virtual instruments" as test-beds for understanding electronics. The aim of the course is to provide students with the practical knowledge necessary to work in a modern science or engineering setting.
This course aims to give students the tools and training to recognize convex optimization problems that arise in scientific and engineering applications, presenting the basic theory, and concentrating on modeling aspects and results that are useful in applications. Topics include convex sets, convex functions, optimization problems, least-squares, linear and quadratic programs, semidefinite programming, optimality conditions, and duality theory. Applications to signal processing, control, machine learning, finance, digital and analog circuit design, computational geometry, statistics, and mechanical engineering are presented. Students complete hands-on exercises using high-level numerical software.
Acknowledgements
The course materials were developed jointly by Prof. Stephen Boyd (Stanford), who was a visiting professor at MIT when this course was taught, and Prof. Lieven Vanderberghe (UCLA).
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 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.
Trusted paper writing service WriteMyPaper.Today will write the papers of any difficulty.