This course is based on the work of the MIT-African Internet Technology …
This course is based on the work of the MIT-African Internet Technology Initiative (MIT-AITI). MIT-AITI is an innovative approach by MIT students to integrate computers and internet technology into the education of students in African schools. The program focuses upon programming principles, cutting-edge internet technology, free open-source systems, and even an entrepreneurship seminar to introduce students in Africa to the power of information technology in today's world. MIT-AITI achieves this goal by sending MIT students to three African nations in order to teach both students and teachers through intensive classroom and lab sessions for six weeks. The AITI program is implemented with emphasis on classroom teaching, community-oriented projects, and independent learning. This course has two major components: Content from a spring 2005 preparatory seminar offered by the MIT-AITI leadership. The goal of this seminar is to adequately prepare the AITI student teachers for their upcoming summer experiences in Africa. A snapshot of the summer 2005 MIT-AITI program. This includes the Javaĺ¨-based curriculum that MIT-AITI ambassadors teach in Africa each year, as well as content from an entrepreneurship seminar offered concurrently with the IT class.
This course is designed in the tightly controlled space between (national) security …
This course is designed in the tightly controlled space between (national) security and (civil) liberty, student projects, guest presentations, readings and workshop discussions will attempt to develop positive answers to these questions. More specifically, the course will focus on the psychological, economical and political conditions of those who are marginalized and therefore deprived of parrhesia today: the silent victims and witnesses of any kind of social and cultural exclusions. "Parrhesia" was an Athenian right to frank and open speaking, the right that, like the First Amendment, demands a "fearless speaker" who must challenge political powers with criticism and unsolicited advice. Can designer and artist respond today to such a democratic call and demand? Is it possible to do so despite the (increasing) restrictions imposed on our liberties today? Can the designer or public artist operate as a proactive "parrhesiatic" agent and contribute to the protection, development and dissemination of "fearless speaking" in Public Space.
This course provides an introduction to mathematical modeling of computational problems. It …
This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.
This book introduces concepts in mobile, autonomous robotics to 3rd-4th year students …
This book introduces concepts in mobile, autonomous robotics to 3rd-4th year students in Computer Science or a related discipline. The book covers principles of robot motion, forward and inverse kinematics of robotic arms and simple wheeled platforms, perception, error propagation, localization and simultaneous localization and mapping. The cover picture shows a wind-up toy that is smart enough to not fall off a table just using intelligent mechanism design and illustrate the importance of the mechanism in designing intelligent, autonomous systems. This book is open source, open to contributions, and released under a creative common license.
Designed as a freshmen seminar course, faculty from various School of Engineering …
Designed as a freshmen seminar course, faculty from various School of Engineering departments describe the research and educational opportunities specific to and offered by their departments. Background lectures by the 20.010J staff introduce students to the fundamental scientific basis for bioengineering. Specially produced videos provide additional background information that is supplemented with readings from newspaper and magazine articles. Bioengineering at MIT is represented by the diverse curricula offered by most Departments in the School of Engineering. This course samples the wide variety of bioengineering options for students who plan to major in one of the undergraduate Engineering degree programs. The beginning lectures describe the science basis for bioengineering with particular emphasis on molecular cell biology and systems biology. Bioengineering faculty will then describe the bioengineering options in a particular engineering course as well as the type of research conducted by faculty in the department.
Explores the application of building technology to architecture through considerations of building …
Explores the application of building technology to architecture through considerations of building construction -- materials and methods -- and systems -- structure, enclosure, climate and utility services, light, acoustics, fire safety, and accessibility. Includes lectures, laboratory exercises, site visits, problem sets, and a semester-long student investigation of a precedent building. Required of Course IV majors.
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.
" Ever hang your head in shame after your Python program wasn't …
" Ever hang your head in shame after your Python program wasn't as fast as your friend's C program? Ever wish you could use objects without having to use Java? Join us for this fun introduction to C and C++! We will take you through a tour that will start with writing simple C programs, go deep into the caves of C memory manipulation, resurface with an introduction to using C++ classes, dive deeper into advanced C++ class use and the C++ Standard Template Libraries. We'll wrap up by teaching you some tricks of the trade that you may need for tech interviews. We see this as a "C/C++ empowerment" course: we want you to come away understanding why you would want to use C over another language (control over memory, probably for performance reasons), why you would want to use C++ rather than C (objects), and how to be useful in C and C++. 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 provides a fast-paced introduction to the C and C++ programming …
This course provides a fast-paced introduction to the C and C++ programming languages. You will learn the required background knowledge, including memory management, pointers, preprocessor macros, object-oriented programming, and how to find bugs when you inevitably use any of those incorrectly. There will be daily assignments and a small-scale individual project. 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.
Introduces students to the theory, tools, and techniques of engineering design and …
Introduces students to the theory, tools, and techniques of engineering design and creative problem-solving, as well as design issues and practices in civil engineering. Includes several design cases, with an emphasis on built facilities (e.g., buildings, bridges and roads). Project design explicitly concerns technical approaches as well as consideration of the existing built environment, natural environment, economic and social factors, and expected life span. A large design case is introduced which is used in the subsequent specialty area design subjects (1.031, 1.041, 1.051) and the capstone design subject (1.013).
In this sophomore design course, you will be challenged with three design …
In this sophomore design course, you will be challenged with three design tasks: a first concerning water resources/treatment, a second concerning structural design, and a third focusing on the conceptual (re)design of a large system, Boston's Back Bay. The first two tasks require the design, fabrication and testing of hardware. Several laboratory experiments will be carried out and lectures will be presented to introduce students to the conceptual and experimental basis for design in both domains.
This course examines signals, systems and inference as unifying themes in communication, …
This course examines signals, systems and inference as unifying themes in communication, control and signal processing. Topics include input-output and state-space models of linear systems driven by deterministic and random signals; time- and transform-domain representations in discrete and continuous time; group delay; state feedback and observers; probabilistic models; stochastic processes, correlation functions, power spectra, spectral factorization; least-mean square error estimation; Wiener filtering; hypothesis testing; detection; matched filters.
Introduction to Computer Graphics is a free, on-line textbook covering the fundamentals …
Introduction to Computer Graphics is a free, on-line textbook covering the fundamentals of computer graphics and computer graphics programming. This book is meant for use as a textbook in a one-semester course that would typically be taken by undergraduate computer science majors in their third or fourth year of college.
Welcome to the website for An Introduction to Computer Networks, a free …
Welcome to the website for An Introduction to Computer Networks, a free and open general-purpose computer-networking textbook, complete with diagrams and exercises. It covers the LAN, internetworking and transport layers, focusing primarily on TCP/IP. Particular attention is paid to congestion; other special topics include queuing, real-time traffic, network management, security and the ns simulator.
The book is suitable as the primary text for an undergraduate or introductory graduate course in computer networking, as a supplemental text for a wide variety of network-related courses, and as a reference work.
Dear student! You are starting to learn about computation and its purpose. …
Dear student! You are starting to learn about computation and its purpose. This course covers the same materials as an introductory class for undergraduate computer science majors. Its curriculum, which includes software, hardware and algorithms, resembles that of a one- or two-semester first-year college course or the high school Advanced Placement (AP) Computer Science. It does not require a formal computer science background.
This course will introduce students to the field of computer science and …
This course will introduce students to the field of computer science and the fundamentals of computer programming. No prior programming experience is required. Upon successful completion of this course, students will be able to: Demonstrate an understanding of the history of computing as well as fundamental hardware and software concepts; Demonstrate an understanding of the programming life cycle; Explain how the JVM translates Java code into executable code; Demonstrate an understanding of Object-Oriented Programming concepts; Demonstrate an understanding of basic Java concepts by writing simple programs; Demonstrate an understanding of logical and relational operators as well as control structures; Demonstrate proficiency in basic Java I/O techniques by writing small programs. (Computer Science 101; See also: Mathematics 302)
This course is a continuation of the first-semester course titled Introduction to …
This course is a continuation of the first-semester course titled Introduction to Computer Science I. It will introduce the student to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. The student will begin with a comparison between Java--the programming language utilized last semester--and C++, another popular, industry-standard programming language. The student will then discuss the fundamental building blocks of Object-Oriented Programming, reviewing what they have learned learned last semester and familiarizing themselves with some more advanced programming concepts. The remaining course units will be devoted to various advanced topics, including the Standard Template Library, Exceptions, Recursion, Searching and Sorting, and Template Classes. By the end of the class, the student will have a solid understanding of Java and C++ programming, as well as a familiarity with the major issues that programmers routinely address in a professional setting. Upon successful completion of this course, the student will be able to: Demonstrate an understanding of the concepts of Java and C++ and how they are used in Object-Oriented Programming; Demonstrate an understanding of the history and development of Object-Oriented Programming; Explain the importance of the C++ Standard Template Library and how basic components are used; Demonstrate a basic understanding of the importance of run-time analysis in programming; Demonstrate an understanding of important sorting and search routines in programming; Demonstrate an understanding of the generic usage of templates in programming for C++ and Java; Compare and contrast the features of Java and C++. (Computer Science 102; See also: Mathematics 303)
This subject is aimed at students with little or no programming experience. …
This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language.
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.
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.