(MIT Online Course) Introduction to Computer Science using Python (pdf)
Massachusetts Institute of Technology (MIT)
Introduction to Computer Science
Course Overview
We have many goals for this course. 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. To achieve this goal, we will study
electrical engineering
(EE) and computer science (CS) largely from the perspective of how to build
systems that
interact with, and attempt to control, an external environment. Such systems
include everything
from low-level controllers like heat regulators or cardiac pacemakers, to
medium-level systems
like automated navigation or virtual surgery, to high-level systems that provide
more natural
human-computer interfaces.
Our second goal is to show you that making mathematical models of real systems
can help in the
design and analysis of those systems; and to give you practice with the
difficult step of deciding
which aspects of the real world are important to the problem being solved and
how to model
them in ways that give insight into the problem.
We also hope to engage you more actively in the educational process. Most of the
work of this
course will not be like typical problems from the end of a chapter. You will
work individually
and in pairs to solve problems that are deeper and more open-ended. There will
not be a unique
right answer. Argument, explanation, and justification of approach will be more
important than
the answer. We hope to expose you to the ubiquity of trade-offs in engineering
design: it is rare
that an approach will be best in every dimension; some will excel in one way,
others in a different
way. Deciding how to make such trade-offs is a crucial part of engineering.
Another way in which we hope to engage you in the material is by having many of
you return
to the course as lab assistants in future semesters. Having a large number of
lab assistants in the
class means that students can be given more open-ended problems, and have people
around to
help them when they are stuck. Even more importantly, the lab assistants are
meant to question
the students as they go; to challenge their understanding and help them see and
evaluate a variety
of approaches. This process is of great intellectual value to student and lab
assistant alike.
Finally, of course, 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. This material
all has an internal
elegance and beauty, as well as crucial role in building modern EE and CS
systems.
Index :
| Sr. | Topic |
Page No. |
| 1 | Course Overview | 6-19 |
| 2 | Learning to Program in Python | 20-39 |
| 3 | Programs and Data | 45-113 |
| 4 | State Machines | 116-166 |
| 5 | Signals and Systems | 168-230 |
| 6 | Circuits | 232-239 |
| 7 | Probabilistic State Estimation | 270-293 |
| 8 | Long-term decision-making and search | 295-319 |
Website: http://mit.edu
Read More ..
Courtesy: mit.edu

Daily JOBS





