Object-Oriented Programming | Unit 1: Software Engineering | Introduction to Electrical Engineering and Computer Science I | Electrical Engineering and Computer Science | MIT OpenCourseWare Subscribe to the OCW Newsletter Help| Contact Us FIND COURSES Find courses by: Topic MIT Course Number Department Collections New Courses Most Visited Courses OCW Scholar Courses Audio/Video Lectures Online Textbooks Supplemental Resources OCW Highlights for High School MITx & Related OCW Courses MIT Open Learning Library Cross-Disciplinary Topic Lists Energy Entrepreneurship Environment Introductory Programming Life Sciences Transportation Translated Courses 繁體字 / Traditional Chinese Türkçe / Turkish (비디오)한국 / Korean For Educators Chalk Radio Podcast OCW Educator Portal Instructor Insights by Department Residential Digital Innovations OCW Highlights for High School Additional Resources Give Now Make a Donation Why Give? Our Supporters Other Ways to Contribute Become a Corporate Sponsor About About MIT OpenCourseWare Site Statistics OCW Stories Newsletter Chalk Radio Podcast Open Matters Blog Search Tips X Exclude words from your search Put - in front of a word you want to leave out. For example, jaguar speed -car Search for an exact match Put a word or phrase inside quotes. For example, "tallest building". Search for wildcards or unknown words Put a * in your word or phrase where you want to leave a placeholder. For example, "largest * in the world". Search within a range of numbers Put .. between two numbers. For example, camera $50..$100. Combine searches Put "OR" between each search query. For example, marathon OR race. Home » Courses » Electrical Engineering and Computer Science » Introduction to Electrical Engineering and Computer Science I » Unit 1: Software Engineering » Object-Oriented Programming Object-Oriented Programming Course Home Syllabus Instructor Insights Shifting to a Practice-Theory-Practice Approach Becoming More Cognizant of Students’ Learning Flipping the Classroom to Facilitate Active Learning Online Tutoring Environment Formative Assessment during Design Labs Reflecting on Assessment Co-Teaching the Course Software and Tools Python Tutorial Types, Values, Expressions; Variables and Binding Functions and Scope Using if, else, and while Quadratic Roots Loops and List Comprehensions Arrays as Lists of Lists Association Lists Unit 1: Software Engineering Object-Oriented Programming State Machines Unit 2: Signals and Systems Signals and Systems LTI Signals and Systems Characterizing System Performance Designing Control Systems Midterm Exam 1 Unit 3: Circuits Circuits Op-Amps Circuit Abstractions Midterm Exam 2 Unit 4: Probability and Planning Discrete Probability State Estimation Search Algorithms Optimizing a Search Final Exam Resource Index Download Course Materials « Previous | Next » Session Overview In this session, we introduce you to some of the core concepts of 6.01. We will also focus on programming, in particular the object-oriented programming paradigm in Python. Topics include primitives, expressions, assignments, functions, environments, OOP, and inheritance. The overview handout provides a more detailed introduction, including the big ideas of the session, key vocabulary, what you should understand (theory) and be able to do (practice) after completing this session, and additional resources. Session 1 Handout: Object-Oriented Programming (PDF) Session Content Readings Read chapters 1-3 of the course notes. Chapter 1: Course Overview (PDF) Chapter 2: Learning to Program in Python (PDF) Chapter 3: Programs and Data (PDF - 1.6MB) Lecture Video Watch the lecture video. The handout and slides present the same material, but the slides include answers to the in-class questions. Flash and JavaScript are required for this feature. Lecture 1: Object-Oriented Programming (01:17:35) Flash and JavaScript are required for this feature. Lecture 1: Object-Oriented Programming > Download from iTunes U (MP4 - 174MB) > Download from Internet Archive (MP4 - 174MB) > Download English-US transcript (PDF) > Download English-US caption (SRT) About this Video Introduction to the four modules of 6.01 (software engineering, signals and systems, circuits, probability and planning). The lecture then introduces object-oriented programming in Python, and ends with a discussion of environments. Lecture handout (PDF) Lecture slides (PDF) Recitation Video These videos have been developed for OCW Scholar, and are designed to supplement the lecture videos. Flash and JavaScript are required for this feature. Recitation 1: Object-Oriented Programming (00:11:22) Flash and JavaScript are required for this feature. Recitation 1: Object-Oriented Programming > Download from iTunes U (MP4 - 25MB) > Download from Internet Archive (MP4 - 25MB) > Download English-US transcript (PDF) > Download English-US caption (SRT) Flash and JavaScript are required for this feature. Recitation 2: Inheritance (00:13:26) Flash and JavaScript are required for this feature. Recitation 2: Inheritance > Download from iTunes U (MP4 - 29MB) > Download from Internet Archive (MP4 - 29MB) > Download English-US transcript (PDF) > Download English-US caption (SRT) Session Activities The problems in the tables below are taken from the 6.01 Online Tutor, an interactive environment that is not available on OCW. Do not try to answer these questions in the PDF files; answers will not be checked, and cannot be submitted. Design Lab Design Lab 1: Object-Oriented Programming (PDF) Code for Design Lab 1 (ZIP) (This ZIP contains: 1 .py file.) Problem and question files. PROBLEM # QUESTIONS 1.3.1 Fibonacci numbers (PDF) 1.3.2 Simple OOPs (PDF) 1.3.3 Transcript (PDF) 1.3.4 2D vector arithmetic (PDF) 1.3.5 Polynomial representations (PDF) 1.3.6 Polynomial class (PDF) Additional Exercises Problem and question files. PROBLEM # QUESTIONS 1.4.1 Structured assignments (PDF) 1.4.2 Nested and shared structure (PDF) 1.4.3 List comprehensions (PDF) 1.4.4 OOPs (PDF) 1.4.5 OOPs (PDF) 1.4.6 OOPs (PDF) 1.4.7 Palindrome [optional] (PDF) 1.4.8 Substring [optional] (PDF) 1.4.9 Extract tags [optional] (PDF) 1.4.10 Fruit class [optional] (PDF) 1.4.11 Warehouse [optional] (PDF) Check Yourself Nano-Quiz Nano-quiz problems and solutions are taken from a previous version of the 6.01 Online Tutor. Do not try to answer these questions in the PDF files; answers will not be checked, and cannot be submitted. Quiz Problem (PDF) Quiz Solution (PDF) « Previous | Next » Need help getting started? Don't show me this again Don't show me this again Welcome! This is one of over 2,400 courses on OCW. Explore materials for this course in the pages linked along the left. MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum. No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates. Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW. Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.) Learn more at Get Started with MIT OpenCourseWare Find Courses Find by Topic Find by Course Number Find by Department New Courses Most Visited Courses OCW Scholar Courses Audio/Video Courses Online Textbooks Instructor Insights Supplemental Resources MITx & Related OCW Courses MIT Open Learning Library Translated Courses For Educators Chalk Radio Podcast OCW Educator Portal Instructor Insights by Department Residential Digital Innovations OCW Highlights for High School Additional Resources Give Now Make a Donation Why Give? Our Supporters Other Ways to Contribute Become a Corporate Sponsor About About OpenCourseWare Site Statistics OCW Stories Newsletter Open Matters Blog Tools Help & FAQs Contact Us Accessibility Site Map Privacy & Terms of Use RSS Feeds Our Corporate Supporters About MIT OpenCourseWare MIT OpenCourseWare is an online publication of materials from over 2,500 MIT courses, freely sharing knowledge with learners and educators around the world. Learn more » © 2001–2018 Massachusetts Institute of Technology Your use of the MIT OpenCourseWare site and materials is subject to our Creative Commons License and other terms of use.