We continue to publish lectures on the legendary Harvard CS50 course, which we translate and voice specifically for JavaRush. And we are pleased to present the 20th series (recall that there are 24 of them in the course).
This series of the cycle covers the topic of computer security: outlines the basics of personal security on the Internet, the principles of working with passwords, explains the specifics of malicious software. The lecture also addresses the issue of the inviolability of personal data in the modern digital era, including in a socio-political context. ')
The list of lectures translated to date 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.
List of translated lectures:
Lecture 1 : introductory, introduces the general concepts of programming languages, as well as the team of teachers and the 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 triggered. 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 did not pass 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 you are struggling with amateurs to write off, and learn how to save 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 : Continuation of the acquaintance 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 related to 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 with Encrypted Connections. Lecture 14 : Introduction to web programming and familiarity with HTML and CSS. 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 : An introduction to JavaScript and client-side programming. Lecture 19 : Continued familiarity with the JavaScript language, 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, 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.