Transcript for:
CS50’s Introduction to Programming with Python

so [Music] [Music] hello world my name is david malin and this is cs50's introduction to programming with python whereas cs50 itself is an introduction to the intellectual enterprises of computer science and the arts of programming this course is specifically focused on programming in python itself at the beginning of the course we focus on a topic in programming known as functions and variables mechanisms by which you can write code that solves smaller problems but you can compose those smaller solutions into solutions to larger problems still we'll then transition to a look at conditionals a way in code of expressing yourself logically to maybe do something if some question has an answer of true or not do something if the answer is false we'll transition thereafter to introducing you to loops the ability and code to do something again and again and again some number of times we'll then transition to something a little more technical known as exceptions unfortunately a lot can go wrong when you're writing code some of it your fault some of it perhaps someone else's fault but you can write code defensively so to speak and actually catch those kinds of exceptions those errors and handle them properly so that the users you're writing code for don't actually see the same thereafter we'll take a look at libraries third-party code written by other people often or perhaps yourself in the past that you can use and reuse in your own project so as to avoid reinventing the wheel again and again we'll look thereafter at something called unit tests and turns out you'll actually write code to test your own code but you won't have to write tests for your tests indeed this is a best practice in industry writing tests for your code so that one you can be sure that your code today is hopefully if your tests are correct correct itself but moreover if you or someone else modifies your code tomorrow or down the line you can rerun those same tests to ensure that those new changes have not broken anything about your own code we'll then take a look at something called file io io for input and output the ability to not just store information inside of a computer's memory but rather save it persistently to disk so to speak to files and folders we'll then take a look at another technique known as regular expressions whereby in python you can define patterns and you can validate data to make sure the human type something in as you expect you can use regular expressions to extract data perhaps from some dataset you're trying to analyze we'll then take a look ultimately at object-oriented programming a paradigm a way of writing code whereby you can represent encode real-world entities and this is in addition to other paradigms of programming that we'll also explore among them procedural programming where you write lots of those functions procedures really top to bottom to solve problems step by step and even something known as functional programming as well and then at the very end of the course will we equip you with all the more tools for your toolkit an additional building blocks additional vocabulary via which after the same course you can go off on your own and either take other courses or solve projects of your own using all of these mechanisms now this course itself assumes no prior programming background so you don't have to have written a single line of code in python or any language yet but this is also a course that you can take before during or even after cs50 itself if you'd like to get all the more versed with python each week via the course's lectures will we introduce you to any number of concepts that we'll then drill down more deeply into in the form of problem sets each week that is programming projects that will enable you to apply some of those lessons learned to problems of your very own and by the end of the course you'll solve to have solved so many problems that ideally are representative of problems you'll eventually encounter in the real world whether you aspire to solve code in the technical world or perhaps in the arts the humanities the social sciences the natural sciences or beyond you'll have ultimately the vocabulary and the technical skills via which to approach the same this then is cs50 and this is cs50's introduction to programming with python