CS50 Lectures 2018

EDUCATIONAL OBJECTIVES Among the overarching goals of this course, independent of its curriculum, are to * inspire students to explore unfamiliar waters, without fear of failure, * create an intensive, shared experience, accessible to all students, and * build community among students. LEARNING OBJECTIVES Among the overarching goals for students individually in this course is that they learn something that we haven’t taught them, as is manifest at term’s end by so many students’ final projects that use languages, libraries, tools, and techniques not taught in the course. Along the way will students learn to * think more methodically, * program procedurally, * represent and process information, * communicate succinctly and precisely, * solve problems efficiently, * recognize patterns among problems, * decompose problems into parts and compose solutions thereto, * operate at multiple levels of abstraction, * separate design from implementation details, * infer from first principles how systems work, * assess the correctness, design, and style of code, * teach themselves new languages, * identify threats to privacy and security, * read documentation, drawing conclusions from specifications, * test solutions to problems, find faults, and identify corner cases, * describe symptoms of problems precisely and ask questions clearly, and * identify and quantify tradeoffs among resources, particularly time and space. Ultimately, the course provides students with a foundation for further studies in computer science and empowers students to apply computer science to problems in other domains. *** This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming. *** HOW TO SUBSCRIBE youtube.com/subscription_center?add_user=cs50tv HOW TO TAKE CS50 edX: cs50.edx.org/ Harvard Extension School: cs50.harvard.edu/extension Harvard Summer School: cs50.harvard.edu/summer OpenCourseWare: cs50.harvard.edu/x HOW TO JOIN CS50 COMMUNITIES Discord: discord.gg/T8QZqRx Ed: cs50.harvard.edu/x/ed Facebook Group: www.facebook.com/groups/cs50/ Faceboook Page: www.facebook.com/cs50/ GitHub: github.com/cs50 Gitter: gitter.im/cs50/x Instagram: instagram.com/cs50 LinkedIn Group: www.linkedin.com/groups/7437240/ LinkedIn Page: www.linkedin.com/school/cs50/ Quora: www.quora.com/topic/CS50 Slack: cs50.edx.org/slack Snapchat: www.snapchat.com/add/cs50 Twitter: twitter.com/cs50 YouTube: youtube.com/cs50 HOW TO FOLLOW DAVID J. MALAN Facebook: www.facebook.com/dmalan GitHub: github.com/dmalan Instagram: www.instagram.com/davidjmalan/ LinkedIn: www.linkedin.com/in/malan/ Quora: www.quora.com/profile/David-J-Malan Twitter: twitter.com/davidjmalan *** CS50 SHOP cs50.harvardshop.com/ *** LICENSE CC BY-NC-SA 4.0 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License creativecommons.org/licenses/by-nc-sa/4.0/ David J. Malan cs.harvard.edu/malan malan@harvard.edu