The Unofficial Guide To Computer Science Harvard

Transcription

THE UNOFFICIAL GUIDE TOCOMPUTERSCIENCE@ HARVARDRD.EDUVERSION 18CDESIGNED BY CS50Haven’t taken CS50 yet?Visit cs50.harvard.edu for FAQs.S.HAAVRS

2What is CS?We like to say that CS teaches you how to thinkmore methodically and how to solve problems moreeffectively. As such, its lessons are applicable wellbeyond the boundaries of CS itself.But CS is also, more generally, the study of information.How do you represent it? With what methods (akaalgorithms) can you process it?Perhaps the most liberal answer, though, is that CS “hasno exclusive domain of its own, and that its importancecomes from the problems to which it is applied.” Andtherein lies the excitement. CS empowers you withtools and ideas that can be applied to practically anydomain of interest to you, both in college and beyond.What is CS not?Contrary to popular belief, CS is not really aboutprogramming, even though you do learn how toprogram. Programming languages are tools thatComputer Scientists use or create in order to solveproblems of interest to them.UNOFFICIAL GUIDE TO CS @ HARVARDPhotograph by Joseph OngHow can I get a secondary in CS?Take any four courses numbered 50 or higher. See page9 for popular study cards. See Computer Science underSecondary Fields in the Handbook for Students.How do I concentrate in CS?Take at least two of CS50, CS51, and CS61; take CS121and another “theory” course; take four technical electives;and take Math 21a and Math 21b. Plus take any ofMath 1a, Math 1b, and CS20 as needed. See page 8 forpopular study cards. See Computer Science under Fieldsof Concentration in the Handbook for Students.Can I change my concentration to CS?Yes, so long as you still have time to satisfy the requirements.Even David J. Malan ’99, who now teaches CS50, didn’ttake his first CS course until his sophomore year, when heswitched from Government to CS.Does CS require a thesis?No, not for non-Honors or Honors, but for High Honors andHighest Honors, it’s expected. See Computer Science underFields of Concentration in the Handbook for Students.Is a thesis just a big program?No, a thesis is a research paper. You might end up writingprograms in order to evaluate your ideas, but those programsare ordinarily means to an end, not an end in themselves.Visit cs.harvard.edu/thesis for examples.

UNOFFICIAL GUIDE TO CS @ HARVARDHow do I graduate with Honors in CS?Take six technical electives instead of four and have aconcentration GPA in the top half of your class. SeeComputer Science under Fields of Concentration inthe Handbook for Students.How do I graduate with High Honors in CS?High Honors are decided by faculty vote. You mustordinarily write an “excellent thesis” to be considered.See Computer Science under Fields of Concentrationin the Handbook for Students.How do I graduate with Highest Honors in CS?Highest Honors are decided by faculty vote. You mustordinarily write an “outstanding thesis” to be considered.See Computer Science under Fields of Concentrationin the Handbook for Students.Do any CS courses count for Gen Ed?Yes! To satisfy Empirical & Mathematical Reasoning,take CS1, CS20, CS50, or CS171. (Note that CS1does not count toward a concentration or secondaryin CS.) To satisfy Culture & Belief, take CS105.Should I study CS even if I don’t want to bea programmer?Yes! CS concentrators head off in all sorts of directionsafter graduation. See Figure 1 for titles that alumnisince 1984 now hold. See Figure 2 for fields in whichalumni since 1984 can now be found.Figure 1: Titles that alumni since 1984 now hold.3Should I activate Advanced Standing andget a fourth-year master’s degree in CS?Maybe! If you are eligible for Advanced Standing andthink you could handle eight (mostly) 200-level CScourses, it’s a great opportunity. Your bachelor’s degreedoesn’t even need to be in CS, so long as you can stillsatisfy the prerequisites for the 200-level courses. SeeOther Academic Opportunities in the Handbook forStudents.Can I do a joint concentration between CSand another field?Yes, but you probably shouldn’t. Joint concentrationsare really for students who want to write a thesis onsome research problem in the intersection of two fields.If you simply want to study both fields, it’s generallybest to get a secondary or simply take courses in CS orthe other field.Is CS part of Mind, Brain, and Behavior?Yes!See Computer Science under Fields ofConcentration in the Handbook for Students.Does a grade of SAT in CS50 count towardconcentration or secondary credit?If you intend to concentrate in or do a secondary inCS, you should take CS50 for a letter grade. But shouldyou decide to concentrate in or do a secondary in CSonly after taking CS50, a SAT in CS50 would count forconcentration or secondary credit.

4UNOFFICIAL GUIDE TO CS @ HARVARDFigure 2: Fields in which alumni since 1984 can now be found.Should I concentrate or minor in CS even ifI don’t want to work in tech?Yes! CS empowers you to solve problems in all sortsof domains. Here’s where alumni since 1984 can befound:ACME Labs AECOM AT&T AXA Equitable Abercrombie and Fitch Addison-Wesley PublishingCo Administration for Children & Families AdobeSystems Adult Cardiovascular Consultants, P.A. Advanced Research Projects Agency - Energy U.S.Department of Energy Agilex Technologies, Inc. AirForce Research Laboratory Airbnb.com AlbertoCampari Knoepffler, Architect Amazon.com American Express Amgen Inc. Ancestry.com Angelynn Grant Design Angle Assoc AppNexus,Inc Apple Inc. Apple, Inc. Arbor Scientia ArgosyPartners Associates International, Inc. Atco PlasticsInc Athens University of Economics Autodesk, Inc. BBN BBW Technologies BC Partners BMOCapital Markets Babcock & Wilcox Alliance ResearchCenter Bain Capital Sankaty Advisors BanarasHindu University Bank of America Bay ImagingConsultants Bechtel Limited Bell Laboratories Bellcore BlackBerry Blue Mountain CapitalManagement Boeing Satellite Systems BogaziciUniversity Boston Common Boston Public Schools Bradley Woods & Co. Ltd. Brickhouse Freight Bridgewater Associates Bridgewood Design Brooktrout Technology Bungie, LLC C A McNaryand Associates C S Draper Laboratory CBCS CISCO Systems Foundation CTB/McGraw-Hill Cambridge Innovation Center Canadian ConsulateGeneral Cancer Services of New Mexico Cane &Boniface, PC Canon Inc. Capital One Center MfgCo Charles Schwab Chelmsford Public Schools Chevron Corporation Chrysler/JTE Cisco Systems Citibank Citigroup Citigroup Inc. City Gas PteLtd Code.org Cohera Medical, Inc. College ofEngineering Comcast CommonMind LLC CornellUniversity Craig Taylor Equipment Creare Inc Ctr.for Sustainability and Global Environment University ofWisconsin-Madison D. E. Shaw & Co. DAVAOncology Dalberg Global Development Advisors Damtp Center for Mathmatical Sciences Davidson

UNOFFICIAL GUIDE TO CS @ HARVARDKempner Capital Management Davis Polk & Wardwell Dell, Inc. Demdex Department of Defense Department of Environmental Health DiagnosticIncs Dimagi, Inc. Downtown Associates EMCCorporation ETAK Inc. EUtrek Ltd Earthwatch Inc Edward H Comfort CPA Ellington ManagementGroup Elysium Digital Em Software, Inc. EnerNOC Epoch Investment Partners Erler Film A S Ernst &Young Evidence.com Expense Reduction Analysts ExxonMobil Facebook Family Dermatology Federal Communications Commission FederalTrade Commission First Databank Flybridge CapitalPartners Food and Drug Administration FordMotor Company Fore Research and Management Fortress Investment Group Frankel & Associates,Incorporated Franklin Templeton Investments Fujitsu Limited GFZ German Research Centre forGeosciences Helmholtz Centre Potsdam GeneralElectric Commercial Finance Capital Solutions- EFS General Electric Global Research Center Gifts.com5 GitHub, Inc. Goldman, Sachs & Co. Good ShepherdMedical Center Google, Inc. Greater GreaterWashington Hanover Insurance Company Hartman,Blackstock & Moore Harvard Club in Beijing Harvard College Office of Admissions & Financial Aid Harvard-Smithsonian CFA Hasbro, Inc. Healthpoint Group Hermes Fund Managers Limited Hewlett-Packard Co Highland Capital Hong KongUniv. of Science & Tech. Dept. of Electronic &Computer Engineering Hughes Aircraft Co Hulu Hunton & Williams IBM IBM Center for AdvancedLearning IBM Research IBM Research Division ING Icahn School of Medicine at Mount Sinai Illustrator Imara (Wynford Drive) Limited Industrial Light & Magic Inflection, LLC Ing.Angelo Giuseppe Institute for Quantum ComputingUniversity of Waterloo Integrant Consulting IntelCorporation InterMed Advisors, Inc. InteractiveGame Products JP Morgan Chase Jackson MemorialHospital Jawbone Johns Hopkins University K & SPhotograph by Joseph Ong

UNOFFICIAL GUIDE TO CS @ HARVARD6Life after 50You can head off in all sorts of directions after CS50, but here are some popular routes. See Computer Science inthe Courses of Instruction for prerequisites.FALLCS148CS146SPRINGDesign of VLSICircuits and CS141Fairness, Privacy, andValidity in Data AnalysisData Structuresand AlgorithmsComputingHardwareCS5CS20Discrete Mathematicsfor Computer ScienceCS121CS187CS144rIntroduction to TheoreticalComputer ScienceComputationalLinguisticsNetworksDesign ProjectsCS127CS181CS182CryptographyMachine LearningArtificial IntelligenceCS136CS189Economics andComputationAutonomousMulti-Robot Systems

UNOFFICIAL GUIDE TO CS @ HARVARD7CS108CS105CS109aCS109bIntelligent Systems:Design and EthicalChallengesPrivacy andTechnologyIntroduction toData ScienceAdvanced Topics inData Science50CS171CS179VisualizationDesign of UsableInteractive SystemsCS143CS191Computer NetworksClassics ofComputer ScienceCS96CS61CS165System Design ProjectsSystem Programming &Machine OrganizationData SystemsCS51CS153CS161Introduction toComputer Science IICompilersOperating SystemsCS152CS175ProgrammingLanguagesComputer Graphics

8Laboratories KKR 1996 GP LLC Kahn International Kaiser Permanente Karr Tuttle Campbell KhanAcademy King Abdullah University of Science andTechnology Kirkland & Ellis LLP Kohlberg KravisRoberts & Co. Kotzias-Stamatopoulos Langdale E3Pte Ltd Larkspur Marketing Lava Bear Films LawOffice of David A. Kahne Learning Objects LeviStrauss & Co. Lewis Brisbois Bisgaard & Smith Lexington Software Consulting LinkedIn LockheedMartin Lumosity MTA New York City Transit Macquarie Capital Magma Design Automation Marin Software Mass Bay Transportation Authority Massachusetts Dept. of Enviro. Quality Engineering-- SERO Materials Development Corp Mattel, Inc McKinsey & Co. McKinsey & Company MedTouch Medicine in Need Merrill Lynch Micro OfficeSolutions Micromega Corp Microsoft Corp. Microsoft Corporation Minnesota Council ofGIfted&Talented Minnesota Pollution Control Agency Mitsubishi Corporation Morgan Stanley MotorolaMobility/Google Mozilla Corporation MultimodalTechnologies, Inc Museum of Science MySpace N.Y. University Stern School of Business NASAGoddard Space Flight Center NASA Jet PropulsionLaboratory NASA/Goddard Space Flight Center National Institute of Standards & Technology National Institutes of Health National JewishMedical & Resarch Center Netflix Network Appliance New York City Department of Education Northeastern University Northrop Grumman Northwest Center for Public Health Practice OkCupid.com Old Dominion University OracleCorporation Oregon Independent College Foundation Osborn Architects Oxy Systems, Inc. PacificNorthwest National Lab Palo Alto Research Center Parfums Christian Dior Patch & Associates Pearson Education Pearson Knowledge Technologies Pegasystems PerkStreet Financial Pixar AnimationStudios PlayFab, Inc. Pleco Software PolicyDevelopment & Review Department InternationalMonetary Fund Popcap Prefab Software Inc PricewaterhouseCoopers Princeton Health CareSystem Princeton University Department of Chemistry Procter and Gamble Prophet Pushtribe Quantitative Support Services Quantopian RREVentures LLC Radiological Associates of Sacramento Rain Wine Raytheon Raytheon Co Regas Renaissance Interests, LP Richard A Fay & Company Robbins Russell Englert Orseck & Untereiner, LLP Robert Howard Law Office Royal Thai AirforceUNOFFICIAL GUIDE TO CS @ HARVARDAcademy Russell Investments SLC Consultants Inc SLH Inc SNiP Safe Horizon Samuel Wong, MD Saudi Aramco Schlumberger ScholarPRO SearsHoldings, Inc. Seatwave Security Mail Shell OilCompany Siam Commercial Bank Siemens PLM Silicon Graphics Computer Systems Siu On RealtyCompany Ltd SolidWorks Sony ComputerEntertainment America Southern CaliforniaPermanente Medical Group Neonatal Intensive CareUnit Spiegel Liao & Kagay LLP SquareR Partners St. Edward’s University Star Thrower EducationalMultimedia Starbucks Coffee Company State StreetAssociates Stem Cell Source, LLC StonebridgeAssociates LLC Strake Jesuit College PreparatorySchool Stratis, LLC Sughrue Mion PLLC SullivanCounty Community College Sun Micro Systems Inc Sun Microsystems Sun Microsystems Laboratories SunGard Higher Education Susman Godfrey LLP Sutherland Associates Swarthmore College SynaxisCorp System Services Tarr Technology Consulting TechPar Group LLC Teradici Corporation TeslaMotors Tetrad Digital Integrity Texas Instruments Teza Technologies The 1636 Group The BoeingCompany The Boston Company Asset Management The Bridgespan Group The Container Store TheInvus Group LLC The Oregon Clinic The ResearchBoard The River Farm The Walt Disney Company The World Bank Thoreau Society Shop at WaldenPond Ticketmaster Inc Tilera Corporation TischSchool of the Arts New York University Town ofAndover U S Postal Service U.S. Department ofHomeland Security U.S. Federal Government USDepartment of Housing and Urban Development USSecret Service UW Department of Biomedical andHealth Informatics Undercover Culture Music Unibios Holdings Union Park Capital UnitedLearning Paddington Academy United States AirForce United States Navy Univ Cal University ofCalifornia Berkeley University of California at Davis University of California, San Francisco School ofMedicine University of Chicago Booth School ofBusiness University of Illinois at Urbana-ChampaignDept. of Chemical and Biomolecular Engineering University of Stuttgart University of Washington University of Waterloo VMware, Inc VMware, Inc. Vanasse Hangen Brustlin Inc Varbra S.A. Venmo Viacom Vital Arts Inc Vogue Plastic Surgery Vulcan Inc. Wells Fargo Home Mortgage WilliamBlair & Company Windward Mark Interactive Woods Hole Group Yahoo, Inc. Yelp Zipcar, Inc.

