5. CS50 на русском: Лекция #5 [Гарвард, Основы программирования, осень 2015 год]
ฝัง
- เผยแพร่เมื่อ 7 ก.ย. 2024
- Доп. материалы и задачи к лекции - javarush.com/s...
Весь курс CS50 - javarush.com/s...
Каждый год примерно 3% студентов Гарвардского курса по основам программирования CS50 пытаются смошенничать во время учёбы, например, выдав чужой код за свой. Этой статистикой @David Malan поделился на пятой лекции CS50. Представляете, какой процент был бы в наших вузах?... Впрочем, не будем о грустном, давайте лучше о знаниях.
Вот что вам расскажут в текущей лекции:
- Баги. Без этих верных спутников разработчиков никуда не деться, нужно научиться их выискивать. Дэвид расскажет о некоторых типах багов. Начнет с тех, которые сложнее выцепить: логических;
- Откровение: бесконечный цикл на самом деле не такой уж и бесконечный;
- Функциональная декомпозиция: прием для повышения читаемости кода и удобства кодирования;
- Знай свои фигурные скобки: область действия переменных;
- Объявление функций до реализации: специально для C;
- Строки и как с ними работать;
- Что такое ошибка сегментации;
- Милые щеночки! В стриме. Не пропустите=).
- Как едят шоколадки и M&M’s в Гарварде. Наглядное пособие.
… ну а следующая лекция будет еще интереснее: молочное чудо Ovaltine и криптография. Одно только звучание завораживает!
Мужик из "Vert Dider" стал программистом, пока озвучивал этот курс.. =)
судя по тому что он переводит и озвучивает ролики он гуманитарий, так что скорей всего возненовидел программирование еще больше.
@@pudreteflanders1582 Язык программирования. (язык)- это гуманитарное направление)
@@BekhtoldA слышал звон, да не знает, где он. Судя по Вашей логике, «млечный!!! путь» это, что-то из сельского хозяйства, а закон тяготения из юриспруденции
@@olegefimenko1904 Язык - система знаков, служащая средством выражения (язык программирования служит средством выражения).
Млечный путь, это устойчивое название нашей галактики, обязанное своим названием греческой мифологии. Где млечный звучит на греческом, как галактикос. (Для сравнения со значением слова "язык" не подходит. "Язык" - это термин.).
Слово "закон" имеет несколько значений, как и слово "язык". Я применил слово "язык" в верном значении, вы же в примере использовали заведомо ложное значение слова "закон" создав таким образом соломенное чучело, которое сами и победили.
Чем начинать комментировать чужие записи, разберись в себе, зачем ты это делаешь.
@@BekhtoldA как и язык программирования - устойчивое определение для ИНСТРУМЕНТА в программировании, сам по себе язык программирования не является направлением
"Please give me positive" - первая простейшая программа-вымогатель.
Спасибо Vert Dider'у и JavaRush
и cs50
@@Victor-Pozdnyakov Им в первую очередь
Тайм-коды: баги, функциональная декомпозиция, области видимости, тип string
0:00 заставка
0:31 баг. Программа buggy-0.c Скобки
4:48 программа loop.c
7:01 бесконечный цикл. Завершить (ctrl +c)
20:23 функциональная декомпозиция. Программа function-0.c
21:55 абстракция
23:07 программа function-1.c
24:55 область видимости переменной. Локальная переменная
26:23 работа с ошибками error
27:45 глобальные переменные
28:38 если несколько переменных с одинаковыми именами
29:04 тип, указываемый перед именем функции - это тип возвращаемого значения
29:50 тип, указываемый в скобках после имени функции - это тип входных данных. void - ничего
30:19 прототип prototype. Местоположение функции
32:38 библ. с расширением .h - это прототип
33:16 программа cough-1.c, cough-2.c
34:46 программа cough-3.c
35:35 программа cough-4.c, cough-5.c
35:58 функция с несколькими аргументами
36:37 тип string
37:48 программа string-0.c
39:15 функция в языке С strlen() возвращает длину строки
39:47 плейсхолдер для character %c
40:03 индекс символа в строке начинается с s[0] - первый символ
40:40 ошибка сегментации. Проблема сегмента памяти
43:38 библиотека string.h программа string-1.c
45:08 программа string-2.c 2 параметра через запятую в цикле for в присвоении
45:47 NULL ничего нет
45:57 приведение типов typecasting
46:46 программа ascii-0.c
47:30 указание перед переменной в скобках тип
Спасибо 😊
@@FelixX138 Спасибо за спасибо)
Лектор топовый, озвучка и перевод на его уровне
Java Rush & CS50 Спасибо Вам за ваш труд!
Это лучшее, что я видел из курсов по программированию. Огромное спасибо за перевод!
стал ли ты програмистом?
@@user-jp8op1jj9eэто база , по этому курсу ты им не станешь , это основа она тебе даст только понимания что к чему и как работает
Обожаю CS50
+++
Крутые лекции! Я в восторге, что мне их показали! И спасибо вам за то, что выложили и в рус,кой озвучке👍👏👏👏
Огромное спасибо, VERT DIDER за весь их контент, просто бесценный источник информации.
Это лучшее что я видел из курсов по программированию,джедайский уровень)Спасибо большое каналу и переводчикам,вы профессионалы своего дела!Качественный материал!
Курс огонь! В университете многого не объясняли на программировании
нас все меньше и меньше с каждой серией
Проходят только избранные )
Во истину)
Александр Саввинов, я хоть и добрался до 5 серии, понимаю все очень отдаленно.
При упорном изучении предметной области понимание возрастает.
Лично я к этой серии единственное новое что узнал, это то, что make можно не только с мэйкфайлом юзать, но и используя имя исходника.
Спасибо JavaRush от всего сердца!
После Пайтона синтаксис в Си выглядит устрашающим.
стал программистом?
@@deadtie бот 😅 ?
Ссылка на щенков - все, что мне нужно от этого курса
если сравнить как нас учили и тут как земля и небо, максимум полезного за кратчайшее время.
супер очень очень жду продолжения пожалуйста продолжайте
Я тоже редко руками ем - ложкой, вилкой, но не руками.
p.s. Перевод отличный!
А хлеб то руками ешь? Или вилкой)
@@artdevh3735 обычно руками. Но если там какой-то сложный бутерброд, то вилкой.
А я всегда ртом ел. Странно.
эх жаль что я учу другой язык, но смотрю с удовольствием, я не знаю вообще в России могут преподавать на таком уровне. Вообще этот курс нужно показывать нашим преподавателям.
Наши преподаватели взвоют от такой системы преподавания)
Какой "такой" ? Вы серьезно думаете, что он каждую лекцию так потеет?
Учился несколько месяцев у зарубежных преподавателей, именно так они и ведут каждую лекцию
наши преподаватели не прочь так работать, просто за 10 тыщ никто не хочет так потеть) вы думаете, что в Гарварде преподаватели получают эквивалентную зарплату?)))
Посмотри хоть одну лекцию Андрея Станкевича, чувака из ИТМО, который и сам чемпион мира по спортивному программированию и не раз готовил наших ребят на первые места. Что удивительно, ребята из гарварда далеко не в топе соревнований)
самое классное в самом конце , они и правда гении
1й1 эх фц
Огромное спасибо Vert Dider и JavaRush. Бесспорно ваша работа выше всех похвал, и весьма печально, лично для меня, что курс по С, а не С++. С - ушедшее, С++ - более приятен и пригоден для кодирования, хоть я и бегинер...
В CS50 рассматривается база, фундамент программирования, просто за основу взят С. Реализация почти всего в курсе на других императивных языках ничем принципиально не отличается. Это основы, зная которые легко изучить специфику почти любого современного языка программирования
"++" только библиотеками отличаются. Какая разница то? Или это что то новенькое, что из ++ убрали синтаксис Си?Для новичков библиотеки плюсов - лишняя, и не нужная информация.
Сергей Гулин ООП...
Вот это да... Какие дебаты в комментариях.. но не суть. Первод отличный, спасибо переводчикам.
для лиги лени
щеночки: explore.org/live-cams/player/east-coast-assistance-dogs-cam-2
Какая милота, до сих пор работает. ps: пикабу помойка.
как это было бы нужно на 1ом курсе.
Спасибо!
50:16 Я почти что по земле катался))))
Во блин! Сразу надо было давать ссылку на reference.cs50 - она миллион нервов экономит с этим ебучим синтаксисом, затрахался каждый раз на паузу ставить ролик в поисках что я не так делаю, а тут вон все описано. Сейчас актуальная ссылка manual.cs50.io , на момент чтения лекции видимо другая была
Классный урок!
«Пробелы для нас, это для красоты» Python - ну да, ну да пошёл я на***
Вроде знаю это всё, а всё равно интересно
45.50 null это не ноль !!! Это очень важно не правильно переведено! Null значит пусто, а не 0 это критически важно
Если не ошибаюсь, при проверке значений функцией is_null в PHP при 0 - функция возвращает true... То есть выходит, что NULL = 0.
@@darkelf585 в PHP - да, в С-подобных языках(не только) null - не ноль, а пустота
39:28 будущий успешный программист :)
смешно ) а как твои успехи спустя 2 года после комента? надеюсь это не ты кричал в зале..
Девушка вообще классно озвучивает! ))
ahaaha
самое главное это идея походу чтобы было что писать. а как писать это уже твой почерк
Удивляюсь, как они умудряются впихнуть в лекционный час столько информации? И еще остается время для шуток, котиков-собачек, и вызовов студентов к доске)
Сколько информации? Информации очень мало для часа
Alex Tingaev ты думаешь 2 строчки кода это много?
Для новичков много, если ты такой про иди на продвинутые курсы *// {сомневаюсь } ; *\
@@shoguneiraidenbaal359 Это детский сад, младшая группа. Причем для недоразвитых. Детей маленьких так кормят - прыгают перед ними с игрушками и говорят - открой ротик, - за маму, за папу. Спасибо гарвард что выкладываешь какой именно уровень образования у тебя. Я теперь понял с кого наталья нестерова сделала свой "университет", с биланом на рекламе))
@@dmitry1976yt Это хороший метод обучения. Старые учебники в СССР по математике, алгебре или физике с химией. Так же всё разжёвывали, прям как для недоразвитых. И мы первые в космосе были в итоге. А сейчас всё для умненьких. Только Протоны в землю втыкаются, а не на орбиту выходят. Да ещё Маска говном закидывать могут.
Есть ли что-то подобное но по основам алгоритмов и структур данных? Можно на английском
Насколько же мы отстаём... и этот разрыв всё больше. Сырьевой придаток, полезное ископаемое - как-то так
Авторам большое спасибо за материал!
Сергей Сергей только ребята из МТФИ и СПБГУ ничем не уступают этим ребятам из Гарварда на олимпиадах и спортивному программированию
@@zultulce а в 2019 году МГУ заняли первое место по спортивному программированию) А Гарвард занял места от 21 до 40 ;)
@@dreammakmuss Ага... я смотрел в прямом эфире финал! Отлично сделали всех!
пи3да, JavaRush я в восторге ахха эмоции разрывают! Огромное спасибо за перевод этого материала! Если бы меня в шараге так учили, щас бы минимум работал в Яндексе или Майле!)))
Блин первые лекции вроде все понятно было, а на этой уже чето поплыл ((
Пока слушал выивил алгоритм жизни🤔🔥👍
Отличное шоу, слабый материал по плотности. Потрачено 5 лекционных часов, и мы всё еще перебираем символы строки в одиночном цикле без единого понимания об архитектуре системы/ОС, даже в общих чертах, очень узко, очень медленно, спорно в плане последовательности укладки знаний, но красиво и зрелищно, это факт.
есть совет?
@@user-dz2sv1ur3sрешать реальные задачи, начиная с самых простых. Этот ужасный, скучный, непонятный "курс" когда-то напрочь отбил у меня желение научиться писать код, хотя я этого очень хотел. Потом через 2 года я снова вернулся в это все, забыв про эти видео
Ну ты даёшь, я с тобой абсолютно не согласен
Да ведь они должны были, нет обязаны были уже после первой лекции писать 3д шутеры хотя бы на уровне КС 1,6 😅 .
Молодцы!
народ дайте пожалуйста ссылку на их среду разработки. В чем они компилят код.
Дякую за вашу працю
попробую освежить свои знания, вроде есть дополнительные ссылки, уровень преподавания на высоте но не для новиков, они сразу застрянут, а может я и ошибаюсь.
Наоборот тут очень все разжевывают, как раз для совсем зеленых
Спасибо огромное
Скажите где взять примеры которые он открывает, к ним есть доступ? Зорание благодарен
Думаю уже поздно. Но вдруг ещё кому нужно будет. cs50.tv/2015/fall/#about,psets
Подскажите пжлста на какой неделе из 12 будет про Основы баз данных и SQL.
Веб-разработка: основы CSS, HTML, JavaScript и PHP ?
а какая в жопу разница, принципы везде одинаковые, конкретики в курсе нету.
Блин сейчас пытался подставлять разные буквы в виде переменных на "a" он выводит какую-то чушь на "s" вообще кращится, даже если использовать в виде переменной "ae" или какое либо другое сочетании он все равно выводит чушь.
Ктонить знает где можно посмотреть как правильно объявлять переменные?
float f;
int i;
если ты объявленные переменные нигде не используешь то он будет ругаться.
???
А к чему это сказано?
У меня значения который я использую, не желают корректно работать, вот и думаю что мб они зарезервированны и их нельзя использовать как переменные.
не так я тебя понял,видимо. Вообще эти переменные не зарезервированы и ты свободно можешь их использовать.
Напиши сюда те ошибки что выдает компилятор .
Он не выдает ошибок, он просто не правильно воспринимает переменные.
Ты задаешь a = 5, выводишь в консоль и вместо 5 получаешь 7856382 или любое другое случайное число.
LORD int a = 5;
COOL. Круто, спасибо большое.
Немного запутался, либо пропустил информацию
Зачем после %i,n,c запятой нужны "i, n, c либо name"? Надеюсь поняли вопрос
Спасибо!!! Будет перевод SICP? Структура и интерпретация компьютерных программ
Сомневаюсь, типичный джаварашер не оценит.
Подскажите, пожалуйста, где найти "Дополнительные материалы к лекциям CS50" на английском языке?
что-то содержание по этой ссылке не совпадает с текстом, который здесь
info.javarush.ru/javarush_articles/2016/07/18/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D1%8B-%D0%BA-%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%D0%BC-CS50-Week-1-%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B8-3-%D0%B8-4-.html
Не удалось найти?
Нет
А вот и щенки explore.org/live-cams/player/east-coast-assistance-dogs-cam-2
Чтобы изучать и повторять все что сказано, что нужно?? будет ли достаточно VS code и пайтона на пк?
нет нужно установить линукс , docer, Nginx, разобраться с git и контроль версий,понять как работают микросервесы и как и запускаются
@@user-dc4ni1mk1z А ещё получить высшее образование 😅, создать автомат Калашникова, и стать боссом качалки.
Спасибо!
Помогите найти их задачник
cs50 очень крутой курс!
Когда будет следующая часть?
вот не могу понять и всё. Флот инт принт холоу мир. Почему это всё? И что происходит когда это пишем! ? Капец как понять то
цикл! конечно цикл! И все всё поняли а я не понял. И сразу ещё поток информации
Ты не один всё не понимаешь 😅 тут нужно на практике разбираться, так на слух очень тяжело
начинающие, напиши когда станешь программистом@@ruslanbeckhamrazakov
Переводчики, изучите вопрос с применением "а" и "но". В выражении: " не белый, а черный" неправильно применять но, вместо а.
мне порой кажется что это чисто обучение С, а С для новичков сложный язык.
я вот не могу понять. Почему эти слова почему эти значения??? Как мне человеку который не знает и не когда не знал программирование это всё понять. Просто программистам а мне вот как новому человеку как это понять!!!!?
гугл и ИИ в помощь
Норм, спс за перевод.
Ребят, а где взять эти все файлы, которыми Дэвид пользуется?
он чё то про их сайт говорил
cs50.harvard.edu/ во
Mike Kudrinskiy есть сайт Прометеус(сайт украинский ),там этот весь курс есть с практическими заданиями с дополнениями,семинарами и всем этим материалом,которым он пользуется с подробными разьяснениями и переводом и ссылками и дополнительными видио от Маланна.Это бесплатно.И если зарегестрироваться,то можно получить после выполнения всех практических заданий-получить диплом о прохождении курса cs 50(все полностью бесплатно,на волонтерских основах)
Не область действия, а область видимости переменной. Фундаментальное понятие. А так норм.
thenk you
Ребята, а кто-нибудь практические задания делал? Которое 0. Инициализация. Всё хорошо, но как насчёт верхнего регистра?
Если кто тоже над этим думает - там, в С, конечно, есть стандартная функция, но мне показалось, что они хотят практикум на основе их лекций, поэтому решение можно построить на кодах символов ASCII - для этого лекций вполне достаточно.
ну уж прямо все взломы - это переполнения буфера?
а как же эскалация прав или анализ трафика?
он DDOS атаку имел ввиду
с каждой серией все жоще и жоще...
огромное спасибо за перевод! за курс! но как же хочетсч понять все, и не чувствовать чебя такой тупой 🤦😥 кто может помочь понять?
гугл
49:53 Simpson's House xd
08:00 Как понять не хватит битов? Пожалуйста подскажите.
Ты за год разобрался или объяснить?)
@@juvusart обьясни
@@Libirmanmovies дружище, посмотри этот 20-минутный видеоурок, где не тароторя по полочкам раскладываются проблемы переполнения типов. Да и вообще, я весь курс рекомендую просмотреть. Лучше я всё равно не расскажу тут. Вот ссылка : th-cam.com/video/sKrIIWS2kaY/w-d-xo.html
@@juvusart спасибо, сегодня ознакомлюсь, а то чет запутался маленько
Если в автомобиле установлен счётчик про-
бега на 999999км.,то при пробеге очередного
километра произойде переполне-
ние,на счётчике выско-
чит 000000км.,и аппарат
можно смело продавать
как новый,предварительно
заклеив дыры в кузове
цветной бумагой.
Вот точно так и с битами.
а если бесконечный цикл выводит 0, то что? битов хватит?
Был ниже коммент на эту тему - смысл коммента, что в этом ролике ответы th-cam.com/video/sKrIIWS2kaY/w-d-xo.html
где на щенков посмотреть?
а можно ли на оф сайте поковырять задачки?
Функцию, которая делает «cough! cough! cough!» можно назвать void Putin(int);
почему в si++не указывается место ошибки как в paskal
Блин это наверное вопрос в компиляторе...
Ааа... Есть разные языки, и есть те в которых код сразу проверяется, а есть те которые можно проверить только во время отладки.
сs50 прикольный курс
Решение неправильное: котята лучше щенков
дайте ссылку на задачник cs50
это язык Java или С ?! Я почему то запутался и не поримаю
это С
Удивило, что за мошенничество (списывание) чужого кода у них какие-то комиссии и отчисления.
Что удивительного? Гарвард - самый престижный частный(Не государственный!) университет, и что бы оставаться таким, он должен принимать лучших, и выпускать исключительно лучших. А если вы ленитесь, списываете, то вы уже вряд ли лучший.
Это не только в Гарварде, в других вузах СШ такие же правила. Спалят на списывании - могут отчислить.
Когда я училась на программиста, то можно было тогда всех вызывать на комиссию) и всех можно было отчислять за сдачу не своих программ)
Ни одного дизлайка)
в чем смысл последнего скетча?
спастб
Гравард крут, очень крут! Но как для школьного курса 8го класса какой-нибудь Российской школы.
А для кого курс? Уже для опытных программеров?
с нуля
жаль что нет задачников
jast more konkret
20:18 - окончание болтовни
+1
Люди щенков нет
как так
🥺🥺
на каком языке он пишет?
чистый Си
Что то я не догоняю вообще...
это прям ток шоу какое-то :)
и ведущий в мыле ))
Кто-то заходил смотреть на щеночков?
Везде развод - на сайте нет щенков
Есть, только нужно перейти на сайт с трансляцией.
И кстати это запись еще 2015 года.
+++
Лекции по программированию, как лекции по плаванью. Интересно конечно, но бесполезно.