Harvard CS50 course in Russian. All series



    Friends, we are pleased to announce that the translation of the entire Harvard CS50 course is completed.

    We wrote that in the course of the 24th series, however, the last two turned out to be the same lecture (one read at Harvard and the other at Yale), so the list of translated lectures is not 24, but 23. The

    list of lectures is under the cut.

    What do you learn by listening to this course:
    • Basics of computer science and programming;
    • Concepts of algorithms and algorithmic thinking. What tasks can be solved using programming and how?
    • Concepts of abstraction, data structure, encapsulation, memory management. Basics of computer security. Software development and web development;
    • Basics of programming language C and Scratch;
    • Basics of databases and SQL;
    • Web development: the basics of CSS, HTML, JavaScript and PHP;
    • Basics of preparing presentations of programming projects.


    The course is translated and voiced by our studio for JavaRush, and we want to thank them so much for their support!

    List of translated lectures:

    1st lecture: introductory, introduces general concepts of programming languages, as well as a team of teachers and a system of upcoming classes.



    Lecture 2: It is also introductory and introduces the general concepts of programming languages, continuing the theme of the first lecture.



    Lecture 3: introduces the concept and functions of compiling and tells how bugs appear in programs (starting with the very first “computer bug”), how to recognize them and how they can be caused.



    Lecture 4: introduces the types of data and cycles, some basic functions and the basic scheme of drawing up the program, and also demonstrates the limited capabilities of computers and historical examples of bugs that have not passed without a trace.



    Lecture 5: continuation about bugs, plus reveals the concept of the program structure, explains why functions are needed inside the code, what is the importance of the range of values, and introduces the function strlen. You will also learn from it how in CS50 they struggle with amateurs to write off, and learn how to save the computer's RAM in order to avoid segmentation errors.



    Lecture 6: Basics of cryptography, arrays and command line arguments.



    Lecture 7: introduces the basic methods of data sorting. David Maelen talks about bubble sorting, sorting by selection, insertion, and merging, and viewers test them in practice.



    Lecture 8: about data sorting by merging, as well as a brief excursion into the world of bitwise operations.



    Lecture 9: continued familiarity with the operator conditions - if, introducing the concept of recursion, as well as discussing the scandal of the Volkswagen concern and the problem of computer security. The lecturer examines the swap function in detail, demonstrates how to work with the program debugger, and reveals the structure and mechanics of the RAM.



    Lecture 10: on different methods of compiling lists, saving program information and using pointers and pointers.



    Lecture 11: the study of pointers, analysis of the structure of the functions of the library CS50, familiarity with memory leaks, the introduction of the concept of linked list and other data structures with a detailed demonstration.



    Lecture 12: about the features of the stack, the queue and the linked list. Analysis of possible problems associated with memory access. The structure of a binary tree, a prefix tree and work with file compression are also considered here.



    Lecture 13: data hashing, network protocols and how to protect yourself from suspicious strangers using encrypted connections.



    Lecture 14: Introduction to web programming and familiarity with HTML and CSS. For the first time in history, students of two educational institutions - Harvard and Yale - with the help of modern technologies are simultaneously trained on the course.



    Lecture 15: Introduction to the PHP programming language and HTML markup language.



    Lecture 16: continued consideration of the PHP language, now for developing web applications, as well as familiarity with databases and MySQL.



    Lecture 17: Continuation of acquaintance with SQL databases.



    Lecture 18: Introduction to JavaScrip t and Client-Side Programming.



    Lecture 19: continuing familiarity with the language of JavaScrip, and also demonstrates the use of computer technology in the field of archeology.



    Lecture 20: The topic of computer security is considered: the basics of personal security on the Internet, the principles of working with passwords are set out, the specificity of malicious software is explained. The lecture also addresses the issue of the inviolability of personal data in the modern digital era, including in a socio-political context.



    Lecture 21: Professor Caselelatti from Yale University talks about natural language processing systems. The lecture discusses speech recognition algorithms, reveals the concept of statistical models of speech recognition, hidden Markov models, question-answer system, semantic text processing, and also touches upon the creation of non-verbal communication systems.



    Lecture 22: Professor Caseleatti of Yale University demonstrates the use of artificial intelligence in games. The lecture deals with minimax and alpha-beta clipping algorithms, as well as the tic-tac-toe game of the robot.



    23rd lecture: the course is summarized, some topics are repeated in a playful way, there is easy communication.


    Also popular now: