6.890 Algorithmic Lower Bounds: Fun with Hardness Proofs is a class taking …
6.890 Algorithmic Lower Bounds: Fun with Hardness Proofs is a class taking a practical approach to proving problems can’t be solved efficiently (in polynomial time and assuming standard complexity-theoretic assumptions like P ≠ NP). The class focuses on reductions and techniques for proving problems are computationally hard for a variety of complexity classes. Along the way, the class will create many interesting gadgets, learn many hardness proof styles, explore the connection between games and computation, survey several important problems and complexity classes, and crush hopes and dreams (for fast optimal solutions).
This course is a comprehensive introduction to control system synthesis in which …
This course is a comprehensive introduction to control system synthesis in which the digital computer plays a major role, reinforced with hands-on laboratory experience. The course covers elements of real-time computer architecture; input-output interfaces and data converters; analysis and synthesis of sampled-data control systems using classical and modern (state-space) methods; analysis of trade-offs in control algorithms for computation speed and quantization effects. Laboratory projects emphasize practical digital servo interfacing and implementation problems with timing, noise, and nonlinear devices.
This course is conducted as an artificial intelligence programming contest in Java. …
This course is conducted as an artificial intelligence programming contest in Java. Students work in teams to program virtual robots to play Battlecode, a real-time strategy game. Optional lectures are provided on topics and programming practices relevant to the game, and students learn and improve their programming skills experientially. The competition culminates in a live Battlecode tournament. This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.
This course is the second half of the intensive survey of brain …
This course is the second half of the intensive survey of brain and behavioral studies for first-year graduate students in the Brain and Cognitive Sciences curriculum. Each module of this core course involves a series of overview lectures by leading researchers in the field. By offering a thorough introduction to the current state of the discipline while emphasizing critical thinking, the course aims to prepare students as cognitive scientists. Topics include: perception, attention, working memory, recognition and recall, language, and other issues in cognitive science. Topics are covered from the neural, behavioral and computational perspectives.
This class is the second half of an intensive survey of cognitive …
This class is the second half of an intensive survey of cognitive science for first-year graduate students. Topics include visual perception, language, memory, cognitive architecture, learning, reasoning, decision-making, and cognitive development. Topics covered are from behavioral, computational, and neural perspectives.
This course introduces architecture of digital systems, emphasizing structural principles common to …
This course introduces architecture of digital systems, emphasizing structural principles common to a wide range of technologies. It covers the topics including multilevel implementation strategies, definition of new primitives (e.g., gates, instructions, procedures, processes) and their mechanization using lower-level elements. It also includes analysis of potential concurrency, precedence constraints and performance measures, pipelined and multidimensional systems, instruction set design issues and architectural support for contemporary software structures.
6.004 offers an introduction to the engineering of digital systems. Starting with …
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.
This class introduces design as a computational enterprise in which rules are …
This class introduces design as a computational enterprise in which rules are developed to compose and describe architectural and other designs. The class covers topics such as shapes, shape arithmetic, symmetry, spatial relations, shape computations, and shape grammars. It focuses on the application of shape grammars in creative design, and teaches shape grammar fundamentals through in-class, hands-on exercises with abstract shape grammars. The class discusses issues related to practical applications of shape grammars.
16.225 is a graduate level course on Computational Mechanics of Materials. The …
16.225 is a graduate level course on Computational Mechanics of Materials. The primary focus of this course is on the teaching of state-of-the-art numerical methods for the analysis of the nonlinear continuum response of materials. The range of material behavior considered in this course includes: linear and finite deformation elasticity, inelasticity and dynamics. Numerical formulation and algorithms include: variational formulation and variational constitutive updates, finite element discretization, error estimation, constrained problems, time integration algorithms and convergence analysis. There is a strong emphasis on the (parallel) computer implementation of algorithms in programming assignments. The application to real engineering applications and problems in engineering science is stressed throughout the course.
This class introduces studies in the algorithmic manipulation of type as word, …
This class introduces studies in the algorithmic manipulation of type as word, symbol, and form. Problems covered will include semantic filtering, inherently unstable letterforms, and spoken letters. The history and traditions of typography, and their entry into the digital age, will be studied. Weekly assignments using Java® will explore new ways of looking at and manipulating type.
The aim of this course is to highlight some technical aspects of …
The aim of this course is to highlight some technical aspects of the classical tradition in architecture that have so far received only sporadic attention. It is well known that quantification has always been an essential component of classical design: proportional systems in particular have been keenly investigated. But the actual technical tools whereby quantitative precision was conceived, represented, transmitted, and implemented in pre-modern architecture remain mostly unexplored. By showing that a dialectical relationship between architectural theory and data-processing technologies was as crucial in the past as it is today, this course hopes to promote a more historically aware understanding of the current computer-induced transformations in architectural design.
Advances in cognitive science have resolved, clarified, and sometimes complicated some of …
Advances in cognitive science have resolved, clarified, and sometimes complicated some of the great questions of Western philosophy: what is the structure of the world and how do we come to know it; does everyone represent the world the same way; what is the best way for us to act in the world. Specific topics include color, objects, number, categories, similarity, inductive inference, space, time, causality, reasoning, decision-making, morality and consciousness. Readings and discussion include a brief philosophical history of each topic and focus on advances in cognitive and developmental psychology, computation, neuroscience, and related fields. At least one subject in cognitive science, psychology, philosophy, linguistics, or artificial intelligence is required. An additional project is required for graduate credit.
Noted scientist Stephen Wolfram shares his perspective of how the unexpected results …
Noted scientist Stephen Wolfram shares his perspective of how the unexpected results of simple computer experiments have forced him to consider a whole new way of looking at processes in our universe. (86 minutes)
This subject explores the varied nature and practice of computation in design. …
This subject explores the varied nature and practice of computation in design. We will view computation and design broadly. Computation will include both work done on the computer (digital computing) and by-hand. Design will include both the process of making designs and artifacts, as well as the designs and artifacts themselves. The aim of the course is to develop a view of computation and design beyond the specifics of techniques and tools, and a critical, self-awareness of our own approaches and metaphors for computation and design.
6.0001 Introduction to Computer Science and Programming in Python is intended for …
6.0001 Introduction to Computer Science and Programming in Python is intended for students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class uses the Python 3.5 programming language.
6.0001 Introduction to Computer Science and Programming in Python is intended for …
6.0001 Introduction to Computer Science and Programming in Python is intended for students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class uses the Python 3.5 programming language.
This course will introduce students to architectural design and computation through the …
This course will introduce students to architectural design and computation through the use of computer modeling, rendering and digital fabrication. The course focuses on teaching architectural design with CAD drawing, 3-D modeling, rendering and rapid prototyping. Students will be required to build computer models that will lead to a full package of architectural explorations with computers. Each semester we will explore the design process of a particular building type and building material. The course also investigates a few design processes of selected architects. The course is critical of design principles and building production methods. Student assignments are graded based on the quality of design, representation and constructability. Great design input is always encouraged.
This subject explores the varied nature and practice of computation in design. …
This subject explores the varied nature and practice of computation in design. We will view computation and design broadly. Computation will include both work done on the computer (digital computing) and by-hand. Design will include both the process of making designs and artifacts, as well as the designs and artifacts themselves. The aim of the course is to develop a view of computation and design beyond the specifics of techniques and tools, and a critical, self-awareness of our own approaches and metaphors for computation and design.
This course explores the organization of synaptic connectivity as the basis of …
This course explores the organization of synaptic connectivity as the basis of neural computation and learning. Perceptrons and dynamical theories of recurrent networks including amplifiers, attractors, and hybrid computation are covered. Additional topics include backpropagation and Hebbian learning, as well as models of perception, motor control, memory, and neural development.
This course is a seminar in real-time language comprehension. It considers models …
This course is a seminar in real-time language comprehension. It considers models of sentence and discourse comprehension from the linguistic, psychology, and artificial intelligence literature, including symbolic and connectionist models. Topics include ambiguity resolution and linguistic complexity; the use of lexical, syntactic, semantic, pragmatic, contextual and prosodic information in language comprehension; the relationship between the computational resources available in working memory and the language processing mechanism; and the psychological reality of linguistic representations.
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.