Pull to refresh

Comments 31

> Python вышел на 1-е место для обучения программированию в университетах

… США!!!

Интересно было бы глянуть картинку по Европе и отдельно по Юго-Восточной Азии
За ними будущее!
Вообще это печально, что у нас зеленые студенты часто больше в тренде современных технологий, чем преподаватели и образование в целом. Как результат: более подготовлен к реальной трудовой деятельности тот, кто учился самостоятельно или работал параллельно с универом, а не изучал мертвые языки. Если базовый курс программирования еще как-то можно объяснить тем, что учат алгоритмизации и логическому мышлению в целом, мол язык в данном случае не особо важен, важны принципы (с чем я впрочем не согласен), то предметы посвященные, например, веб-разработке заставляют плакать и смеяться — так далеки они от современных реалий.
Да ладно вам. У нас даже jQuery был. и гос. экзамен по блочной верстке.

upd: однако нужно заметить что всем, кто заранее высказал желание сдать предмет сразу — это желание позволили реализовать.
Нереальная фигня какая то. Это рейтинг чего? Что на эти курсы ломятся студенты или рейтинг того что есть?
Если университет заявляет что обучает программированию я как понимаю это computer science.
Если есть университет и он говорит что у меня есть факультет computer sience и там не изучают SQL, извините это тогда oak science!
Если есть университет и он говорит что у меня есть факультет computer sience и там не изучают С/С++, извините это тогда тоже oka science!
И вообще какой то кривой обзор достаточно зайти в MIT и поискать есть них курсы Java или C/C++ и просто глаза разбегаются сколько их. А в их табличке нет ни Java ни C/C++.
Это Ализар, пардон за выражение. Оригинальный заголовок звучит так: «Python is now the most popular introductory teaching language at top U.S. universities». То есть питон используется для обучения азам программирования, а дальше уже идут все остальные языки.
В наше время азами программирования считались программы типа черепашка или бейсик. А сейчас азами называются промышленные ЯП? Ого…
Так они и не изучают язык, как профессиональный инструмент. Они используют питон для преподавания основ теории алгоритмов: сортировки, структуры данных, динамическое программирование, рекурсия, и т.д. Теория алгоритмов — это не программирование, уже лет 20, а то и больше. Как только появились стандартные библиотеки коллекций, реализованные сортировки и т.д. Современный программист должне уметь всем этим пользоваться, а не изобретать это все заново.

Статье больше подойдет заголовок «Питон — самый популярный язык для обучения основам теории алгоритмов в США».

Мне кажется, что большая проблема обучения программированию в наше время состоит в том, что более не существует аналогов черепашке и Бейсику. В наши дни все простые языки необычайно развились и, фактически, стали промышленными. Я вот даже не могу себе представить, на каком более-менее настоящем языке надо обучать. Ну сначала, положим, какой-нибудь Scratch, а дальше? Склоняюсь к Python.
Не, ну эмуляция черепашки, конечно, есть. Я о другом. Вот был язык Visual Basic 3, например. С одной стороны, его можно было ЦЕЛИКОМ выучить, не погружаясь в какие-то сложности, а с другой стороны, это был полноценный язык для создания Windows-приложений.
в тексте есть оговорка, что это программы начального уровня. SQL, все-таки, это весьма специфична штука, которая изучается на специальных курсах, которых в самом деле тоже тьма.
Мне показалось неожиданным, что в MIT и в Беркли вообще существуют курсы программирования начального уровня. По-моему, это школьная программа (а если нет, то таким знаменитым вузам ничего не стоит брать только тех абитуриентов, которые уже владеют азами программирования).
SICP ни разу не школьная программа ) Хотя и начльного уровня. На первой странице предполагают, что вы не умеете программировать. но где-то к 160й уже вы реализуете символьное дифференцирование.
Ну вот это и довольно странное видение своего студента, как будто бы он вырос в вакууме и ничего не знает о программировании, зато всё схватывает на лету и уже через семестр способен реализовывать вот это самое дифференцирование.
Это не через семестр. Можно посмотреть, какая точно это лекция по счету, они все доступны в онлайн.

Курс преподается не одно десятиление уже, я думаю в MIT знают что делают
Ну выше упоминали, что хорошо, дескать, что курс студент сам выбирает, а не с 1968 года сверху его спускают. Видимо, что-то спускают с 1968 года.
У нас в школе вообще не было программирования- тупо комп класс появился уже после моего выпуска. И к первому семестру я не знал о программировании ничего. Но это не помешало мне выучиться на программиста:)
Собственно, программа ВУЗа и предполагала что студент мало что знает о программировании.
Ты же не обязан их брать. Само собой, студент-программист это уже знает, но в т.ч. есть и биологи, которым необходимо считать белки, например, а они в программах ни в зуб ногой. Вот для них и есть эти курсы. В университетах вообще много чего есть, разного уровня, и это прекрасно — можно взять, что нравится, а не то, что велено минобром в 1968 г.
По мне так не очень положительная тенденция. Настолько высокоуровневые языки не должны быть в основе обучения программированию. Роют они себе яму этим. Получат через несколько лет огромную кучу людей пишущих функции подсчета пробелов вроде
str.split( ' ' ).size()
Красота и мощь Питона в том, что подобные вещи можно сделать одновременно и элегантно, и эффективно.
Например, следующая конструкция для подсчёта числа пробелов по сути происходящего практически эквивалентна pascal-style решению, но при этом умещается в одну строчку:
sum((1 for c in str if c==' '))


З.Ы. На всякий случай, уточню, что это не то же самое, что
sum([1 for c in str if c==' '])

Хотя результат, понятное дело, один, вычисляется он с разными затратами по памяти.
>>> timeit.timeit("'opt in of com'.count(' ')", number=1000000)
0.25260305404663086
>>> timeit.timeit("x = 0\nfor c in 'opt in of com':\n if c==' ':\n  x+=1", number=1000000)
1.0578958988189697
>>> timeit.timeit("len([i for i in 'opt in of com' if i == ' '])", number=1000000)
1.126028060913086
>>> timeit.timeit("sum((1 for c in 'opt in of com' if c==' '))", number=1000000)
1.4912290573120117
Посыпаю голову пеплом.
Быстрота count объяснима, но почему генератор оказался хуже list'а?
а str.count(' ') не элегантнее/эффективнее случаем?
Всё очень и очень зависит от качества курсов. Заметьте, это что-то типа курса основ программирования и теории алгоритмов. Думаю, уж они дадут курс по тому, как писать эффективно =)
И потом, мне кажется, как раз высокоуровневые языки помогают не писать велосипеды. Ну а если человек не умеет пользоваться Гуглом — то какого бы уровня ни был язык, он напишет велосипед в любом случае.
Роют яму те кто зачеты за просто так ставят и списанные программы принимают.

Не думаю, что хоть кто-то кто честно закончил даже онлайновый курс алгоритмов на courcera напишет str,split(' ').size()
недавно на Python перевели вводные курсы программирования Массачусетский технологический институт

Там-же вроде Scheme был, неужто заменили?
Only those users with full accounts are able to leave comments. Log in, please.