Online courses directory (10358)
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.
Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This computer science course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital and computer systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!
This is Part 1 of a 3-part series on digital systems, teaching the fundamentals of digital circuit design and is based on a course offered by the MIT Department of Electrical Engineering and Computer Science. Topics include digital encoding of information, principles of digital signaling; combinational and sequential logic, implementation in CMOS, useful canonical forms, synthesis; latency, throughput and pipelining.
Using your browser for design entry and simulation, you’ll get to design and debug circuits at both the transistor- and gate-level, culminating in the creation of a 32-bit arithmetic and logic unit.
Learner Testimonial
“This course is like a dream coming true...as kid (10 - 12 years) I was already building circuits and reading books about Digital Circuits. Due to all kind of circumstances I never got to pursue a study and career in electronics ...now I am almost 50... I see this as a second chance. Thank you very very much for this awesome course. One of the best, (if not the best) MOOCs I've ever taken.” -- Previous Student
Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This computer science course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital and computer systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!
This is Part 2 of a 3-part series on digital systems, teaching the fundamentals of computer architecture and is based on a course offered by the MIT Department of Electrical Engineering and Computer Science. Topics include instruction set architectures and assembly language, stacks and procedures, 32-bit computer architecture, the memory hierarchy, and caches.
Using your browser for design entry and simulation, you’ll implement a 32-bit computer using our gate library and write assembly language programs to explore the hardware/software interface.
Learner Testimonial
“If you look back, we've done sooooo much: assembly programming, stack crawling (detective work), building a 32-bit computer, for crying out loud, and also learnt about caches as the cherry on top (which really helped me because I always had trouble understanding how temporary memory worked). And to top it off, they're promising us more exciting courses in the future.” -- Previous Student
Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This computer science course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital and computer systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!
This is Part 3 of a 3-part series on digital systems, providing an introduction to the hardware/software interface and is based on a course offered by the MIT Department of Electrical Engineering and Computer Science. Topics include pipelined computers, virtual memories, implementation of a simple time-sharing operating system, interrupts and real-time, and techniques for parallel processing.
Using your browser for design entry and simulation, you’ll optimize your processor design from Part 2 for size and speed, and make additions to a simple time-sharing operating system.
Learner Testimonial
"Out of the many edX courses I have taken, the first two parts of 6.004x were clearly the best. I am looking forward to the third part.” -- Previous Student
This course covers the algorithmic and machine learning foundations of computational biology combining theory with practice. We cover both foundational topics in computational biology, and current research frontiers. We study fundamental techniques, recent advances in the field, and work directly with current large-scale biological datasets.
This course covers the algorithmic and machine learning foundations of computational biology combining theory with practice. We cover both foundational topics in computational biology, and current research frontiers. We study fundamental techniques, recent advances in the field, and work directly with current large-scale biological datasets.
This course covers the algorithmic and machine learning foundations of computational biology combining theory with practice. We cover both foundational topics in computational biology, and current research frontiers. We study fundamental techniques, recent advances in the field, and work directly with current large-scale biological datasets.
A computational camera attempts to digitally capture the essence of visual information by exploiting the synergistic combination of task-specific optics, illumination, sensors and processing. In this course we will study this emerging multi-disciplinary field at the intersection of signal processing, applied optics, computer graphics and vision, electronics, art, and online sharing through social networks. If novel cameras can be designed to sample light in radically new ways, then rich and useful forms of visual information may be recorded — beyond those present in traditional photographs. Furthermore, if computational process can be made aware of these novel imaging models, them the scene can be analyzed in higher dimensions and novel aesthetic renderings of the visual information can be synthesized.
We will discuss and play with thermal cameras, multi-spectral cameras, high-speed, and 3D range-sensing cameras and camera arrays. We will learn about opportunities in scientific and medical imaging, mobile-phone based photography, camera for HCI and sensors mimicking animal eyes. We will learn about the complete camera pipeline. In several hands-on projects we will build physical imaging prototypes and understand how each stage of the imaging process can be manipulated.
A computational camera attempts to digitally capture the essence of visual information by exploiting the synergistic combination of task-specific optics, illumination, sensors and processing. In this course we will study this emerging multi-disciplinary field at the intersection of signal processing, applied optics, computer graphics and vision, electronics, art, and online sharing through social networks. If novel cameras can be designed to sample light in radically new ways, then rich and useful forms of visual information may be recorded — beyond those present in traditional photographs. Furthermore, if computational process can be made aware of these novel imaging models, them the scene can be analyzed in higher dimensions and novel aesthetic renderings of the visual information can be synthesized.
We will discuss and play with thermal cameras, multi-spectral cameras, high-speed, and 3D range-sensing cameras and camera arrays. We will learn about opportunities in scientific and medical imaging, mobile-phone based photography, camera for HCI and sensors mimicking animal eyes. We will learn about the complete camera pipeline. In several hands-on projects we will build physical imaging prototypes and understand how each stage of the imaging process can be manipulated.
This course is an introduction to computational theories of human cognition. Drawing on formal models from classic and contemporary artificial intelligence, students will explore fundamental issues in human knowledge representation, inductive learning and reasoning. What are the forms that our knowledge of the world takes? What are the inductive principles that allow us to acquire new knowledge from the interaction of prior knowledge with observed data? What kinds of data must be available to human learners, and what kinds of innate knowledge (if any) must they have?
An introduction to computational theories of human cognition. Emphasizes questions of inductive learning and inference, and the representation of knowledge. Project required for graduate credit. This class is suitable for intermediate to advanced undergraduates or graduate students specializing in cognitive science, artificial intelligence, and related fields.
This course is an introduction to computational theories of human cognition. Drawing on formal models from classic and contemporary artificial intelligence, students will explore fundamental issues in human knowledge representation, inductive learning and reasoning. What are the forms that our knowledge of the world takes? What are the inductive principles that allow us to acquire new knowledge from the interaction of prior knowledge with observed data? What kinds of data must be available to human learners, and what kinds of innate knowledge (if any) must they have?
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.
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.
This course presents material in discrete mathematics and computation theory with a strong emphasis on practical algorithms and experiential learning. Discrete mathematics, also called finite mathematics or decision mathematics, is the study of mathematical structures that are fundamentally discrete in the sense of not supporting or requiring the notion of continuity. Objects studied in finite mathematics are largely countable sets such as integers, finite graphs, and formal languages. Concepts and notations from discrete mathematics are useful to study or describe objects or problems in computer algorithms and programming languages. The CDM course is currently under development and we are making the course available while it is under development. Only one of the planned fifteen modules is currently available. The module on Groups that is currently available would appear mid-way through the complete course.
Why has it been easier to develop a vaccine to eliminate polio than to control influenza or AIDS? Has there been natural selection for a 'language gene'? Why are there no animals with wheels? When does 'maximizing fitness' lead to evolutionary extinction? How are sex and parasites related? Why don't snakes eat grass? Why don't we have eyes in the back of our heads? How does modern genomics illustrate and challenge the field?
This course analyzes evolution from a computational, modeling, and engineering perspective. The course has extensive hands-on laboratory exercises in model-building and analyzing evolutionary data.
Why has it been easier to develop a vaccine to eliminate polio than to control influenza or AIDS? Has there been natural selection for a 'language gene'? Why are there no animals with wheels? When does 'maximizing fitness' lead to evolutionary extinction? How are sex and parasites related? Why don't snakes eat grass? Why don't we have eyes in the back of our heads? How does modern genomics illustrate and challenge the field?
This course analyzes evolution from a computational, modeling, and engineering perspective. The course has extensive hands-on laboratory exercises in model-building and analyzing evolutionary data.
Why has it been easier to develop a vaccine to eliminate polio than to control influenza or AIDS? Has there been natural selection for a 'language gene'? Why are there no animals with wheels? When does 'maximizing fitness' lead to evolutionary extinction? How are sex and parasites related? Why don't snakes eat grass? Why don't we have eyes in the back of our heads? How does modern genomics illustrate and challenge the field?
This course analyzes evolution from a computational, modeling, and engineering perspective. The course has extensive hands-on laboratory exercises in model-building and analyzing evolutionary data.
The course focuses on casting contemporary problems in systems biology and functional genomics in computational terms and providing appropriate tools and methods to solve them. Topics include genome structure and function, transcriptional regulation, and stem cell biology in particular; measurement technologies such as microarrays (expression, protein-DNA interactions, chromatin structure); statistical data analysis, predictive and causal inference, and experiment design. The emphasis is on coupling problem structures (biological questions) with appropriate computational approaches.
Topics in surface modeling: b-splines, non-uniform rational b-splines, physically based deformable surfaces, sweeps and generalized cylinders, offsets, blending and filleting surfaces. Non-linear solvers and intersection problems. Solid modeling: constructive solid geometry, boundary representation, non-manifold and mixed-dimension boundary representation models, octrees. Robustness of geometric computations. Interval methods. Finite and boundary element discretization methods for continuum mechanics problems. Scientific visualization. Variational geometry. Tolerances. Inspection methods. Feature representation and recognition. Shape interrogation for design, analysis, and manufacturing. Involves analytical and programming assignments.
This course was originally offered in Course 13 (Department of Ocean Engineering) as 13.472J. In 2005, ocean engineering subjects became part of Course 2 (Department of Mechanical Engineering), and this course was renumbered 2.158J.
Trusted paper writing service WriteMyPaper.Today will write the papers of any difficulty.