
This post-survey is an attempt to determine the best IT courses of Western universities that are publicly available. Of course, according to our version. Well, of course, over the years, preferences change, so the 2016 version.
Why the question')
Perhaps you have already read our news on the Habré localization of the
Harvard course on the basics of programming CS50 . If you are not too lazy to follow the link, I’ll say that we, the
JavaRush team and Vert Dider studio, are working on translating this famous course on the basics of programming into Russian. At the moment we have posted in open access two introductory lectures and additional materials with the conditions of practical tasks.
I must say, the interest of the
CS50 was considerable, which prompted the idea: wouldn’t we try to translate other class courses? Only now you need to choose which ones, select the best ones, because there are a great many educational materials on the Internet. So we decided to turn to the collective mind of Habr in order to select potential “superhits” and start working on them.
Who is the questionYes, to any person who is interested in obtaining new knowledge in Russian or a mentor / teacher / adviser who is looking for adequate educational materials for himself or his students.
- You have passed or started to take some class course on any IT topic in English and advise everyone to it;
- You found a good course, it seemed interesting to you, but it is impossible to learn English or laziness;
- Found a good course, but postponed "until better times";
- Looking for materials on the topic and want to learn something IT;
- Looking for materials for your students / pupils / juniors and so on.
What to doVote for the courses listed below or suggest your own options in the comments. It is desirable, but not necessary, to indicate the degree of familiarity with the course: he passed completely, watched some lectures / did not complete completely, was advised, accidentally stumbled, it became interesting.
Our initial selectionIn our company, many have tried to take place or simply found interesting courses on the net. We selected several applicants. They are presented in very different formats, some are just video lectures on Youtube, some of which are supported by the capabilities of educational platforms like edX or Coursera.
Algorithms and data structuresAlgorithms: Design and Analysis, Part 1 . Algorithms: construction and analysis, part one. Kurserov Stanford course. One of the most popular on the topic.
Algorithms. Part 1 . Algorithm course at Princeton University by Professor Robert Sagewick, author of one of the most famous
books on algorithms and data structures . The course is serious, academic. What is valuable for JavaRush and our students - all algorithms are given in Java.
Possible problem: the course on the old Coursera platform may become unavailable after July 1. However, in the public domain there are separate videos and course materials.
Introduction to Algorithms . Introduction to algorithms, only already authorship of Massachusetts technology.
Introduction to Programming and Computer ScienceIntroduction to Computer Science and Programming Using Python . Introduction to computer science using the Python language. Also Massachusetts Institute of Technology.
Programming Paradigms (CS107) Programming Paradigms , Stanford University. Video lectures, which describe the use of different programming languages ​​depending on the tasks. Tasks on C, C ++, Assembler, Python, and also parallel programming are considered.
OOP and other programming methodologiesProgramming Methodology (CS106A) . Programming methodologies Record of Stanford lectures, introduction to application development with analysis of the principles of modern software: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses Java programming language. Accent is a good programming style and embedded Java objects. For those who already program a little.
Programming Abstractions (CS 106B) . Abstraction programming. Continuation of the previous course CS106A (see above) or even its receiver. C ++ is used to explain topics - recursion, algorithmic analysis, data abstraction.
Object Oriented Programming in Java . Java University Object Oriented Programming. A very interesting course in which students are introduced to a real project, on the basis of which OOP is studied, data visualization and some algorithms. Designed for those who have a little programming. We think the first 5-7 levels of JavaRush to start learning this course will be quite enough.
AndroidBegin Programming: Build Your First Mobile Game . Programming for beginners: write the first android program. The course is presented on the Futurelearn platform.
Databases and SQLIntroduction to Databases . Stanford introduction to databases.
HTML, CSS, JS
HTML, CSS and JavaScript . A simple introduction to web development for beginners. First HTML and CSS, then the transition to basic JavaScript (variables, arrays, cycles, events, functions) and, finally, the study of more advanced elements of JS - event management, array processing, DOM.
Computer architectureComputer Architecture.PC Architecture, Princeton University Course on Coursera.