## Course Description

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

## Prerequisites

At MIT, 6.01 has no formal prerequisites. Students are expected to take *8.02 Physics II: Electricity and Magnetism* as a co-requisite.

This OCW Scholar course will be most useful to students with the following background and skills:

**Mathematics**- Sequences and series, some trigonometry (for poles)
- No extensive skill with calculus is required, but students should understand that velocity is the derivative of position, and be able to estimate the velocity of an object from a graph of its position.

**Programming**- Some programming experience is good, but not necessarily required. The Python Tutorial is designed to get students up to speed with Python, while a course like
*6.189 A Gentle Introduction to Programming Using Python*may be useful for students will little or no programming experience.

- Some programming experience is good, but not necessarily required. The Python Tutorial is designed to get students up to speed with Python, while a course like
**Physics**- Some exposure to solving basic circuits: Ohm’s law, passive components (such as resistors and capacitors), reducing a circuit to a system of linear equations.

### Course Features

- Lectures 11
- Quizzes 1
- Students 458
- Assessments Yes

- Lectures by Dennis Freeman
- Lecture 1: Object-Oriented Programming
- Quiz 1
- Lecture 2: Primitives, Combination, Abstraction, and Patterns
- Lecture 3: Signals and Systems
- Lecture 5: Characterizing System Performance
- Lecture 6: Designing Control Systems
- Lecture 7: Circuits
- Lecture 8: Op-Amps
- Lecture 9: Circuit Abstractions
- Lecture 10: Discrete Probability and State Estimation
- Lecture 12: Search Algorithms
- Lecture 13: Optimizing a Search