Python is a fun and extremely easy-to-use programming language that has steadily …
Python is a fun and extremely easy-to-use programming language that has steadily gained in popularity over the last few years. Developed over ten years ago by Guido van Rossum, Python's simple syntax and overall feel is largely derived from ABC, a teaching language that was developed in the 1980's. However, Python was also created to solve real problems and it borrows a wide variety of features from programming languages such as C++, Java, Modula-3, and Scheme. Because of this, one of Python's most remarkable features is its broad appeal to professional software developers, scientists, researchers, artists, and educators. 278 page pdf file.
An introduction to the design and creation of relational databases. Topics include …
An introduction to the design and creation of relational databases. Topics include storing, retrieving, updating, and displaying data using Structured Query Language (SQL) and Procedure Language (PL).
Introduction to object-oriented programming. Emphasis on the fundamentals of structured design with …
Introduction to object-oriented programming. Emphasis on the fundamentals of structured design with classes, including development, testing, implementation, and documentation. Includes object-oriented programming techniques, classes, and objects.
The course is a comprehensive introduction to the theory, algorithms and applications …
The course is a comprehensive introduction to the theory, algorithms and applications of integer optimization and is organized in four parts: formulations and relaxations, algebra and geometry of integer optimization, algorithms for integer optimization, and extensions of integer optimization.
This is a fast-paced introductory course to the C++ programming language. It …
This is a fast-paced introductory course to the C++ programming language. It is intended for those with little programming background, though prior programming experience will make it easier, and those with previous experience will still learn C++-specific constructs and concepts. This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.
This course presents the fundamentals of object-oriented software design and development, computational …
This course presents the fundamentals of object-oriented software design and development, computational methods and sensing for engineering, and scientific and managerial applications. It cover topics, including design of classes, inheritance, graphical user interfaces, numerical methods, streams, threads, sensors, and data structures. Students use Java programming language to complete weekly software assignments. How is 1.00 different from other intro programming courses offered at MIT? 1.00 is a first course in programming. It assumes no prior experience, and it focuses on the use of computation to solve problems in engineering, science and management. The audience for 1.00 is non-computer science majors. 1.00 does not focus on writing compilers or parsers or computing tools where the computer is the system; it focuses on engineering problems where the computer is part of the system, or is used to model a physical or logical system. 1.00 teaches the Java programming language, and it focuses on the design and development of object-oriented software for technical problems. 1.00 is taught in an active learning style. Lecture segments alternating with laboratory exercises are used in every class to allow students to put concepts into practice immediately; this teaching style generates questions and feedback, and allows the teaching staff and students to interact when concepts are first introduced to ensure that core ideas are understood. Like many MIT classes, 1.00 has weekly assignments, which are programs based on actual engineering, science or management applications. The weekly assignments build on the class material from the previous week, and require students to put the concepts taught in the small in-class labs into a larger program that uses multiple elements of Java together.
This course aims to give students the tools and training to recognize …
This course aims to give students the tools and training to recognize convex optimization problems that arise in scientific and engineering applications, presenting the basic theory, and concentrating on modeling aspects and results that are useful in applications. Topics include convex sets, convex functions, optimization problems, least-squares, linear and quadratic programs, semidefinite programming, optimality conditions, and duality theory. Applications to signal processing, control, machine learning, finance, digital and analog circuit design, computational geometry, statistics, and mechanical engineering are presented. Students complete hands-on exercises using high-level numerical software. Acknowledgements The course materials were developed jointly by Prof. Stephen Boyd (Stanford), who was a visiting professor at MIT when this course was taught, and Prof. Lieven Vanderberghe (UCLA).
An introduction to several fundamental ideas in electrical engineering and computer science, …
An introduction to several fundamental ideas in electrical engineering and computer science, using digital communication systems as the vehicle. The three parts of the course - bits, signals, and packets - cover three corresponding layers of abstraction that form the basis of communication systems like the Internet. The course teaches ideas that are useful in other parts of EECS: abstraction, probabilistic analysis, superposition, time and frequency-domain representations, system design principles and trade-offs, and centralized and distributed algorithms. The course emphasizes connections between theoretical concepts and practice using programming tasks and some experiments with real-world communication channels.
This course is an introductory subject in the field of electric power …
This course is an introductory subject in the field of electric power systems and electrical to mechanical energy conversion. Electric power has become increasingly important as a way of transmitting and transforming energy in industrial, military and transportation uses. Electric power systems are also at the heart of alternative energy systems, including wind and solar electric, geothermal and small scale hydroelectric generation.
This course is an introduction to linear optimization and its extensions emphasizing …
This course is an introduction to linear optimization and its extensions emphasizing the underlying mathematical structures, geometrical ideas, algorithms and solutions of practical problems. The topics covered include: formulations, the geometry of linear optimization, duality theory, the simplex method, sensitivity analysis, robust optimization, large scale optimization network flows, solving problems with an exponential number of constraints and the ellipsoid method, interior point methods, semidefinite optimization, solving real world problems problems with computer software, discrete optimization formulations and algorithms.
This subject provides an introduction to modeling and simulation, covering continuum methods, …
This subject provides an introduction to modeling and simulation, covering continuum methods, atomistic and molecular simulation, and quantum mechanics. Hands-on training is provided in the fundamentals and applications of these methods to key engineering problems. The lectures provide exposure to areas of application based on the scientific exploitation of the power of computation. We use web based applets for simulations, thus extensive programming skills are not required.
This book is directed mainly towards beginning programmers, although it might also …
This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.
" This course is an introduction to software engineering, using the Java™ …
" This course is an introduction to software engineering, using the Java™ programming language. It covers concepts useful to 6.005. Students will learn the fundamentals of Java. The focus is on developing high quality, working software that solves real problems. The course is designed for students with some programming experience, but if you have none and are motivated you will do fine. Students who have taken 6.005 should not take this course. Each class is composed of one hour of lecture and one hour of assisted lab work. This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month."
This course focuses on introducing the language, libraries, tools and concepts of …
This course focuses on introducing the language, libraries, tools and concepts of Java®. The course is specifically targeted at students who intend to take 6.170 in the following term and feel they would struggle because they lack the necessary background. Topics include: Object-oriented programming, primitives, arrays, objects, inheritance, interfaces, polymorphism, hashing, data structures, collections, nested classes, floating point precision, defensive programming, and depth first search algorithm.
Development of programs containing a significant amount of knowledge about their application …
Development of programs containing a significant amount of knowledge about their application domain. Outline: brief review of relevant AI techniques; case studies from a number of application domains, chosen to illustrate principles of system development; discussion of technical issues encountered in building a system, including selection of knowledge representation, knowledge acquisition, etc.; and discussion of current and future research. Hands-on experience in building an expert system (term project).
This course is a core electrical engineering computer science subject at MIT. …
This course is a core electrical engineering computer science subject at MIT. It introduces concepts and techniques relevant to the production of large software systems. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include: modularity; specification; data abstraction; object modeling; design patterns; and testing. Several programming projects of varying size undertaken by students working individually and in groups.
Experimental investigations of speech processes. Topics: measurement of articulatory movements; measurements of …
Experimental investigations of speech processes. Topics: measurement of articulatory movements; measurements of pressures and airflows in speech production; computer-aided waveform analysis and spectral analysis of speech; synthesis of speech; perception and discrimination of speechlike sounds; speech prosody; models for speech recognition; speech disorders; and other topics. Recommended prerequisites: 6.002 or 18.03. Alternate years.
Deriving a symbolic description of the environment from an image. Understanding physics …
Deriving a symbolic description of the environment from an image. Understanding physics of image formation. Image analysis as an inversion problem. Binary image processing and filtering of images as preprocessing steps. Recovering shape, lightness, orientation, and motion. Using constraints to reduce the ambiguity. Photometric stereo and extended Gaussian sphere. Applications to robotics; intelligent interaction of machines with their environment. Machine Vision provides an intensive introduction to the process of generating a symbolic description of an environment from an image. Lectures describe the physics of image formation, motion vision, and recovering shapes from shading. Binary image processing and filtering are presented as preprocessing steps. Further topics include photogrammetry, object representation alignment, analog VLSI and computational vision. Applications to robotics and intelligent machine interaction are discussed.
This course covers elementary discrete mathematics for computer science and engineering. It …
This course covers elementary discrete mathematics for computer science and engineering. It emphasizes mathematical definitions and proofs as well as applicable methods. Topics include formal logic notation, proof methods; induction, well-ordering; sets, relations; elementary graph theory; integer congruences; asymptotic notation and growth of functions; permutations and combinations, counting principles; discrete probability. Further selected topics may also be covered, such as recursive definition and structural induction; state machines and invariants; recurrences; generating functions.
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.