This course introduces programming languages and techniques used by physical scientists: FORTRAN, …
This course introduces programming languages and techniques used by physical scientists: FORTRAN, C, C++, MATLAB®, and Mathematica. Emphasis is placed on program design, algorithm development and verification, and comparative advantages and disadvantages of different languages.
This course is a graduate level introduction to automatic discourse processing. The …
This course is a graduate level introduction to automatic discourse processing. The emphasis will be on methods and models that have applicability to natural language and speech processing. The class will cover the following topics: discourse structure, models of coherence and cohesion, plan recognition algorithms, and text segmentation. We will study symbolic as well as machine learning methods for discourse analysis. We will also discuss the use of these methods in a variety of applications ranging from dialogue systems to automatic essay writing. This subject qualifies as an Artificial Intelligence and Applications concentration subject.
This course examines wave equations for fluid and visco-elastic media, wave-theory formulations …
This course examines wave equations for fluid and visco-elastic media, wave-theory formulations of acoustic source radiation and seismo-acoustic propagation in stratified ocean waveguides, and Wavenumber Integration and Normal Mode methods for propagation in plane-stratified media. Also covered are Seismo-Acoustic modeling of seabeds and ice covers, seismic interface and surface waves in a stratified seabed, Parabolic Equation and Coupled Mode approaches to propagation in range-dependent ocean waveguides, numerical modeling of target scattering and reverberation clutter in ocean waveguides, and ocean ambient noise modeling. Students develop propagation models using all the numerical approaches relevant to state-of-the-art acoustic research. This course was originally offered in Course 13 (Department of Ocean Engineering) as 13.853. In 2005, ocean engineering subjects became part of Course 2 (Department of Mechanical Engineering), and this course was renumbered 2.068.
With the growing availability and lowering costs of genotyping and personal genome …
With the growing availability and lowering costs of genotyping and personal genome sequencing, the focus has shifted from the ability to obtain the sequence to the ability to make sense of the resulting information. This course is aimed at exploring the computational challenges associated with interpreting how sequence differences between individuals lead to phenotypic differences in gene expression, disease predisposition, or response to treatment.
The theoretical frameworks of Hartree-Fock theory and density functional theory are presented …
The theoretical frameworks of Hartree-Fock theory and density functional theory are presented in this course as approximate methods to solve the many-electron problem. A variety of ways to incorporate electron correlation are discussed. The application of these techniques to calculate the reactivity and spectroscopic properties of chemical systems, in addition to the thermodynamics and kinetics of chemical processes, is emphasized. This course also focuses on cutting edge methods to sample complex hypersurfaces, for reactions in liquids, catalysts and biological systems.
This course provides the fundamental computational toolbox for solving science and engineering …
This course provides the fundamental computational toolbox for solving science and engineering problems. Topics include review of linear algebra, applications to networks, structures, estimation, finite difference and finite element solutions of differential equations, Laplace’s equation and potential flow, boundary-value problems, Fourier series, the discrete Fourier transform, and convolution. We will also explore many topics in AI and machine learning throughout the course.
This course provides a review of linear algebra, including applications to networks, …
This course provides a review of linear algebra, including applications to networks, structures, and estimation, Lagrange multipliers. Also covered are: differential equations of equilibrium; Laplace’s equation and potential flow; boundary-value problems; minimum principles and calculus of variations; Fourier series; discrete Fourier transform; convolution; and applications. Note: This course was previously called “Mathematical Methods for Engineers I.”
This course covers the analytical, graphical, and numerical methods supporting the analysis …
This course covers the analytical, graphical, and numerical methods supporting the analysis and design of integrated biological systems. Topics include modularity and abstraction in biological systems, mathematical encoding of detailed physical problems, numerical methods for solving the dynamics of continuous and discrete chemical systems, statistics and probability in dynamic systems, applied local and global optimization, simple feedback and control analysis, statistics and probability in pattern recognition. An official course Web site and Wiki is maintained on OpenWetWare: 20.181 Computation for Biological Engineers.
This course covers concepts of computation used in analysis of engineering systems. …
This course covers concepts of computation used in analysis of engineering systems. It includes the following topics: data structures, relational database representations of engineering data, algorithms for the solution and optimization of engineering system designs (greedy, dynamic programming, branch and bound, graph algorithms, nonlinear optimization), and introduction to complexity analysis. Object-oriented, efficient implementations of algorithms are emphasized.
This course immerses students in the process of building and testing their …
This course immerses students in the process of building and testing their own digital and board games in order to better understand how we learn from games. We explore the design and use of games in the classroom in addition to research and development issues associated with computer–based (desktop and handheld) and non–computer–based media. In developing their own games, students examine what and how people learn from them (including field testing of products), as well as how games can be implemented in educational settings.
This course provides introduction to computer graphics algorithms, software and hardware. Topics …
This course provides introduction to computer graphics algorithms, software and hardware. Topics include: ray tracing, the graphics pipeline, transformations, texture mapping, shadows, sampling, global illumination, splines, animation and color. This course offers 6 Engineering Design Points in MIT’s EECS program.
This course analyzes issues associated with the implementation of higher-level programming languages. …
This course analyzes issues associated with the implementation of higher-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, the interaction of theory and practice, and using tools in building software. The course includes a multi-person project on compiler design and implementation.
6.035 is a course within the department’s “Computer Systems and Architecture” concentration. …
6.035 is a course within the department’s “Computer Systems and Architecture” concentration. This course analyzes issues associated with the implementation of high-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, basic program optimization techniques, the interaction of theory and practice, and using tools in building software. The course features a multi-person project on design and implementation of a compiler that is written in Java® and generates MIPS executable machine code. This course is worth 8 Engineering Design Points. This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5502 (Computer Language Engineering).
How does the global network infrastructure work and what are the design …
How does the global network infrastructure work and what are the design principles on which it is based? In what ways are these design principles compromised in practice? How do we make it work better in today’s world? How do we ensure that it will work well in the future in the face of rapidly growing scale and heterogeneity? And how should Internet applications be written, so they can obtain the best possible performance both for themselves and for others using the infrastructure? These are some issues that are grappled with in this course. The course will focus on the design, implementation, analysis, and evaluation of large-scale networked systems. Topics include internetworking philosophies, unicast and multicast routing, congestion control, network quality of service, mobile networking, router architectures, network-aware applications, content dissemination systems, network security, and performance issues. Material for the course will be drawn from research papers, industry white papers, and Internet RFCs.
6.823 is a course in the department’s “Computer Systems and Architecture” concentration. …
6.823 is a course in the department’s “Computer Systems and Architecture” concentration. 6.823 is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order superscalar architectures; VLIW machines; vector supercomputers; multithreaded architectures; symmetric multiprocessors; and parallel computers.
This class covers topics on the engineering of computer software and hardware …
This class covers topics on the engineering of computer software and hardware systems. Topics include techniques for controlling complexity; strong modularity using client-server design, operating systems; performance, networks; naming; security and privacy; fault-tolerant systems, atomicity and coordination of concurrent activities, and recovery; impact of computer systems on society.
6.858 Computer Systems Security is a class about the design and implementation …
6.858 Computer Systems Security is a class about the design and implementation of secure computer systems. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications.
This subject is a computer-oriented introduction to probability and data analysis. It …
This subject is a computer-oriented introduction to probability and data analysis. It is designed to give students the knowledge and practical experience they need to interpret lab and field data. Basic probability concepts are introduced at the outset because they provide a systematic way to describe uncertainty. They form the basis for the analysis of quantitative data in science and engineering. The MATLAB® programming language is used to perform virtual experiments and to analyze real-world data sets, many downloaded from the web. Programming applications include display and assessment of data sets, investigation of hypotheses, and identification of possible casual relationships between variables. This is the first semester that two courses, Computing and Data Analysis for Environmental Applications (1.017) and Uncertainty in Engineering (1.010), are being jointly offered and taught as a single course.
This course introduces abstraction as an important mechanism for problem decomposition and …
This course introduces abstraction as an important mechanism for problem decomposition and solution formulation in the biomedical domain, and examines computer representation, storage, retrieval, and manipulation of biomedical data. As part of the course, we will briefly examine the effect of programming paradigm choice on problem-solving approaches, and introduce data structures and algorithms. We will also examine knowledge representation schemes for capturing biomedical domain complexity and principles of data modeling for efficient storage and retrieval. The final project involves building a medical information system that encompasses the different concepts taught in the course. Computer science basics covered in the first part of the course are integral to understanding topics covered in the latter part, and for completing the assigned homework.
This course explores languages that have been deliberately constructed, including Esperanto, Klingon, …
This course explores languages that have been deliberately constructed, including Esperanto, Klingon, and Tolkien’s Elvish. Students construct their own languages while considering the basic linguistic characteristics of various languages of the world. Through regular assignments, students describe the phonology, morphology, syntax, semantics, and writing system of their constructed language. The final assignment is a grammatical description of the new language.
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.