Lecture 1: Introduction to CS and Programming Using Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 421

  • @mitocw
    @mitocw  7 หลายเดือนก่อน +157

    MIT 6.100L Introduction to CS and Programming using Python, Fall 2022
    Instructor: Ana Bell
    View the complete course: ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/
    TH-cam Playlist: th-cam.com/play/PLUl4u3cNGP62A-ynp6v6-LGBCzeH3VAQB.html
    An introduction to what computation is, python basics, mathematical operations, and python variables and types. We explore python objects and python programs.
    License: Creative Commons BY-NC-SA
    More information at ocw.mit.edu/terms
    More courses at ocw.mit.edu
    Support OCW at ow.ly/a1If50zVRlQ
    We encourage constructive comments and discussion on OCW’s TH-cam and other social media channels. Personal attacks, hate speech, trolling, and inappropriate comments are not allowed and may be removed. More details at ocw.mit.edu/comments.

    • @ouyangfeng6911
      @ouyangfeng6911 5 หลายเดือนก่อน +2

      MIT no gooodddd

    • @n4mlss
      @n4mlss 5 หลายเดือนก่อน

      Thanks for the videos, they're great. I'm wondering, is there any platform (like edx etc) where one can take this version of the course (not the one from 2016), with graded assignments and certificate of completion?

    • @aa-factory
      @aa-factory หลายเดือนก่อน

      How to download the slide of lecture

  • @vorsybl
    @vorsybl 7 หลายเดือนก่อน +167

    These courses released for free by MIT OCW have been invaluable to me. Thanks again. The content is nothing short of gold.

  • @Studentmaniac
    @Studentmaniac 7 หลายเดือนก่อน +3

    I watched half way now I will try to complete with the pace of MIT Schedules

  • @TheAnimeist
    @TheAnimeist 5 หลายเดือนก่อน +159

    This is a solid course. Being an experienced programmer I still watched the entire lecture. It's a strong base to start from.

    • @teschey37
      @teschey37 2 หลายเดือนก่อน +2

      I'm just starting in programming. do you think these lectures would be a good starting point?

    • @TheAnimeist
      @TheAnimeist 2 หลายเดือนก่อน

      @@teschey37 Most certainly.

    • @Readwriter01
      @Readwriter01 2 หลายเดือนก่อน

      After this base, what other bases would be recommended to follow?

    • @TheAnimeist
      @TheAnimeist 2 หลายเดือนก่อน +8

      @@Readwriter01 Keep practicing. Find something you want to create, like an app or project. Over time, you'll start learning how to solve problems with algorithms. Keep practicing. Good luck!

    • @RateOfChange
      @RateOfChange หลายเดือนก่อน

      ​@@Readwriter01explore Harvard videos on Computer science (CS50, CS50 with python and so on)

  • @terencewong8027
    @terencewong8027 หลายเดือนก่อน +8

    Dear Dr Bell, I am from Singapore. Never know about programming. After watching your 1st video, i am very keen to learn. Your explanation is super clear! Thank you

  • @tmo314
    @tmo314 6 หลายเดือนก่อน +137

    Chapters:
    00:00 - Intro
    05:05 - Data and Algorithms
    10:53 - Memory Storage
    15:15 - Language
    21:40 - Data Types
    31:00 - Expressions
    40:38 - Variables
    55:33 - Python Tutor
    1:01:40 - Summary

    • @zerokiryuu-ig7wm
      @zerokiryuu-ig7wm 4 หลายเดือนก่อน +6

      Thank you. Crazy how we can easily get high quality lecture from youtube

    • @SturdySaiyan
      @SturdySaiyan 3 หลายเดือนก่อน

      ​@@markinho424exactly but on TH-cam.

    • @fmfamily1607
      @fmfamily1607 หลายเดือนก่อน

      ❤thank you!

  • @Amingo21
    @Amingo21 6 หลายเดือนก่อน +69

    Computer science student from Africa taking this course is really helpful.

    • @santtu6930
      @santtu6930 3 หลายเดือนก่อน +2

      Amazinf

  • @sergemoktali7948
    @sergemoktali7948 7 หลายเดือนก่อน +137

    From Africa thanks a lot. There's no way we might have such a qualitative (and it's free, may God bless you) content from our universities out here. This might make a big difference ❤

    • @Dante-fk4yi
      @Dante-fk4yi 7 หลายเดือนก่อน +6

      Just get her book, it’s absolutely the same thing.

    • @KindamanKakinda
      @KindamanKakinda 6 หลายเดือนก่อน +1

      Hello bro can you please take me through how to install anaconda python un
      till i reach on code editor and shell/console

    • @sergemoktali7948
      @sergemoktali7948 6 หลายเดือนก่อน

      @@KindamanKakinda you mean the anaconda distribution for Machine learning?

    • @KindamanKakinda
      @KindamanKakinda 6 หลายเดือนก่อน

      @@sergemoktali7948 yes please

    • @obehiokojie4066
      @obehiokojie4066 5 หลายเดือนก่อน +5

      What Africa kids need is a device and access to the internet. Knowledge is easily accessible from anywhere in the world in this era. Thanks to her and MIT for making this content available to all.

  • @danielfox3399
    @danielfox3399 3 หลายเดือนก่อน +9

    39:26 - Python gives floats in divisions to ensure precise results, even with fractional values. For integer results, use floor division (//).

  • @valentineobinikpo5375
    @valentineobinikpo5375 5 หลายเดือนก่อน +7

    I love her lectures, I remember watching her teach OOP in Python like 5years ago for the time while learning and still on the journey. She actually set the foundation rolling..

  • @josephcote6120
    @josephcote6120 7 หลายเดือนก่อน +57

    I'm retired from a long career as a programmer and programming teacher. Learned and used a lot of languages along the way, but never happened to do Python. Enjoying this series to see what I might have been missing and how Python differs from what I already know.

    • @Cukito4
      @Cukito4 6 หลายเดือนก่อน +5

      It's like a heavily improved Basic and it's wonderful.

    • @HassaanAmin-hs1qs
      @HassaanAmin-hs1qs วันที่ผ่านมา

      teach me python

  • @oakleyorbit
    @oakleyorbit 6 หลายเดือนก่อน +9

    Already working as a SWE but coming back is really good for brushing up and sharpening your skills.

  • @pandaxpanther8128
    @pandaxpanther8128 6 หลายเดือนก่อน +9

    High School freshman here interested in a cs career, and this course so far seems amazing, fast paced but very helpful. Thank you very much for this free course.

  • @weixuanpks6050
    @weixuanpks6050 7 หลายเดือนก่อน +7

    best course ever. took this few years ago to learn python

  • @adwaeitdixit9032
    @adwaeitdixit9032 7 หลายเดือนก่อน +6

    Awesome, was looking for something just like this for brushing up knowledge before I begin my masters

  • @Javy_Chand
    @Javy_Chand 7 หลายเดือนก่อน +18

    I liked the older version of this class, its great it has been updated!
    It helped me a bit in my own intro to programming class, so definitely appreciated.

    • @TheFerfull
      @TheFerfull 16 วันที่ผ่านมา

      do you know where is the video..👍

  • @ARUNRAWAT-rh5ks
    @ARUNRAWAT-rh5ks 7 หลายเดือนก่อน +7

    Thank you, MIT OCW, for democratizing education and empowering learners worldwide.

  • @AlexG-ij9yn
    @AlexG-ij9yn 7 หลายเดือนก่อน +17

    Finally they update this course. ❤❤❤

  • @Nikhilsamadhiya0
    @Nikhilsamadhiya0 13 วันที่ผ่านมา

    Man, this is invaluable. I mean some universities don't even public their degree requirements and here mit giving all lectures and that's too on cs. We Love you MIT❤❤
    From India🇮🇳

  • @ShontasiaTheGOD
    @ShontasiaTheGOD 7 หลายเดือนก่อน +8

    Thank you MIT OCW for doing these classes! I love how Dr. Bell explains things so that even an absolute newcomer like myself can understand it! I'm forever grateful! 🙏🏾

  • @AskATony
    @AskATony 7 หลายเดือนก่อน +12

    Nice to see Dr. Bell is back!
    I saw an earlier version of this course like 8 years ago and it was very good!

  • @Dunkslams
    @Dunkslams หลายเดือนก่อน

    middle school senior here, can't say thank you enough for the free resources that I could use for my future careers

  • @AbdurRafay18
    @AbdurRafay18 5 วันที่ผ่านมา

    you can also swap the values of x and y in Python like this:
    x=1
    y=2
    x, y =y, x

  • @jellybean3078
    @jellybean3078 8 วันที่ผ่านมา

    I know most of y'all are starting from here it's gonna be 2025 but you're not late you're at the right time best of luck 🤞🏻

  • @parasharp28
    @parasharp28 13 วันที่ผ่านมา

    A huge and humble thanks to the MIT and to Madam Ana.

  • @Aryan37419
    @Aryan37419 7 หลายเดือนก่อน +9

    "Wow, this introduction to computer science and programming using Python is simply fantastic! I love how the video covers everything from the basics to more advanced concepts in such a clear and engaging way. Whether you're new to coding or looking to sharpen your skills, this series is a must-watch. Can't wait to see what else is in store - let's code our way to success together!"❤

    • @darrondavis5848
      @darrondavis5848 7 หลายเดือนก่อน +1

      I am struggling with the circumference question. Pi=3.14, radius 2.2*2 .My answer is 13.8. Mit answer is 15. Please assist...😢

    • @steve3586rgt
      @steve3586rgt 7 หลายเดือนก่อน

      @@darrondavis5848 The circumference is 13.8... like you calculated. When she mentions "15 something" she's actually referring to the _area_ of the circle, which is (2.2**2)*pi. I had to go back and replay that part several times before I realized she was referring to the area not the circumference. So to summarize: pi is 3.14159292 and circumference is pi*4.4=13.823008848 and area is pi*4.84=15.205309733.

    • @joesan7588
      @joesan7588 7 หลายเดือนก่อน

      @@darrondavis5848 operation is Pi*rad^2 = 3.14*2.2*2.2 = 15 and this as an integer number .

    • @joesan7588
      @joesan7588 7 หลายเดือนก่อน +1

      just adding in Phyton exponential operator is coded as doble star so; it should be written as 2.2**2

    • @positiveknowledge5612
      @positiveknowledge5612 2 หลายเดือนก่อน

      6:43 .How these problems have been solve ​@@joesan7588

  • @la_stellae
    @la_stellae 3 หลายเดือนก่อน

    Yoo as someone with zero programming language, this first video actually took me like 3hours to note take and simulate overall XD, I love it, thank you so much MIT and Dr. Ana Bell!

  • @surajshukla6813
    @surajshukla6813 7 หลายเดือนก่อน +3

    Wish we had teacher like her in our University

  • @dr_hopekariuki
    @dr_hopekariuki หลายเดือนก่อน +4

    Me trying to change careers at 29😮‍💨 thankyou for this

  • @Lamb666
    @Lamb666 7 หลายเดือนก่อน +6

    Quick skim through, definitely looks like a good refresher for an introductory course.

    • @vorsybl
      @vorsybl 7 หลายเดือนก่อน +3

      You can find these fundamentals at work in every system, even the most complex.

    • @fearmamba
      @fearmamba 6 หลายเดือนก่อน

      What do you mean by "Quick skim through"? i'm not a native speaker lol

    • @Petticca
      @Petticca 5 หลายเดือนก่อน +2

      @fearmamba
      To "skim through" something is to check, or look ahead at a few (usually) random sections of the thing, in this case a video, to better judge if it is likely to be something you will want to go through properly.

    • @fearmamba
      @fearmamba 5 หลายเดือนก่อน +1

      @@Petticca Oh, thanks bro, that makes totally sense.

  • @modnocslair5661
    @modnocslair5661 6 หลายเดือนก่อน +1

    Happy to watch this. As a Filipino, I can easily understand what you are saying.. Thank you!

  • @kareem_3atef
    @kareem_3atef 6 หลายเดือนก่อน +2

    I remember watching the last version of the course understanding nothing, now i know what Prof, Ana talking about

  • @zahrazulina5830
    @zahrazulina5830 2 หลายเดือนก่อน

    matur nuwun bu , kulo lumayan paham. Tasih adoh kale bidang kulo . biology . ngapunten sanget.

  • @banshee6969
    @banshee6969 5 หลายเดือนก่อน +1

    I will learn python in a week if the classes are of this quality. Thanks OCW

  • @YourAashique
    @YourAashique 7 หลายเดือนก่อน +156

    Watching this on 16th April 2024.

    • @theFirstJaiye
      @theFirstJaiye 7 หลายเดือนก่อน +1

      I'm here. 😂😂

    • @Be-h
      @Be-h 7 หลายเดือนก่อน

      Same

    • @belkisali6144
      @belkisali6144 7 หลายเดือนก่อน

      😅

    • @KA-uv8gq
      @KA-uv8gq 7 หลายเดือนก่อน

      👍

    • @Eah2019
      @Eah2019 7 หลายเดือนก่อน

      Same

  • @feliciatrebian4383
    @feliciatrebian4383 5 หลายเดือนก่อน +4

    Your communication skills are 2000% awesome! i love this!

  • @edwinquiros4918
    @edwinquiros4918 6 หลายเดือนก่อน

    Thank you thank you so so much for this content. You don't know how grateful I am and I don't doubt others here, of this content. I recently took it at Edx and it was very difficult, but with this video series, the course will be more complete. Thank you MIT & thanks profesor Ana Bell

  • @santtu6930
    @santtu6930 3 หลายเดือนก่อน

    I love that there are free lessons and courses online

  • @fmfamily1607
    @fmfamily1607 หลายเดือนก่อน

    Thanks MIT for offering this to people like me!

  • @rienwijnsma3410
    @rienwijnsma3410 6 หลายเดือนก่อน +3

    I have watched the video and enjoyed it. Thanks. Greetings from Amsterdam.

  • @Khanzada_Pathan007
    @Khanzada_Pathan007 7 หลายเดือนก่อน +1

    This course is more valuable than my entire CS degree ❤

  • @qudratullah1053
    @qudratullah1053 4 หลายเดือนก่อน

    I am loving it. Thanks a lot MIT and professor Dr. Ana Bell for such course❤

  • @voranartsirisubsoontorn
    @voranartsirisubsoontorn 6 หลายเดือนก่อน +3

    You are a good educator.

  • @attribute-4677
    @attribute-4677 2 หลายเดือนก่อน

    Really wish real programming languages were taught so new programmers fully understand and appreciate everything that goes on under the hood in case they have to debug legacy code.

  • @carvalhoribeiro
    @carvalhoribeiro 28 วันที่ผ่านมา +1

    Great lecture. Thanks for sharing this

  • @jensBendig
    @jensBendig 3 หลายเดือนก่อน

    When I taught coding, I raised the question of how the computers actually process code into the middle of the course. But maybe it's better put to the beginning, like seen here. However: A well done lecture, imho.

    • @schmetterling4477
      @schmetterling4477 2 หลายเดือนก่อน

      One should introduce the basic concept before one introduces a language.

  • @chandrasekars8904
    @chandrasekars8904 7 หลายเดือนก่อน

    This is really an excellent channel on Python like "techie talkee"

  • @vrclckd-zz3pv
    @vrclckd-zz3pv 7 หลายเดือนก่อน +7

    Funny that the Turing diagram is from an unknown source. "We can't legally give you permission to use this because we don't know where we stole it from".

  • @icetea2517
    @icetea2517 7 หลายเดือนก่อน +13

    New mit video, don’t mind if I do!

  • @juanmacias5922
    @juanmacias5922 7 หลายเดือนก่อน +1

    1:00:00 x, y = y, x

  • @cromoa76
    @cromoa76 หลายเดือนก่อน

    Thank you professor Anna and MIT!

  • @COLATO_com_br
    @COLATO_com_br 6 หลายเดือนก่อน +1

    well done !
    Powerful language !
    Thank you, Ana Bell

  • @OmkarChendge
    @OmkarChendge 5 หลายเดือนก่อน

    Quality of teaching is next level 🙏

  • @Mohit.Dhanani
    @Mohit.Dhanani 3 หลายเดือนก่อน

    my favourite mit course

  • @CustAndCode
    @CustAndCode 6 หลายเดือนก่อน +1

    Wow very valuable content! Thanks for that! 🤩

  • @joseantoniojose7933
    @joseantoniojose7933 3 หลายเดือนก่อน

    Yes, was a good and educative class for all things were explained here. Was so helpful, thanks so much

  • @AlemuDessie-u9d
    @AlemuDessie-u9d 10 วันที่ผ่านมา

    I have no words just thank you

  • @INSANEDisciple-p8j
    @INSANEDisciple-p8j 6 หลายเดือนก่อน +1

    Technology is great upgrades often too engineering is what I was looking to find a different way to work on a computerized world where we all need these skills

    • @INSANEDisciple-p8j
      @INSANEDisciple-p8j 6 หลายเดือนก่อน +1

      It's Sunday and technology is working great. 3.5

  • @HerrHafiz
    @HerrHafiz 2 หลายเดือนก่อน

    keep it coming please.. all from MIT if possible

  • @TheDoc-Worker
    @TheDoc-Worker 6 หลายเดือนก่อน +2

    HEY, IF YOU DON'T HAVE THE TEXTBOOK (OR JUST DON'T WANT TO READ ALONE), I'M DOING ALL THE ASSIGNED READING FOR THIS COURSE ON A PLAYLIST OF VIDEOS ON MY CHANNEL
    I hope that's allowed, I mean I'm never in a million years going to make money off of that.
    The text is on the screen as I read, you can absorb all the course material without ever leaving TH-cam lol

  • @Jndstudioslike
    @Jndstudioslike 6 หลายเดือนก่อน

    Anna have a full course now! Gut gemacht

  • @Rinndery
    @Rinndery 2 หลายเดือนก่อน

    Nice content wish I had more time to look at all those lessons. And there is my uni that is no one near the mit qualification that is super scared to make their lessons or presence digital or able people recording them during covid.

  • @sufiinvesting
    @sufiinvesting 2 หลายเดือนก่อน +3

    "After completing Harvard University's CS50 course, my next step is to take this course from MIT."

  • @jasonluong3862
    @jasonluong3862 7 หลายเดือนก่อน +15

    Naming your kid Ana with a last name of Bell ensures that kid having to clarify her name for the rest of her life.

    • @MMABeijing
      @MMABeijing 6 หลายเดือนก่อน +5

      She has a brother, Ringo.

    • @ttt69420
      @ttt69420 3 หลายเดือนก่อน

      I have news for you..

  • @waqasriaz4163
    @waqasriaz4163 5 หลายเดือนก่อน

    MIT is best for a reason.

  • @Engsfscrypto
    @Engsfscrypto 3 หลายเดือนก่อน

    thanks very much your help to us or me , i will hope to do more and we will more aids about your education, i cant appreciate only thanks for you ,today i would like to be your student that they are sitting in front of you but not possible i live in Africa and i study TH-cam .i have bought in internet lecture about python that it run 100 days ,unfortunately i cant understand still now i'm watching only 2 days your lecture so that i understand it very fest .that is mazing to me

  • @steveowenIOW
    @steveowenIOW 2 หลายเดือนก่อน

    No need for a temp variable:
    x = 1
    y = 2
    x = x + y
    y = x - y
    x = x - y

  • @flickmew99
    @flickmew99 7 หลายเดือนก่อน +1

    Dr. Bell is back

  • @ecaltroyer
    @ecaltroyer 6 หลายเดือนก่อน

    People in Africa who desire to acquire or develop their coding skills and enthusiasm for computers and electronics here is a one time shot
    I am one 👨🏾‍💻.

  • @afriend8961
    @afriend8961 6 หลายเดือนก่อน +1

    I'm here to freshen up some knowledge. =).

  • @anthonyrhopkins
    @anthonyrhopkins 13 วันที่ผ่านมา

    00:00-00:16
    “Introduction to the Course”
    The lecture begins with a welcome message from Ana Bell, who introduces herself and the course, 6.100L. She mentions her experience in the EECS Department and expresses enthusiasm for teaching the full semester version of the subject.
    00:16-00:39
    “Course Overview”
    Ana Bell outlines the course structure, which includes both administrative details and content focused on computer functionality and Python programming. She emphasizes the hands-on nature of the course by encouraging students to code along during the session.
    00:39-01:58
    “Interactive Learning Approach”
    The instructor explains the importance of participation and practice in learning programming. She introduces the "you try it" breaks, where students can practice coding skills in real-time, and reassures them that they will collaborate on unfinished programs together as a class.
    01:58-03:06
    “Key Learning Objectives”
    Ana highlights the main outcomes of the course, which include gaining programming skills, understanding computer science concepts, and developing problem-solving abilities. She encourages students to bridge the gap between understanding a problem and applying computer science concepts through programming.
    03:06-04:51
    “Concepts and Topics Covered”
    The focus is on computational thinking, where students learn to approach problems with a computational mindset rather than a purely mathematical one. The course will guide students in learning Python, organizing code, and exploring basic algorithms while considering algorithmic complexity towards the end.
    04:51-06:09
    “Declarative vs. Imperative Knowledge”
    The lecture transitions to discussing types of knowledge in computer science, contrasting declarative and imperative knowledge. Ana explains that programming involves creating instructions or "recipes," emphasizing that computers require clear, actionable steps to perform tasks.
    06:09-07:55
    “Example of Finding Square Roots”
    Ana presents a practical example by demonstrating how to compute the square root of a number using an iterative method. She details the steps involved in refining guesses until arriving at an acceptable approximation, showcasing how programming can translate mathematical concepts into computational processes.
    07:55-08:32
    “Understanding Algorithms”
    Ana introduces the concept of algorithms, describing them as structured sequences of steps that direct the flow of control in problem-solving processes. She emphasizes the importance of having clear stopping points in algorithms to prevent them from running indefinitely, demonstrating this with her previous example regarding the square root approximation.
    08:32-09:06
    “Recipes as Algorithms”
    Drawing a parallel between algorithms and cooking, Ana explains how recipes function similarly by providing a sequence of steps to achieve an end result. She uses the example of baking a cake, discussing various decision points within a recipe that guide the user, and highlighting how both rely on clear instructions to lead to the successful completion of a task.
    09:06-09:54
    “Nature of Computers”
    Ana discusses the fundamental nature of computers, characterizing them as tools that execute algorithms without independent thought or decision-making capability. She points out their strengths, such as rapid data processing and extensive data storage, but reiterates that they strictly follow the instructions provided by the programmer.
    09:54-10:12
    “Key Takeaway on Programming”
    Ana stresses a vital takeaway for students: computers will only perform tasks they are explicitly instructed to do. She accentuates the importance of understanding this concept in the context of programming, ensuring that students grasp the necessity of detailing every step in their coding projects.
    10:12-11:36
    “Historical Context of Programming”
    Transitioning to a brief history of programming, Ana contrasts fixed-program computers before the 1940s with stored-program computers that emerged afterward. She explains how earlier devices required manual input of operations each time, whereas later computers could store instructions, enabling them to execute sequences of tasks automatically through a program interpreter.
    11:36-12:03
    “Low-Level Computer Operations”
    Ana provides a simple overview of how computers operate at a low level, discussing key components such as memory storage, the arithmetic logic unit responsible for performing mathematical operations, and the control unit which manages the execution of instructions. This foundational knowledge serves as an introduction to understanding how Python and higher-level programming languages interact with hardware.
    12:03-12:59
    “Executing a Simple Program”
    Ana illustrates the execution of a simple program, describing how the interpreter processes instructions using memory locations. She explains how the arithmetic logic unit (ALU) adds values stored in specific memory locations, such as adding 3 and 4, and stores the result in another memory location-a process she emphasizes as tedious yet fundamental to understanding programming.
    12:59-14:04
    “Deep Dive into Comparisons and Outputs”
    Continuing from the previous example, Ana details subsequent instructions that compare values in memory and print results. She describes how the ALU checks for equivalence between two numbers, showing the flow of control through addition, comparison, and final output, reinforcing the importance of every step in understanding programming processes.
    14:04-15:02
    “The Turing Machine Concept”
    Ana references Alan Turing’s concept of the Turing machine, explaining how it demonstrates that any computable function can be created using a minimal set of primitive operations. She emphasizes the significance of this principle: any programming language can be broken down to these basic operations, thereby allowing for the construction of equivalent programs across different languages.
    15:02-15:28
    “Introduction to Python and its Primitives”
    Shifting focus to practical programming, Ana outlines the advantages of Python's higher-level primitives compared to Turing's basic operations. She conveys that Python allows for more accessible, efficient coding, encouraging students to engage with the language's features, which will be more straightforward than coding in lower-level languages.
    15:28-16:12
    “Primitives in Language Comparison”
    Ana draws an analogy between programming languages and natural languages, explaining that just as English has words, Python has numbers, characters, and operators. This comparison sets the stage for understanding how these basic units form more complex constructs in a programming language, similar to how words create sentences in English.
    16:12-17:08
    “Building Syntactically Valid Expressions”
    Using examples from both English and Python, Ana illustrates the importance of syntax in programming. She explains that just as certain combinations of words can be syntactically valid while lacking meaning, so can programming expressions. This highlights the necessity of correct syntax and meaningful combinations of elements within a programming context.
    17:08-18:14
    “Static Semantics and Meaning in Programming”
    Ana elaborates on the concept of static semantics, contrasting it with syntax. She explains that while some expressions may be syntactically correct, if they fail to convey meaning or produce valid outcomes (as seen in her example with operators), they result in errors. This understanding is critical for students as they learn to write code that is both syntactically correct and semantically meaningful in Python.
    18:14-19:10
    “Differences in Meaning: Programming vs. English”
    Ana discusses the fundamental differences in semantics between English and programming languages. While English phrases can possess multiple meanings and interpretations, programming languages enforce strict definitions, where instructions are executed precisely as written without ambiguity. She emphasizes that each program has a single, clear meaning, but this can lead to misunderstandings if the programmer's intent does not align with the actual functionality of the code.
    19:10-20:08
    “Understanding Semantic Errors”
    The instructor highlights various types of errors programmers might encounter, distinguishing between syntactic errors and more complex semantic errors. While more straightforward errors like spelling are typically easy to identify and correct, semantic issues can be elusive, leading to frustration when the code behaves unexpectedly or produces incorrect results. Ana prepares students for future discussions on semantic errors and how they can affect programming outcomes.
    20:08-20:57
    “Programming Environments: Shell vs. Code Editor”
    Ana introduces the practical aspect of programming by explaining the environments in which students will work. For the day, they will use the shell for immediate feedback and basic command executions, with a transition to a code editor in future sessions. She encourages students to install the programming environment and hints at the utility of the shell for quick checks and minor coding tasks, reinforcing its importance alongside a more comprehensive code editor.

    • @anthonyrhopkins
      @anthonyrhopkins 13 วันที่ผ่านมา

      20:57-21:53
      “Getting Started with Programming”
      She summarizes the core concept of programming as the creation and manipulation of objects. This foundational overview sets the stage for students to understand that programming essentially revolves around handling data and using commands to interact with those data entities, simplifying an otherwise complex process into a manageable framework. Ana positions this idea as a central theme throughout their learning experience.
      21:53-22:23
      “Understanding Object Types in Python”
      Ana begins to explain the significance of object types in Python, emphasizing that every object has a specific type that dictates the allowable operations on it. She provides simple examples, such as the integer 30, to clarify how its type allows for standard mathematical operations like addition and subtraction, setting the stage for deeper discussions on how type affects programming functionality.
      22:23-23:37
      “Comparing Integer Operations to String Operations”
      The instructor contrasts integer operations with those applicable to strings, using the sequence of characters “Ana” as an example. She clarifies that certain operations, such as division or exponentiation, are permissible for numbers but not for strings, thus underscoring the importance of knowing the type to avoid errors. This distinction illustrates the operational limitations unique to each type of object in Python.
      23:37-24:13
      “The Importance of Object Type in Programming”
      Ana emphasizes that the type of an object is crucial for defining which operations can be performed, highlighting Python’s reliance on type information to guide programming logic. She addresses scalar objects (like numbers and truth values) versus nonscalar objects (which have structural characteristics) and briefly introduces the concept of structure in programming.
      24:13-25:20
      “Types of Scalar Objects in Python”
      She enumerates the specific types of scalar objects in Python, including integers, floats, and booleans. Ana provides examples of each type, such as the representation of real numbers as floats and the valid Boolean values. This detailed list of types helps establish a foundational understanding for students as they begin to work with different data types in their code.
      25:20-26:09
      “Understanding NoneType and Type Identification”
      Ana introduces NoneType, explaining that it represents a singular special value, `None`. She explains the practical aspect of determining an object’s type in Python by using the `type` command. Ana illustrates this by demonstrating commands in the shell, showing how students can easily check the type of different values, exemplifying the interactive learning process they will engage in as they practice programming.
      26:09-27:04
      “Types and Their Possible Values”
      Ana reiterates the types of objects in Python-integer (int), float, boolean (bool), and NoneType-emphasizing that while ints and floats can take on an infinite number of values (both positive and negative), bools are limited to just two values (True and False), and NoneType has only one value (None). This clarification helps students understand the limitations and expectations of different object types as they start to create and manipulate them in their programming.
      27:04-27:43
      “Interactive Type Identification”
      Engaging the class in an interactive exercise, Ana prompts students to identify the types of various values, such as integers and floats. Students respond correctly, reinforcing their understanding of basic types in Python. Ana emphasizes the importance of capitalization in Python, pointing out that lowercase "true" generates a NameError, further illustrating how Python differentiates between special types and common identifiers.
      27:43-28:23
      “Error Handling in Python”
      Ana highlights the importance of understanding errors in Python, particularly the NameError encountered with lowercase "true." She explains that Python provides visual cues, such as color coding, to help identify special commands (like True and False) versus typical text. This explicit distinction helps students grasp foundational debugging concepts as they learn to work with Python’s syntax.
      28:23-29:10
      “Casting Objects to Different Types”
      Ana transitions into the topic of casting objects, clarifying that casting allows the creation of a new object of a different type rather than modifying the original. For example, casting the integer 3 to a float produces a new float object, 3.0, while the original integer remains unchanged. This introduces students to the concept of object immutability in Python and helps them understand how different numeric representations coexist in memory.
      29:10-29:55
      “Examples of Casting and Rounding”
      Demonstrating casting with practical examples, Ana showcases how to convert an integer to a float and vice versa. She notes that when converting a float to an integer (e.g., 5.9), Python truncates the decimal without rounding, emphasizing the distinction between truncation and rounding operations. She introduces the `round()` function, explaining that it performs rounding and results in an integer output, furthering students' understanding of how numerical data types interact in Python.
      29:55-30:41
      “Interactive Type Identification Exercises”
      Ana engages the class further with interactive exercises, asking students to determine the types of various expressions involving casting and rounding. Students successfully identify the types resulting from operations such as `float(123)` and `round(7.9)`, reinforcing their understanding of object types and how functions affect them. This exercise builds confidence and allows for immediate application of their newfound knowledge.
      30:41-31:21
      “Combining Objects into Expressions”
      Transitioning from identification to application, Ana explains how to combine objects into expressions using simple arithmetic as an example. She illustrates a valid expression, `3 + 2`, showcasing its syntactical correctness in Python and explaining that the expression evaluates to an integer. This highlights the practical use of expressions in programming, setting the stage for more complex operations later on.
      31:21-32:40
      “Expression Evaluation in Python”
      Ana elaborates on how Python evaluates expressions, emphasizing that Python stores the value of an evaluated expression rather than the expression itself. This conceptual distinction is crucial, as it underpins how calculations work within the code. She encourages students to use expressions directly in commands, promoting a more dynamic and less tedious coding process.
      32:40-33:10
      “Complex Expressions and Evaluation”
      Ana introduces the concept of complex expressions, explaining that they can include multiple operations and even parentheses. She reinforces the idea that regardless of the complexity, Python reduces any expression to a single value upon evaluation. This flexibility allows programmers to construct intricate calculations while maintaining clarity in code.
      33:10-33:36
      “Mathematical and Non-Mathematical Expressions”
      Ana points out that expressions aren't limited to arithmetic; they can also include non-mathematical elements. By demonstrating various examples, she illustrates how both mathematical and string operations can be evaluated in similar ways. This broadens the students' perspectives on what constitutes an expression in Python.
      33:36-34:00
      “Inserting Expressions in Commands”
      Continuing from the previous points, Ana discusses how expressions can be seamlessly integrated into commands, including the type command. She emphasizes that as long as the expression is evaluated, it can be used in various contexts within Python. This capability fosters an environment of flexibility and customization in coding practices, empowering students to explore beyond simple expressions.
      34:00-34:54
      “Clarification on Expression Components”
      In response to a student's question about operators in expressions, Ana clarifies the role of commands like `float` and `type`, explaining that they do not involve operators in the traditional sense but serve to generate outputs based on the provided input. This distinction helps students understand that while mathematical expressions require operators, other functions may simply return values without needing operators.
      34:54-35:42
      “Order of Operations in Python”
      Ana emphasizes that expressions follow a left-to-right evaluation order, akin to standard mathematical principles, with parentheses taking precedence. She encourages students to think critically about how computations are performed, reinforcing the idea that parentheses can alter the sequence of operations and emphasizing the need for careful attention when constructing expressions.
      35:42-36:10
      “Interactive Expression Evaluation”
      Continuing with her interactive teaching approach, Ana prompts students to evaluate a complex expression involving arithmetic. As they collaborate to determine the outcome of `13 - 4 / 12 * 12`, Ana guides them towards the answer while verifying that the result is a float. This hands-on method fosters student engagement and solidifies comprehension through practical application.
      36:10-36:37
      “Type Identification of Expressions”
      Ana guides the class through identifying types for various calculated expressions. Students successfully determine that `4 * 3` yields an integer while `4.0 * 3` results in a float. She explains how to identify and check types interactively, reinforcing the significance of understanding type outputs in programming.

    • @anthonyrhopkins
      @anthonyrhopkins 13 วันที่ผ่านมา

      36:37-37:01
      “Rules for Resulting Types in Operations”
      Announcing a shift in focus, Ana lays out essential rules regarding the types of results produced during mathematical operations. She explains that addition, subtraction, and multiplication produce integers if both operands are integers, but will yield floats if one or both are floats. This clarity equips students with foundational knowledge for anticipating output types based on inputs.
      37:01-37:41
      “Exploring Division and Floor Division”
      Ana further distinguishes division operations in Python by explaining that division will always result in a float, regardless of the operand types. She introduces floor division using `//`, which truncates decimal values and returns an integer result, as well as the modulo operator `%` to calculate the remainder of division. These operations enhance the students' toolkit for mathematical programming.
      37:41-38:30
      “Exponentiation and Its Rules”
      Continuing her exploration of operators, Ana covers exponentiation using the `**` operator to raise numbers to a power. She shares that the rules governing the output type follow similar patterns as addition and multiplication; if one operand is a float, the result is also a float. This knowledge is essential for students as they delve into more complex mathematical calculations in their programming work.
      38:30-39:20
      “Operator Precedence and Parentheses”
      Ana highlights the significance of operator precedence in Python, which dictates how expressions are evaluated. She ranks the precedence of various operations, placing exponentiation at the top, followed by multiplication, division, and modulus, with addition and subtraction at the bottom. She reassures students that parentheses can be used to dictate evaluation order, thereby enhancing clarity and control over expression outcomes.
      39:20-40:03
      “Understanding Float Results in Division”
      Responding to an audience question about why division always results in a float, Ana explains that consistent float results simplify the operation for Python, avoiding ambiguity. She provides context regarding historical changes in Python's handling of division, reassuring students regarding the language's design choices and encouraging them to explore and ask questions to deepen their understanding.
      40:03-40:42
      “Introduction to Object Manipulation in Programming”
      Ana transitions to discussing the functionality of objects in programming, emphasizing that while they possess various types-such as floats, integers, and booleans-they currently remain underutilized. She stresses the importance of writing programs that automate processes involving these objects, highlighting the goal of manipulating them to create complex and engaging code that enhances functionality and efficiency.
      40:42-41:29
      “The Importance of Variable Assignment”
      To facilitate effective programming, Ana introduces the concept of variable assignment, explaining that rather than repeatedly copying and pasting long values (e.g., the float representation of pi), programmers can assign a simple name or variable to that value. This practice streamlines code, minimizes errors, and fosters greater readability and maintainability. Variables serve as references to stored values, making programs cleaner and more manageable.
      41:29-42:06
      “Defining Variables in Programming”
      Ana differentiates between variables in mathematics and those in computer science, noting that programming variables operate under a different paradigm. Unlike mathematical variables, which can represent abstract relationships or declarative knowledge, computer science variables are tied to imperative knowledge, where specific values are assigned directly. This shift in understanding prepares students for the practical aspects of coding.
      42:06-42:35
      “The Concept of Assignment Statements”
      In her explanation of programming variables, Ana introduces the concept of assignment statements as a core principle of computer science. She underscores that programming is grounded in executing commands through assignments rather than abstract representations. This foundational shift highlights the practical mechanisms at play in programming, emphasizing the operational nature of coding where values are explicitly assigned to variables.
      42:35-43:09
      “Binding Values to Variables”
      Ana explains the process of binding values to variables in programming, emphasizing that each variable name serves as a reference to a specific value. She illustrates this concept with examples, such as assigning the expression `b + 1` to the variable `a`, and storing a float value of `10` in the variable `m`. This foundational understanding of variable assignment is crucial as it establishes how values are retrieved and utilized throughout a program.
      43:09-44:05
      “Dynamic Variable Assignments and Audience Interaction”
      Responding to a student’s question about variable reassignments, Ana clarifies that values associated with variables can change dynamically throughout a program’s execution. She indicates that if `m` is updated within a loop, any subsequent calculations involving `F` will reflect the latest value of `m`. This interactive dialogue illustrates the importance of understanding how variable assignments work in real time within code.
      44:05-44:42
      “The Assignment Operator in Python”
      Ana elaborates on the mechanics of Python assignment statements, stressing that the equal sign (`=`) functions as the assignment operator, not as a symbol of mathematical equality. She clearly distinguishes between the two concepts, indicating that an assignment statement binds a variable to a specific value, creating a direct mapping that is vital for programming logic.
      44:42-45:18
      “Evaluating Right-Hand Side Expressions”
      Ana emphasizes the process of evaluating the right-hand side of an assignment statement, stating that Python first computes the expression before binding the resultant value to the variable name. She exemplifies this by demonstrating how the variable `pi` can be assigned the value `3.14159`, ensuring that retrieving `pi` in the program will consistently provide this bound value, which is crucial for reliable programming.
      45:18-46:11
      “Rules for Variable Names”
      Shifting focus to variable naming conventions, Ana tests the audience’s understanding by posing questions about valid and invalid variable assignments in Python. Through this interactive segment, she confirms the acceptable use of variable names (like `x = 6`) and clarifies syntax errors resulting from incorrect assignments, such as attempting `6 = x`. This evaluative approach reinforces the rules surrounding variable names as vital for avoiding common pitfalls in programming.
      46:11-47:03
      “String vs. Variable Names”
      Building on the previous discussion, Ana makes a critical distinction between variable names and strings, explaining that while variable names do not require quotation marks, strings are enclosed in quotes and represent sequences of characters. This understanding helps students navigate Python’s syntax correctly and enhances their ability to differentiate between variable types, vital for successful programming.
      47:03-48:00
      “The Importance of Meaningful Variable Names”
      Ana stresses the significance of choosing meaningful variable names for code readability, asserting that thoughtful naming aids both the original programmer and future readers. She encourages students to avoid vague single-letter names and to select descriptors that connect with the program’s purpose. This practice fosters better understanding and maintenance of code over time.
      48:00-48:54
      “Comments in Python Code”
      Concluding this segment, Ana introduces comments in Python, explaining that they are prefixed with a hash symbol and serve as a form of documentation. She emphasizes the value of comments for clarifying code functionality and intent, suggesting that they can enhance collaboration and comprehension for anyone reviewing the code in the future. This addendum is a vital aspect of professional coding practices.
      48:54-49:49
      “Commenting Strategies in Code”
      Ana continues her discussion on code readability by emphasizing the importance of commenting on larger sections of code rather than line-by-line annotations. She illustrates this with an example featuring four assignment statements that define variables such as `pi` and `radius`. Ana explains how variables reference their bound values in memory, evaluating expressions like the area and circumference while reinforcing the idea that meaningful comments can enhance understanding, particularly when they summarize chunks of code rather than simply repeating what the code does.
      49:49-50:31
      “Code Style and Readability”
      Transitioning to the concept of code style, Ana presents examples of poor and improved coding practices. She critiques a poorly written program that uses non-descriptive variable names and repetitive values, which makes it difficult for others to understand its purpose. In contrast, she demonstrates a better version that incorporates more descriptive variable names and concise comments that convey intent. This comparison highlights the necessity of good coding practices for both current and future readability.

    • @anthonyrhopkins
      @anthonyrhopkins 13 วันที่ผ่านมา

      50:31-51:26
      “Rebinding Variables”
      Ana introduces the concept of rebinding variables, explaining that a variable can be changed to reference a different value over time. She notes that while this may not seem particularly significant at this point, it will become crucial as students learn about control flow in programming. Ana emphasizes that rebinding involves losing the reference to the previous value and pointing to a new one, introducing a cloud animation to illustrate how variable names are linked to values in memory.
      51:26-52:02
      “Understanding Variable Assignments in Memory”
      Using a visual representation, Ana breaks down how assignments work in memory. She guides the audience through the binding process for variables like `pi` and `radius`, detailing how expressions are evaluated to derive results that are then bound to variable names like `area`. This explanation helps students visualize how Python handles variable assignments and the underpinning memory structure as they write code.
      52:02-53:05
      “Incrementing Variables in Python”
      Addressing a specific instance of variable reassignment, Ana examines the expression `radius = radius + 1`, noting that this operation does not follow traditional mathematical language but is perfectly valid in Python. She clarifies that Python evaluates the right-hand side first to determine the current value of `radius`, adds `1`, and reassigns the newly calculated value back to `radius`. This process emphasizes that unlike in math, where equations may involve equality, programming focuses on assignment operations.
      53:05-54:12
      “Effects of Variable Changes on Calculated Values”
      Ana further elaborates that while the variable `radius` can be reassigned, prior values still remain unchanged in memory unless explicitly redefined. She explains that variables can only point to one value at a time, which means the previously stored value of `2.2` is not accessible once `radius` is rebound to `3.2`. Moreover, she discusses how the area remains computed based on the original radius unless the area calculation is repeated, highlighting that Python executes instructions sequentially without inferring relationships between variables, an important concept in understanding variable scope and calculation in programming.
      54:12-54:41
      “Line-by-Line Variable Execution”
      Ana engages students in a practical exercise by posing questions about the values of the variables `meters` and `feet` after executing a series of assignment statements. She guides the class through the evaluation process, confirming that after the first line, `meters` is `100` and `feet` remains uninitialized. This interactive approach reinforces the idea that values change only with explicit assignments, enhancing understanding of sequential execution in programming.
      54:41-55:31
      “Using Python Tutor for Debugging”
      Introducing the Python Tutor website, Ana highlights its utility as a debugging tool that allows users to step through their code line by line, observing the changes in variable values. She demonstrates how the platform visually represents the execution flow using colored indicators for executed lines, which aids comprehension of how assignments function in memory. Ana encourages students to utilize this resource for upcoming exercises and quizzes, promoting a practical approach to learning.
      55:31-56:44
      “Example of Swapping Variable Values”
      Ana presents a problem for students to solve: swapping the values of variables `x` and `y` without direct reassignment. She initiates the discussion by outlining the initial assignments and demonstrating the issues that arise when attempting to simply assign `y` to `x`. Through this exploration, she emphasizes the pitfalls of variable reassignment without retaining original values, which fosters a deeper understanding of memory management.
      56:44-58:10
      “Implementing a Temporary Variable to Swap Values”
      In response to students' suggestions, Ana proposes the use of a temporary variable to facilitate the swap of `x` and `y`. As she walks through each step-storing `y` in a temporary variable before reassigning `x`-she clarifies how this method preserves the original values, explaining why each step is necessary to maintain data integrity. By illustrating a buggy code scenario first, she emphasizes the significance of careful variable management.
      58:10-59:19
      “Finalizing the Swap Logic”
      Ana reinforces the concept of using a temporary variable by summarizing the final values after swapping and walking the students through the corresponding code. She demonstrates each assignment clearly, elucidating how `temp` retains the original value of `y`, allowing for its assignment back to `x` without losing the original values. This structured approach provides students not only with knowledge of variable reassignment but also with a robust method for value manipulation in programming.
      59:19-1:00:23
      “Final Step in Value Swapping”
      Ana wraps up the explanation of swapping values by demonstrating the final assignment where `x` is set to the value of `temp`. After performing this operation, she confirms the successful swap, indicating that `x` now holds `2` while `y` holds `1`. She acknowledges that mistakes can happen during programming but reassures students that they can always start over by redefining variables, fostering a sense of resilience and adaptability in coding.
      1:00:23-1:01:20
      “Utilizing the Interactive Shell”
      Ana emphasizes the interactive nature of the Python shell, highlighting its value for quick experimentation and debugging. She encourages students to use the shell for testing snippets of code, checking data types, and experimenting with commands. This practical approach reinforces the idea that the shell serves as a safe environment for learning and troubleshooting, allowing students to explore programming concepts without the fear of making mistakes.
      1:01:20-1:03:18
      “Lecture Summary and Key Takeaways”
      As the lecture concludes, Ana summarizes the key points discussed, reiterating the importance of manipulating objects in Python. She explains that variables store values, allowing programmers to create legible code. Ana highlights the distinction between the equal sign in mathematics, which indicates equality, and its role in programming as an assignment operator that binds names to values. Furthermore, she confirms that Python executes code line by line, setting the stage for future lessons on decision-making in programming. This summary encapsulates the major takeaways from the lecture, reinforcing students’ understanding of foundational programming concepts.

  • @zahidnisar3857
    @zahidnisar3857 7 หลายเดือนก่อน

    Congratulations to you and the institution, very informative and nice lectures

  • @dabrutte
    @dabrutte 5 หลายเดือนก่อน +1

    Great lecturer !! What course is subsequent to this one?

  • @gabrielgomesmabiala6707
    @gabrielgomesmabiala6707 7 หลายเดือนก่อน +2

    People are always praising MIT so we must see some of the lecture live to really confirm that they are brilliant

  • @redbarn8481
    @redbarn8481 7 หลายเดือนก่อน +3

    Resume @33:33 :)

  • @dareabioye7177
    @dareabioye7177 3 หลายเดือนก่อน +2

    well delivered!

  • @somiyaMehjabeen
    @somiyaMehjabeen หลายเดือนก่อน +3

    20th October 2024
    From Bangladesh 🇧🇩

  • @xiao6826
    @xiao6826 6 หลายเดือนก่อน

    I watched the old course where there is also a professor talking about recursive function

  • @Boubaker_elbikam
    @Boubaker_elbikam 7 หลายเดือนก่อน +1

    Thank you Ana Bell

  • @reelworld6304
    @reelworld6304 5 หลายเดือนก่อน

    Thanks, the lecture was clear and easy to understand for beginners like me.

  • @blackmamba235
    @blackmamba235 2 หลายเดือนก่อน

    My first year at university (computer science ) Here instead of following my boring lesson

  • @zeronagendr
    @zeronagendr 7 หลายเดือนก่อน +1

    FROM India I haven't money to studying IN MIT so I'm learning form TH-cam THANKU FOR this lecture FOR FREE MIT

  • @MohammadrezaParsa-k7p
    @MohammadrezaParsa-k7p 7 หลายเดือนก่อน +2

    Thanks MIT 😊

  • @LaudvekkysGrooveLab
    @LaudvekkysGrooveLab 7 หลายเดือนก่อน +1

    This is wonderful

  • @tjbvillar
    @tjbvillar 9 วันที่ผ่านมา

    I am 52 and i am learning CS just now

  • @panofilossas6564
    @panofilossas6564 7 หลายเดือนก่อน

    She has a good heart.

  • @user-lt6hz7jh2p
    @user-lt6hz7jh2p 6 หลายเดือนก่อน

    What a time to be alive

  • @chandrasekars8904
    @chandrasekars8904 7 หลายเดือนก่อน +1

    This is a great channel on Python programming. There is one channel "techie talkee" which explains all important features and concepts in Python - Data Science very clearly with excellent examples. It will be very useful to watch.

  • @BINGUX_BEAT
    @BINGUX_BEAT 7 หลายเดือนก่อน +2

    CS STUDENT from Nigeria 🇳🇬🇳🇬🇳🇬🇳🇬

  • @abdelhakimabdelhakimhissen3448
    @abdelhakimabdelhakimhissen3448 4 หลายเดือนก่อน

    Thank u for giving us this apportinity

  • @ChrisL-z5h
    @ChrisL-z5h 5 หลายเดือนก่อน

    this course is more in depth than CS50P

  • @gunawanwibisono5084
    @gunawanwibisono5084 7 หลายเดือนก่อน

    Thanks.nice to meet you.

  • @CultureofSpeech
    @CultureofSpeech 7 หลายเดือนก่อน

    Bravo 🌞 Lit 💡 Impressive 😍 gratitude for your satisfactory Work 💪🚀

  • @gaze4178
    @gaze4178 7 หลายเดือนก่อน

    Loving this ..when I make it... Will come back t make a toast 🎉

  • @ranajit8353
    @ranajit8353 6 หลายเดือนก่อน

    Thank you MIT.🥰

  • @Heisenberg2097
    @Heisenberg2097 6 หลายเดือนก่อน

    In Germany computer science is named INFORMATIK. I think the german term is misleading. As it translate to information science. To me information science should be about the also for computers but also many other fields basic principle of IPO (Input, processing, output). Whereas computer science should be about the tools to process information with computers. I.e. data structures, algorithm and computers plus peripherals. Also I don't recommend to use PYTHON to teach computer science. I would recommend C and Assembly language to understand the very core of data processing. JMHO. Also it might be known that currently Python ranks as the most unefficient programming language based on a recent study. And as everybody should be aware also in regards to greener tech... EVERY SINGLE BIT COUNTS. AND EVERY WASTED CPU-CYCLE adds to the pollution.

  • @candylook50
    @candylook50 2 หลายเดือนก่อน

    5 star course

  • @OzanUlaşSıvacı2
    @OzanUlaşSıvacı2 หลายเดือนก่อน

    Thank you for video lessons.

  • @BeriBagci
    @BeriBagci 4 หลายเดือนก่อน

    The video is very good and I like it very much

  • @JacquesColy-s2v
    @JacquesColy-s2v 3 หลายเดือนก่อน

    Thanks for the course from senegal