UNOFFICIAL GUIDE TO CS @ HARVARD9Photograph by Joseph OngCan I do research in CS?Will everyone in CS know more than me?Yes! Many CS courses offer opportunities for research,particularly 200-level courses. And you can takeCS91r to work one-on-one with faculty. Students andfaculty do research in all sorts of areas, including, butnot limited to:No! Contrary to popular belief, not every ComputerScientist has been programming since childhood! Infact, 66% of the students who took CS50 in Fall 2016had never taken a CS course before. Only 22% hadtaken one, and only 12% had taken two or more, perFigure 3. ArchitectureArtificial IntelligenceComputational and Data ScienceComputational NeuroscienceGraphics, Vision, and InteractionInformation and SocietyProgramming LanguagesSystems, Networks, and DatabasesTheory of ComputationTwo ormore 12%One22%None66%Figure 3: CS50 is most students’ very first course in CS. 66% ofthe students who took CS50 in Fall 2016 had never taken a CScourse before, 22% had taken one, and 12% had taken two ormore.

UNOFFICIAL GUIDE TO CS @ HARVARD10Popular Study Cards forSecondariesPlenty of other combinations are possible.Graduate-level (200-level) courses are also allowed!For “those less comfortable” CS50: Introduction to Computer Science ICS105: Privacy and TechnologyCS108: Intelligent Systems: Design and Ethical ChallengesCS179: Design of Usable Interactive SystemsFor “those more comfortable” CS51: Introduction to Computer Science IICS61: Systems Programming and Machine OrganizationCS125: Algorithms and ComplexityCS161: Operating SystemsFor those interested in data CS50: Introduction to Computer Science ICS109a: Introduction to Data ScienceCS109b: Advanced Topics in Data ScienceCS126: Fairness, Privacy, and Validity in Data AnalysisFor those interested in economics CS51: Introduction to Computer Science IICS121: Introduction to Theoretical Computer ScienceCS134: NetworksCS136: Economics and ComputationFor those interested in efficiency CS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS121: Introduction to Theoretical Computer ScienceCS124: Data Structures and AlgorithmsFor those interested in graphics CS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS171: VisualizationCS175: Computer GraphicsFor those interested in hardware CS61: Systems Programming and Machine OrganizationCS141: Computing HardwareCS146: Computer ArchitectureCS148: Design of VLSI Circuits and SystemsFor those interested in life sciences CS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS124: Data Structures and AlgorithmsCS171: VisualizationFor those interested in business CS50: Introduction to Computer Science ICS105: Privacy and TechnologyCS127: CryptographyCS165: Data SystemsFor those interested in math CS51: Introduction to Computer Science IICS121: Introduction to Theoretical Computer ScienceCS124: Data Structures and AlgorithmsCS191: Classics of Computer ScienceFor those interested in networks CS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS143: Computer NetworksCS144r: Networks Design ProjectsFor those interested in programming languages CS51: Introduction to Computer Science IICS61: Systems Programming and Machine OrganizationCS152: Programming LanguagesCS153: CompilersFor those interested in robotics CS51: Introduction to Computer Science IICS121: Introduction to Theoretical Computer ScienceCS181: Machine LearningCS189: Autonomous Multi-Robot SystemsFor those interested in speech recognition CS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS182: Artificial IntelligenceCS187: Computational LinguisticsFor those interested in software development CS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS96: System Design ProjectsCS124: Data Structures and Algorithms

