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.”
In EARTH 801, you will develop skills in a programming language designed …
In EARTH 801, you will develop skills in a programming language designed for visual arts and visualization while exploring Earth science topics. Specifically, you'll learn and practice digital graphics capabilities in order to render Earth science concepts that are otherwise difficult to visualize due to complicated space and time scales. Here, you will interact with large, open, freely-available data sets by collecting, plotting, and analyzing them using a variety of computational methods. You'll be ready to teach secondary school students a range of Next Generation Science Standard skills involving data collecting, manipulation, analysis, and plotting. You'll also read and discuss current research regarding the teaching, learning, and evaluation of visualization skills, as well as multiple external representations of science concepts.
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.
The purpose of this course is to cultivate an understanding of modern …
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. The student will study the history of modern computing technology before learning about modern computer architecture, then the recent switch from sequential processing to parallel processing. Upon completion of this course, students will be able to: identify important advances that have taken place in the history of modern computing and discuss some of the latest trends in computing industry; explain how programs written in high-level programming language, such as C or Java, can be translated into the language of the hardware; describe the interface between hardware and software and explain how software instructs hardware to accomplish desired functions; demonstrate an understanding of the process of carrying out sequential logic design; demonstrate an understanding of computer arithmetic hardware blocks and floating point representation; explain how a hardware programming language is executed on hardware and how hardware and software design affect performance; demonstrate an understanding of the factors that determine the performance of a program; demonstrate an understanding of the techniques that designers use to improve the performance of programs running on hardware; demonstrate an understanding of the importance of memory hierarchy in computer design and explain how memory design impacts overall hardware performance; demonstrate an understanding of storage and I/O devices, their performance measurement, and redundant array of inexpensive disks (more commonly referred to by the acronym RAID) technology; list the reasons for and the consequences of the recent switch from sequential processing to parallel processing in hardware manufacture and explain the basics of parallel programming. (Computer Science 301)
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.
Computer Histories is an introductory course on the history of computing that …
Computer Histories is an introductory course on the history of computing that explores the questions 1) What is the history of computing? 2) What is the future of computing? and 3) What lessons can we learn from computing's past that will help guide us in determining computing's future?
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).
This course will emphasize basic security concepts (authentication, confidentiality, accounting and integrity), …
This course will emphasize basic security concepts (authentication, confidentiality, accounting and integrity), apply these concepts to computer networks, and amplify the theory with hands-on aspects of configuring and using secure networks. Topics include: review of networking concepts, general security concepts, user authentication and authorization, encryption, network attacks (including hacking, viruses, worms and denial of service) and network protection. Defense tools including firewalls, Virtual Private Networks (VPNs), and filters will be discussed in depth, as they relate to effective and safe e-commerce and other applications in the real world. Case studies along with projects will be assigned and performed.
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.
This computer skills curriculum is designed for teaching computer skills, MS programs, …
This computer skills curriculum is designed for teaching computer skills, MS programs, and Social Media awareness to adult learners. The curriculum uses visual aids, practical application and performance based assessments making it appropriate for ESOL learners as well as native English speakers. Each module aligns with the corresponding Northstar Digital Literacy Assessment. Teacher notes, vocabulary lists, and additional resources are included in each module.
This introductory class of computer skills is comprised of units that focus …
This introductory class of computer skills is comprised of units that focus on basic computer hardware and the following applications: Word 2010, Excel 2010, PowerPoint 2010, Photo Gallery, and Audacity. Most units begin with YouTube overviews or 'how to' presentations followed by step by step guides to using aspects of the application and then have assessment exercises and conclude with a final project for evaluation.
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.
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.