📜 ⬆️ ⬇️

Harvard CS50 course "Fundamentals of Computer Science and the Art of Programming"



For several months now, specifically for JavaRush, we have been translating and voicing the most popular university course in the world about CS50 - “Fundamentals of Computer Science and Programming Art” (trailer) . He has been read in person for many years for Harvard students and for students of Yale University, and more recently in absentia for a multimillion Internet audience.
This is a translation of the newest version of the course, which started in the fall of 2015. In the course of 24 lectures and gradually we will translate them all. The other day we translated the 15th lecture, you will find it under the cut in the list of all lectures translated to date.

What do you learn by listening to this course:
')

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 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 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. 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.

Source: https://habr.com/ru/post/399979/


All Articles