UNOFFICIAL GUIDE TO CS @ HARVARDPopular Study Cards forConcentratorsPlenty of other combinations are possible.Graduate-level (200-level) courses are also allowed!For late converts to CS Math 1a: Introduction to CalculusMath 1b: Calculus, Series, and Differential EquationsAM21b: Mathematical Methods in the SciencesCS20: Discrete Mathematics for Computer ScienceCS50: Introduction to Computer Science ICS61: Systems Programming and Machine OrganizationCS109a: Introduction to Data ScienceCS109b: Advanced Topics in Data ScienceCS121: Introduction to Theoretical Computer ScienceCS124: Data Structures and AlgorithmsCS126: Fairness, Privacy, and Validity in Data AnalysisCS141: Computing HardwareCS179: Design of Usable Interactive SystemsFor those without prior college-level math,interested in human-computer interaction Math 1a: Introduction to CalculusMath 1b: Calculus, Series, and Differential EquationsAM21a: Mathematical Methods in the SciencesAM21b: Mathematical Methods in the SciencesCS20: Discrete Mathematics for Computer ScienceCS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS61: Systems Programming and Machine OrganizationCS96: System Design ProjectsCS105: Privacy and TechnologyCS108: Intelligent Systems: Design and Ethical ChallengesCS121: Introduction to Theoretical Computer ScienceCS124: Data Structures and AlgorithmsCS126: Fairness, Privacy, and Validity in Data AnalysisCS171: VisualizationCS179: Design of Usable Interactive SystemsCS182: Artificial Intelligence11For those with stronger math backgrounds,interested in hard-core systems AM21a: Mathematical Methods in the SciencesAM21b: Mathematical Methods in the SciencesCS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS61: Systems Programming and Machine OrganizationCS96: System Design ProjectsCS125: Algorithms and ComplexityCS127: CryptographyCS143: Computer NetworksCS144r: Network Design ProjectsCS148: Design of VLSI Circuits and SystemsCS153: CompilersCS161: Operating SystemsCS165: Data SystemsFor budding theorists writing theses Math 25a: Honors Linear Algebra and Real Analysis IMath 25b: Honors Linear Algebra and Real Analysis IIAM106: Applied AlgebraAM107: Graph Theory and CombinatoricsCS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS91r: Supervised Reading and ResearchCS121: Introduction to Theoretical Computer ScienceCS124: Data Structures and AlgorithmsCS134: NetworksCS141: Computing HardwareCS152: Programming LanguagesCS175: Computer GraphicsCS191: Classics of Computer ScienceFor those interested in machine intelligence AM21a: Mathematical Methods in the SciencesAM21b: Mathematical Methods in the SciencesCS20: Discrete Mathematics for Computer ScienceCS50: Introduction to Computer Science ICS51: Introduction to Computer Science IICS61: Systems Programming and Machine OrganizationCS121: Introduction to Theoretical Computer ScienceCS124: Data Structures and AlgorithmsCS136: Economics and ComputationCS141: Computing HardwareCS146: Computer ArchitectureCS181: Machine LearningCS187: Computational LinguisticsCS189: Autonomous Multi-Robot Systems

9 for popular study cards. See Computer Science under Secondary Fields in the Handbook for Students. How do I concentrate in CS? Take at least two of CS50, CS51, and CS61; take CS121 and another "theory" course; take four technical electives; and take Math 21a and Math 21b. Plus take any of Math 1a, Math 1b, and CS20 as needed. See page 8 for