The following courses have been selected to help you explore Computers and Electronics at MIT.
Description:This course is designed to be an aggressively gentle introduction to programming, and the main focus of the subject will be acquiring programming experience: Instruction in programming fundamentals coupled with lots of practice problems. Programming in the course is done using the MIT Scheme programming language, and the course includes lecture notes, assignments, and a wealth of related tools and resources.
Description: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. Included in the course is an online textbook, lecture notes, assignments, projects, and an online tutoring system complete with audio lectures.
Description:6.002 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. Included are a complete set of video lectures, lecture notes, and descriptions of the labs completed in the course.
Description:This course provides an introduction to the language, libraries, tools and concepts of Java™. Topics covered in the course 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. Included are lecture notes and other study materials, as well as descriptions and files for the labs and projects in the course, including a MadLibs generator and a simple instant messaging client.
Description:This course teaches fundamental software development and computational methods for engineering, scientific and managerial applications. Emphasis is focused on object-oriented software design and development. Assignments cover programming concepts, graphical user interfaces, numerical methods, data structures, sorting and searching, computer graphics and selected advanced topics. The Java™ programming language is used. Includes lecture notes, Java™ tutorials, assignments, and exams.
Description: This course introduces programming languages and techniques used by physical scientists: FORTRAN, C, C++, MATLAB, and Mathematica. Emphasis is placed on program design, algorithm development and verification, and comparative advantages and disadvantages of different languages.
Description:This course is designed to provide a practical - hands on - introduction to electronics with a focus on measurement and signals. The aim of the course is to provide students with the practical knowledge necessary to work in a modern science or engineering setting. Included are a full set of lecture notes and descriptions of the labs completed in the course.
Description:6.111 covers digital design topics such as digital logic, flipflops, PALs, CPLDs, FPGAs, counters, timing, synchronization, and finite-state machines. The semester begins with lectures and problem sets, to introduce fundamental topics before students embark on lab assignments and ultimately, a digital design project. The students design and implement a final digital project of their choice, in areas such as games, music, digital filters, wireless communications, and graphics. Features a collection of pictures, videos, presentations, and reports describing student projects.