I assume you remember what courses you took to get where you are now, right? Why not arrange that insulting set of random links into a cohesive plan? And why not link to the descriptions so that people have some idea what they are downloading before they download it?
Structure and Interpretation of Computer Programs This course
introduces students to the principles of computation. Upon completion
of 6.001, students should be able to explain and apply the basic
methods from programming languages to analyze computational systems,
and to generate computational solutions to abstract problems.
Substantial weekly programming assignments are an integral part of
the course. This course is worth 4 Engineering Design Points.
Circuits and Electronics 6.002 is designed to serve as a first course
in an undergraduate electrical engineering (EE), or electrical
engineering and computer science (EECS) curriculum. At MIT, 6.002
is in the core of department subjects required for all undergraduates
in EECS.The course introduces the fundamentals of the lumped circuit
abstraction. Topics covered include: resistive elements and networks;
independent and dependent sources; switches and MOS transistors;
digital abstraction; amplifiers; energy storage elements; dynamics
of first- and second-order networks; design in the time and frequency
domains; and analog and digital circuits and applications. Design
and lab exercises are also significant components of the course.
6.002 is worth 4 Engineering Design Points. The 6.002 content was
created collaboratively by Profs. Anant Agarwal and Jeffrey H.
Lang.The course uses the required textbook
Foundations of Analog
and Digital Electronic Circuits. Agarwal, Anant, and Jeffrey
H. Lang. San Mateo, CA: Morgan Kaufmann Publishers, Elsevier, July
2005. ISBN: 9781558607354.Recommended CitationFor any use or
distribution of these materials, please cite as follows:Anant
Agarwal and Jeffrey Lang, course materials for 6.002 Circuits and
Electronics, Spring 2007. MIT OpenCourseWare (
http://ocw.mit.edu/),
Massachusetts Institute of Technology. Downloaded on [DD Month
YYYY].
Signals and Systems This course covers fundamentals of signal
and system analysis, with applications drawn from filtering, audio
and image processing, communications, and automatic control. Topics
include convolution, Fourier series and transforms, sampling and
discrete-time processing of continuous-time signals, modulation,
Laplace and Z-transforms, and feedback systems.
Computation Structures 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. Before taking 6.004, students
should feel comfortable using computers; a rudimentary knowledge
of programming language concepts
(6.001)
and electrical fundamentals
(6.002)
is assumed.
Introduction to Communication, Control, and Signal Processing This course
is taken mainly by undergraduates, and explores ideas involving
signals, systems and probabilistic models in the context of
communication, control and signal processing applications. The
material expands out from the basics in
6.003
and
6.041.
The treatment involves aspects of analysis, synthesis, and
optimization. Topics covered differ somewhat from semester to
semester, but typically include: random processes, correlations,
spectral densities, state-space modeling, multirate processing,
signal estimation and detection.
Microelectronic Devices and Circuits 6.012 is the header course for
the department's "Devices, Circuits and Systems"
concentration. The topics covered include: modeling of microelectronic
devices, basic microelectronic circuit analysis and design, physical
electronics of semiconductor junction and MOS devices, relation of
electrical behavior to internal physical processes, development of
circuit models, and understanding the uses and limitations of
various models. The course uses incremental and large-signal
techniques to analyze and design bipolar and field effect transistor
circuits, with examples chosen from digital circuits, single-ended
and differential linear amplifiers, and other integrated circuits.
This course is 12 units and is worth 4 Engineering Design Points.
Microelectronic
Devices and Circuits 6.012 is the header course for
the department's "Devices, Circuits and Systems"
concentration. The topics covered include: modeling of microelectronic
devices, basic microelectronic circuit analysis and design, physical
electronics of semiconductor junction and MOS devices, relation of
electrical behavior to internal physical processes, development of
circuit models, and understanding the uses and limitations of
various models. The course uses incremental and large-signal
techniques to analyze and design bipolar and field effect transistor
circuits, with examples chosen from digital circuits, single-ended
and differential linear amplifiers, and other integrated circuits.
This course is worth 4 Engineering Design Points.
Electromagnetics and Applications This course explores electromagnetic
phenomena in modern applications, including wireless communications,
circuits, computer interconnects and peripherals, optical fiber
links and components, microwave communications and radar, antennas,
sensors, micro-electromechanical systems, motors, and power generation
and transmission. Fundamentals covered include: quasistatic and
dynamic solutions to Maxwell's equations; waves, radiation,
and diffraction; coupling to media and structures; guided and
unguided waves; resonance; and forces, power, and energy.
The
instructors of this course extend a general acknowledgment to the
many students and instructors who have made major contributions to
the 6.013 course materials over the years, and apologize for any
residual errors that may remain in these written materials.
Electromagnetics
and Applications This course explores electromagnetic
phenomena in modern applications, including wireless communications,
circuits, computer interconnects and peripherals, optical fiber
links and components, microwave communications and radar, antennas,
sensors, micro-electromechanical systems, motors, and power generation
and transmission. Fundamentals covered include: quasistatic and
dynamic solutions to Maxwell's equations; waves, radiation,
and diffraction; coupling to media and structures; guided and
unguided waves; resonance; and forces, power, and energy.
Quantitative Physiology: Cells and Tissues In this subject, we
consider two basic topics in cellular biophysics, posed here as
questions: Which molecules are transported across cellular membranes,
and what are the mechanisms of transport? How do cells maintain
their compositions, volume, and membrane potential?How are potentials
generated across the membranes of cells? What do these potentials
do?Although the questions posed are fundamentally biological
questions, the methods for answering these questions are inherently
multidisciplinary. As we will see throughout the course, the role
of mathematical models is to express concepts precisely enough that
precise conclusions can be drawn. In connection with all the topics
covered, we will consider both theory and experiment. For the
student, the educational value of examining the interplay between
theory and experiment transcends the value of the specific knowledge
gained in the subject matter.This course is jointly offered through
four departments, available to both undergraduates and graduates.
Computer System Engineering (SMA 5501) This course covers topics
on the engineering of computer software and hardware systems:
techniques for controlling complexity; strong modularity using
client-server design, virtual memory, and threads; networks;
atomicity and coordination of parallel activities; recovery and
reliability; privacy, security, and encryption; and impact of
computer systems on society. We will also look at case studies of
working systems and readings from the current literature provide
comparisons and contrasts, and do two design projects. Students
engage in extensive written communication exercises. Enrollment
may be limited. This course is worth 4 Engineering Design Points.
This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as
course number SMA 5501 (Computer System Engineering).
Artificial Intelligence This course introduces representations,
techniques, and architectures used to build applied systems and to
account for intelligence from a computational point of view. This
course also explores applications of rule chaining, heuristic
search, logic, constraint propagation, constrained search, and
other problem-solving paradigms. In addition, it covers applications
of decision trees, neural nets, SVMs and other learning paradigms.
Artificial Intelligence 6.034 is the header course for the
department's "Artificial Intelligence and Applications"
concentration. This course introduces students to the basic knowledge
representation, problem solving, and learning methods of artificial
intelligence. Upon completion of 6.034, students should be able
to: develop intelligent systems by assembling solutions to concrete
computational problems, understand the role of knowledge representation,
problem solving, and learning in intelligent-system engineering,
and appreciate the role of problem solving, vision, and language
in understanding human intelligence from a computational perspective.
Computer Language Engineering (SMA 5502) 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).
Probabilistic Systems Analysis and Applied Probability This course is
offered both to undergraduates (6.041) and graduates (6.431), but
the assignments differ. 6.041/6.431 introduces students to the
modeling, quantification, and analysis of uncertainty. Topics
covered include: formulation and solution in sample space, random
variables, transform techniques, simple random processes and their
probability distributions, Markov processes, limit theorems, and
elements of statistical inference.
Probabilistic Systems Analysis and Applied Probability This course is
offered both to undergraduates (6.041) and graduates (6.431), but
the assignments differ. 6.041/6.431 introduces students to the
modeling, quantification, and analysis of uncertainty. Topics
covered include: formulation and solution in sample space, random
variables, transform techniques, simple random processes and their
probability distributions, Markov processes, limit theorems, and
elements of statistical inference.
Mathematics for Computer Science This is an introductory course in
Discrete Mathematics oriented toward Computer Science and Engineering.
The course divides roughly into thirds: Fundamental Concepts of
Mathematics: Definitions, Proofs, Sets, Functions, RelationsDiscrete
Structures: Modular Arithmetic, Graphs, State Machines, CountingDiscrete
Probability Theory A version of this course from a previous term
was also taught as part of the Singapore-MIT Alliance (SMA) programme as
course number SMA 5512 (Mathematics for Computer Science).
Mathematics for Computer Science This course is offered to
undergraduates and is an elementary discrete mathematics course
oriented towards applications in computer science and engineering.
Topics covered include: formal logic notation, induction, sets and
relations, permutations and combinations, counting principles, and
discrete probability.
Mathematics for Computer Science (SMA 5512) This is an introductory
course in Discrete Mathematics oriented toward Computer Science
and Engineering. The course divides roughly into thirds: 1)
Fundamental concepts of Mathematics: definitions, proofs, sets,
functions, relations. 2) Discrete structures: modular arithmetic,
graphs, state machines, counting. 3) Discrete probability theory.
This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as
course number SMA 5512 (Mathematics for Computer Science).
Automata, Computability, and Complexity This course is offered to
undergraduates and introduces basic mathematical models of computation
and the finite representation of infinite objects. The course is
slower paced than 6.840J/18.404J. Topics covered include: finite
automata and regular languages, context-free languages, Turing
machines, partial recursive functions, Church's Thesis,
undecidability, reducibility and completeness, time complexity and
NP-completeness, probabilistic computation, and interactive proof
systems.
Source:
Code:
#!/usr/bin/perl
use strict;
use warnings;
require LWP::UserAgent;
use HTML::TreeBuilder;
use Data::Dumper;
our $ua = LWP::UserAgent->new();
$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.0; en-GB; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
our $prefix = "http://ocw.mit.edu";
our $coursewareurl="$prefix/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm";
our $response = $ua->get($coursewareurl);
die unless $response->{'_msg'} eq 'OK';
our $content = $response->decoded_content;
our @lines = split(/\n/, $content);
foreach my $line (@lines) {
if ($line =~ /(\/OcwWeb\/Electri.*?eHome\/index\.htm)\"\>\<u\>(.*?)\<\/u\>/) {
my $title = $2;
my $url = "$prefix$1";
my $tree = HTML::TreeBuilder->new_from_content(
$ua->get($url)->decoded_content);
my $foo = ($tree->find_by_attribute("id", "Description"))[0]->as_HTML;
$foo =~ s/\<\/?div(.*?)\>//g;
$foo =~ s/\<(\/?)em\>/\[$1i\]/g;
$foo =~ s/\<(\/?)b\>/\[$1b\]/g;
$foo =~ s/\<(\/?)i\>/\[$1i\]/g;
$foo =~ s/\<a href=(.*?)\>(.*?)\<\/a\>/\[url\=$1\]$2\[\/url\]/g;
$foo =~ s/\<\/?(.*?)\>//g;
print '[indent][url=' . $url . ']' . $title . "[/url]\t";
print $foo;
print "[/indent]\n";
sleep 1;
}
if ($line =~ /Graduate\ Courses/) {
last;
}
}