CINXE.COM

GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!

<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-aaa714e5674d.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-7eaba1d4847c.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-43ae85d4871b.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["a11y_quote_reply_fix","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_repo_custom_instructions_preview","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","copilot_buffered_streaming","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","fgpat_form_ui_updates","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_o3_mini_streaming","hovercard_accessibility","insert_before_patch","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issues_react_assignee_warning","issue_types_prevent_private_type_creation","refresh_image_video_src","react_router_dispose_on_disconnect","turbo_app_id_restore"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-3a4b3bfa0f10.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-75968cfb5298.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-991161c61b06.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-2a55124d5c52.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-b8865f653f6b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-e429cff6ceb1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-c8912a318570.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-94dc7a2157c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-70450e-4b93df70b903.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-3e9d848bab5f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/codespaces-c3bcacfe317c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-3eebbd-0763620ad7bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-e161aa-9d41fb1b6c9e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_remote--3c9c82-b71ef90fbdc7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repositories-7a0dbaa42c57.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-1c0aedc134b1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-e05a7c4c5398.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-aaa76995a864.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-58a0c58bfee4.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9df1783473f10f02fb62.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9df1783473f10f02fb62.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!</title> <meta name="route-pattern" content="/:user_id/:repository" data-turbo-transient> <meta name="route-controller" content="files" data-turbo-transient> <meta name="route-action" content="disambiguate" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="80D4:F5484:4C8BE1:5FD287:67E374CD" data-pjax-transient="true"/><meta name="html-safe-nonce" content="788adaac43ed919ab840d7100be636cf5be0996c66380a4f5a7d8a26e86ba350" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MEQ0OkY1NDg0OjRDOEJFMTo1RkQyODc6NjdFMzc0Q0QiLCJ2aXNpdG9yX2lkIjoiODUzMTI0NjAxMzEyNjc2NzgyMSIsInJlZ2lvbl9lZGdlIjoic291dGhlYXN0YXNpYSIsInJlZ2lvbl9yZW5kZXIiOiJzb3V0aGVhc3Rhc2lhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="d8820fd97b3f2444348097bde89a54a6ed4fcfc1f2359fa86861142930921154" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:26689598" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content=":books: List of awesome university courses for learning Computer Science! - prakhar1989/awesome-courses"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/prakhar1989/awesome-courses" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/38946238d3ad75da1a311854f80407f3f0114064c0e50d6960bcd9a84697656d/prakhar1989/awesome-courses" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!" /><meta name="twitter:description" content=":books: List of awesome university courses for learning Computer Science! - prakhar1989/awesome-courses" /> <meta property="og:image" content="https://opengraph.githubassets.com/38946238d3ad75da1a311854f80407f3f0114064c0e50d6960bcd9a84697656d/prakhar1989/awesome-courses" /><meta property="og:image:alt" content=":books: List of awesome university courses for learning Computer Science! - prakhar1989/awesome-courses" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!" /><meta property="og:url" content="https://github.com/prakhar1989/awesome-courses" /><meta property="og:description" content=":books: List of awesome university courses for learning Computer Science! - prakhar1989/awesome-courses" /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="2cf3fd65e62446e9a9a844c0136a643e637b7dae189244e7bf20e405fc331edd" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="77190eb53eb47fc30bd2fcc17a7eefa2dfd8505869fee9299ba911be3a40a9eb" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="1994cd18701e16e6efa87d97f308447f5b0f15b7ae2b58d73f3d026c94bd5edd" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="8b39049e1b028b833af0a9ef42267031e795982bde408b6fd73a1dcd6086140e" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/prakhar1989/awesome-courses git https://github.com/prakhar1989/awesome-courses.git"> <meta name="octolytics-dimension-user_id" content="649249" /><meta name="octolytics-dimension-user_login" content="prakhar1989" /><meta name="octolytics-dimension-repository_id" content="26689598" /><meta name="octolytics-dimension-repository_nwo" content="prakhar1989/awesome-courses" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="26689598" /><meta name="octolytics-dimension-repository_network_root_nwo" content="prakhar1989/awesome-courses" /> <link rel="canonical" href="https://github.com/prakhar1989/awesome-courses" data-turbo-transient> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="ddcf1223a6f8e14ee451cd39877c75179d81fc86"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-9fbfacd366dd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-33dfb803e078.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9df1783473f10f02fb62.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-730dca81d0a2.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fprakhar1989%2Fawesome-courses" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dcb1d4f09acc721e06e5cbcf108f48d20a3e8097bd4b5322bbdf556cecc99496" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_navbar&quot;}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> Events &amp; Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> Ebooks &amp; Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:prakhar1989/awesome-courses" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="XL8ieco9JQBvoOVlXnn8UH02nNctlWNA4tiIfFvLubgGL51t0m332QSnFy0XrGZNPaZ7Lqko38-1vsZleY3ikA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="prakhar1989/awesome-courses" data-current-org="" data-current-owner="prakhar1989" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-4140dee7-0fb1-4d60-9d70-f8747f022369" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-4140dee7-0fb1-4d60-9d70-f8747f022369" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="GSsUo4U0MQXxsMXHoncFAkEX1kr8ELtWY9jd0x6i/kEMSVp5Qzi2N9VKW/F2PtpXvh7hAKY/cUH2hO0R/JLXSw==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="PuoKeqLQvpezp92lu7lQ8HCDk64Vx96YPyjhmrBjBzfeHP1e+lUMHfu5FPpk5xUfWvp2TeUB/2U7y3P/n1ItQA==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="R17uSjd/Z4l9mB+OfO/L7a1ES8IecXamDrWCUPFBmYjF/G0cCg57y9tiDZ6iWS9cwvUv4KRoroos929fHdo27w==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fprakhar1989%2Fawesome-courses" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dcb1d4f09acc721e06e5cbcf108f48d20a3e8097bd4b5322bbdf556cecc99496" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&amp;source=header-repo&amp;source_repo=prakhar1989%2Fawesome-courses" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dcb1d4f09acc721e06e5cbcf108f48d20a3e8097bd4b5322bbdf556cecc99496" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;;ref_cta:Sign up;ref_loc:header logged out&quot;}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-177df9ea-f3c6-4255-a82d-a88358edac08" aria-labelledby="tooltip-b5b6cc24-2c0d-49f5-b7e9-578cf2cb0de0" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-b5b6cc24-2c0d-49f5-b7e9-578cf2cb0de0" for="icon-button-177df9ea-f3c6-4255-a82d-a88358edac08" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/prakhar1989/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/prakhar1989"> prakhar1989 </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/prakhar1989/awesome-courses">awesome-courses</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Fprakhar1989%2Fawesome-courses" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="522c921ad4f97340da782fcd8d2e99c933fe58ae21b014441bb52a595cd24619" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-b01d7c5a-c7c1-4cf1-882d-749180397183" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fprakhar1989%2Fawesome-courses" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:26689598,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="59b994483f2fdccb439591bd1b12ab8afc9b577b4e5f681f12defea5267ae34f" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="8,191" data-view-component="true" class="Counter">8.2k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fprakhar1989%2Fawesome-courses" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:26689598,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b8c5fa6a5e3df79115ee8155f41346eff7848fa4ee9ea70289131c66544ff52b" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="59644 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="59,644" data-view-component="true" class="Counter js-social-count">59.6k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> <div class="d-block d-md-none mb-2 px-3 px-md-4 px-lg-5"> <p class="f4 mb-3 "> 📚 List of awesome university courses for learning Computer Science! </p> <div class="mb-3"> <a class="Link--secondary no-underline mr-3" href="/prakhar1989/awesome-courses/stargazers"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-1"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <span class="text-bold">59.6k</span> stars </a> <a class="Link--secondary no-underline mr-3" href="/prakhar1989/awesome-courses/forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-1"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <span class="text-bold">8.2k</span> forks </a> <a class="Link--secondary no-underline mr-3 d-inline-block" href="/prakhar1989/awesome-courses/branches"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch mr-1"> <path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path> </svg> <span>Branches</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/prakhar1989/awesome-courses/tags"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag mr-1"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span>Tags</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/prakhar1989/awesome-courses/activity"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-1"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span>Activity</span> </a> </div> <div class="d-flex flex-wrap gap-2"> <div class="flex-1"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fprakhar1989%2Fawesome-courses" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:26689598,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b8c5fa6a5e3df79115ee8155f41346eff7848fa4ee9ea70289131c66544ff52b" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </a></div> </div> <div class="flex-1"> <a href="/login?return_to=%2Fprakhar1989%2Fawesome-courses" rel="nofollow" id="files-overview-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/prakhar1989/awesome-courses&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="522c921ad4f97340da782fcd8d2e99c933fe58ae21b014441bb52a595cd24619" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-20d0d602-ea3d-4f49-934c-2ce7ffa24a1a" for="files-overview-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </div> <span> </span> </div> </div> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/prakhar1989/awesome-courses" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /prakhar1989/awesome-courses" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/prakhar1989/awesome-courses/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /prakhar1989/awesome-courses/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="40" data-view-component="true" class="Counter">40</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/prakhar1989/awesome-courses/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /prakhar1989/awesome-courses/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="16" data-view-component="true" class="Counter">16</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/prakhar1989/awesome-courses/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /prakhar1989/awesome-courses/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/prakhar1989/awesome-courses/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /prakhar1989/awesome-courses/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/prakhar1989/awesome-courses/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /prakhar1989/awesome-courses/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/prakhar1989/awesome-courses/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/prakhar1989/awesome-courses/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /prakhar1989/awesome-courses/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-button" popovertarget="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-overlay" aria-controls="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-list" aria-haspopup="true" aria-labelledby="tooltip-297d1218-e3fe-4e8f-a15b-d16fbe5a6d8a" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-297d1218-e3fe-4e8f-a15b-d16fbe5a6d8a" for="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-overlay" anchor="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-button" id="action-menu-8bffc286-0c7e-483f-a18e-96ffed269d5c-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-71b83a7c-74a3-4266-b7fb-eacec53ecad9" href="/prakhar1989/awesome-courses" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-30e0c5f6-c310-416d-8e79-e8dfae211446" href="/prakhar1989/awesome-courses/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-b08a332c-4be7-4b00-a850-eb2250ca96be" href="/prakhar1989/awesome-courses/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-4c83a548-85cd-409e-b3f5-c067d66fa051" href="/prakhar1989/awesome-courses/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-d4a649d7-4153-4b40-97cf-5a091be2b60a" href="/prakhar1989/awesome-courses/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i5security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-eff853ce-b4f8-467a-a33b-defeaa1dfbdf" href="/prakhar1989/awesome-courses/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-917bd00f-19e9-44d0-9a92-12e9cd90c138" href="/prakhar1989/awesome-courses/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <h1 class='sr-only'>prakhar1989/awesome-courses</h1> <div class="clearfix container-xl px-md-4 px-lg-5 px-3"> <div> <div style="max-width: 100%" data-view-component="true" class="Layout Layout--flowRow-until-md react-repos-overview-margin Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end"> <div data-view-component="true" class="Layout-main"> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-dd1d3ea6a436.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryObserver_js-node_modules_tanstack_-defd52-843b41414e0e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-17c672-34345cb18aac.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-e019c54eb886.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-7496afc3784d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-7094d4-15017f02e61c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-5f1d09-1ee828c2d6e8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repos-overview-d245eae13daf.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9df1783473f10f02fb62.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repos-overview.0ee7cac3ab511a65d9f9.module.css" /> <react-partial partial-name="repos-overview" data-ssr="true" data-attempted-ssr="true" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"initialPayload":{"allShortcutsEnabled":false,"path":"/","repo":{"id":26689598,"defaultBranch":"master","name":"awesome-courses","ownerLogin":"prakhar1989","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-11-15T18:36:49.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/649249?v=4","public":true,"private":false,"isOrgOwned":false},"currentUser":null,"refInfo":{"name":"master","listCacheKey":"v0:1665076601.519061","canEdit":false,"refType":"branch","currentOid":"e0b02ce4084c3b426304ae03ffcb072f7c8057f3"},"tree":{"items":[{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"}],"templateDirectorySuggestionUrl":null,"readme":null,"totalCount":3,"showBranchInfobar":false},"fileTree":null,"fileTreeProcessingTime":null,"foldersToFetch":[],"treeExpanded":false,"symbolsExpanded":false,"isOverview":true,"overview":{"banners":{"shouldRecommendReadme":false,"isPersonalRepo":false,"showUseActionBanner":false,"actionSlug":null,"actionId":null,"showProtectBranchBanner":false,"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_repo","releasePath":"/prakhar1989/awesome-courses/releases/new?marketplace=true","showPublishActionBanner":false},"interactionLimitBanner":null,"showInvitationBanner":false,"inviterName":null,"actionsMigrationBannerInfo":{"releaseTags":[],"showImmutableActionsMigrationBanner":false,"initialMigrationStatus":null}},"codeButton":{"contactPath":"/contact","isEnterprise":false,"local":{"protocolInfo":{"httpAvailable":true,"sshAvailable":null,"httpUrl":"https://github.com/prakhar1989/awesome-courses.git","showCloneWarning":null,"sshUrl":null,"sshCertificatesRequired":null,"sshCertificatesAvailable":null,"ghCliUrl":"gh repo clone prakhar1989/awesome-courses","defaultProtocol":"http","newSshKeyUrl":"/settings/ssh/new","setProtocolPath":"/users/set_protocol"},"platformInfo":{"cloneUrl":"https://desktop.github.com","showVisualStudioCloneButton":false,"visualStudioCloneUrl":"https://windows.github.com","showXcodeCloneButton":false,"xcodeCloneUrl":"xcode://clone?repo=https%3A%2F%2Fgithub.com%2Fprakhar1989%2Fawesome-courses","zipballUrl":"/prakhar1989/awesome-courses/archive/refs/heads/master.zip"}},"newCodespacePath":"/codespaces/new?hide_repo_select=true\u0026repo=26689598"},"popovers":{"rename":null,"renamedParentRepo":null},"commitCount":"554","overviewFiles":[{"displayName":"README.md","repoName":"awesome-courses","refName":"master","path":"README.md","preferredFileType":"readme","tabName":"README","richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAwesome CS Courses \u003ca href=\"https://github.com/sindresorhus/awesome\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/8693bde04030b1670d5097703441005eba34240c32d1df1eb82a5f0d6716518e/68747470733a2f2f63646e2e7261776769742e636f6d2f73696e647265736f726875732f617765736f6d652f643733303566333864323966656437386661383536353265336136336531353464643865383832392f6d656469612f62616467652e737667\" alt=\"Awesome\" data-canonical-src=\"https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/h1\u003e\u003ca id=\"user-content-awesome-cs-courses-\" class=\"anchor\" aria-label=\"Permalink: Awesome CS Courses \" href=\"#awesome-cs-courses-\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIntroduction\u003c/h2\u003e\u003ca id=\"user-content-introduction\" class=\"anchor\" aria-label=\"Permalink: Introduction\" href=\"#introduction\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThere are a lot of \u003cdel\u003ehidden\u003c/del\u003e treasures lying within university pages scattered across the internet. This list is an attempt to bring to light those awesome CS courses which make their high-quality materials, i.e. assignments, lectures, notes, readings and examinations, available online for free.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTable of Contents\u003c/h2\u003e\u003ca id=\"user-content-table-of-contents\" class=\"anchor\" aria-label=\"Permalink: Table of Contents\" href=\"#table-of-contents\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#algorithms\"\u003eAlgorithms\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#artificial-intelligence\"\u003eArtificial Intelligence\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#computer-graphics\"\u003eComputer Graphics\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#cs-theory\"\u003eCS Theory\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#introduction-to-cs\"\u003eIntroduction to CS\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#machine-learning\"\u003eMachine Learning\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#misc\"\u003eMisc\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#programming-languages--compilers\"\u003eProgramming Languages / Compilers\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#security\"\u003eSecurity\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#systems\"\u003eSystems\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#statistics\"\u003eStatistics / Regression\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLegend\u003c/h3\u003e\u003ca id=\"user-content-legend\" class=\"anchor\" aria-label=\"Permalink: Legend\" href=\"#legend\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e - Lecture Videos\u003c/li\u003e\n\u003cli\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e - Lecture Notes\u003c/li\u003e\n\u003cli\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e - Assignments / Labs\u003c/li\u003e\n\u003cli\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e - Readings\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCourses\u003c/h2\u003e\u003ca id=\"user-content-courses\" class=\"anchor\" aria-label=\"Permalink: Courses\" href=\"#courses\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSystems\u003c/h3\u003e\u003ca id=\"user-content-systems\" class=\"anchor\" aria-label=\"Permalink: Systems\" href=\"#systems\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://www-inst.eecs.berkeley.edu/~cs61c/sp15/\" rel=\"nofollow\"\u003eCS 61C\u003c/a\u003e \u003cstrong\u003eGreat Ideas in Computer Architecture (Machine Structures)\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe subjects covered in this course include: C and assembly language programming, translation of high-level programs into machine language, computer organization, caches, performance measurement, parallelism, CPU design, warehouse-scale computing, and related topics.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iCl2-D-FS5mk0jFF6cYSJs_?sort=titleSorter\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www-inst.eecs.berkeley.edu/~cs61c/sp15/#Calendar\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www-inst.eecs.berkeley.edu/~cs61c/sp15/#Resources\" rel=\"nofollow\"\u003eResources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://hkn.eecs.berkeley.edu/exams/course/CS/61C\" rel=\"nofollow\"\u003eOld Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courseware.stanford.edu/pg/courses/lectures/371747\" rel=\"nofollow\"\u003eCS 107\u003c/a\u003e \u003cstrong\u003eComputer Organization \u0026amp; Systems\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS107 is the third course in Stanford's introductory programming sequence. The course will work from the C programming language down to the microprocessor to de-mystify the machine. With a complete understanding of how computer systems execute programs and manipulate data, you will become a more effective programmer, especially in dealing with issues of debugging, performance, portability, and robustness.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/playlist?list=PL08D9FA018A965057\u0026amp;spfreload=10\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs107/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php\" rel=\"nofollow\"\u003eCS 140\u003c/a\u003e \u003cstrong\u003eOperating Systems\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis class introduces the basic facilities provided in modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency. The second part of the course addresses the problem of memory management. The third major part of the course concerns file systems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/projects.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://6004.mit.edu/\" rel=\"nofollow\"\u003e6.004\u003c/a\u003e \u003cstrong\u003eComputation Structures\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduces architecture of digital systems, emphasizing structural principles common to a wide range of technologies. Multilevel implementation strategies; definition of new primitives (e.g., gates, instructions, procedures, processes) and their mechanization using lower-level elements. Analysis of potential concurrency; precedence constraints and performance measures; pipelined and multidimensional systems. Instruction set design issues; architectural support for contemporary software structures. 4 Engineering Design Points. 6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops of series of building blocks logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/watch?v=9DWlqtsNGV0\u0026amp;index=1\u0026amp;list=PLmP5iIyVnKPQ-cO_EENdUgEdlRf0u5LYa\" rel=\"nofollow\"\u003eYoutube Playlist\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://computationstructures.org/notes/tradeoffs/notes.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://computationstructures.org/exercises/cmos/lab.html\" rel=\"nofollow\"\u003eLabs-Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs162.eecs.berkeley.edu/\" rel=\"nofollow\"\u003eCS 162\u003c/a\u003e \u003cstrong\u003eOperating Systems and Systems Programming\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe purpose of this course is to teach the design of operating systems and operating systems concepts that appear in other advanced systems. Topics we will cover include concepts of operating systems, systems programming, networked and distributed systems, and storage systems, including multiple-program systems (processes, interprocess communication, and synchronization), memory allocation (segmentation, paging), resource allocation and scheduling, file systems, basic networking (sockets, layering, APIs, reliability), transactions, security, and privacy.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOperating Systems course by the Chair of EECS, UC Berkeley \u003ca href=\"http://www.cs.berkeley.edu/~culler/\" rel=\"nofollow\"\u003eDavid Culler\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e Spring 2015 lectures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://inst.eecs.berkeley.edu/~cs162/sp15/\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e Spring 2015 lectures\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://inst.eecs.berkeley.edu/~cs168/fa14/\" rel=\"nofollow\"\u003eCS 168\u003c/a\u003e \u003cstrong\u003eIntroduction to the Internet: Architecture and Protocols\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://inst.eecs.berkeley.edu/~cs168/fa14/class.html\" rel=\"nofollow\"\u003eLecture Notes \u0026amp; Assignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://inst.eecs.berkeley.edu/~cs168/fa14/\" rel=\"nofollow\"\u003eDiscussion Notes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cms.caltech.edu/cs179/\" rel=\"nofollow\"\u003eCS 179\u003c/a\u003e \u003cstrong\u003eGPU Programming\u003c/strong\u003e \u003cem\u003eCaltech\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will cover programming techniques for the GPU. The course will introduce NVIDIA's parallel computing language, CUDA. Beyond covering the CUDA programming model and syntax, the course will also discuss GPU architecture, high performance computing on GPUs, parallel algorithms, CUDA libraries, and applications of GPU computing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cms.caltech.edu/cs179/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cms.caltech.edu/cs179/\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/site/cs186spring2015/\" rel=\"nofollow\"\u003eCS 186\u003c/a\u003e \u003cstrong\u003eIntroduction to Database Systems\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn the project assignments in CS186, you will write a basic database management system called SimpleDB. For this project, you will focus on implementing the core modules required to access stored data on disk; in future projects, you will add support for various query processing operators, as well as transactions, locking, and concurrent queries.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBVK2QzAV-R7NMA1ZkaiR2y\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/site/cs186fall2013/section-notes\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/site/cs186fall2013/homeworks\" rel=\"nofollow\"\u003eProjects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs241/sp2016/index.html\" rel=\"nofollow\"\u003eCS 241\u003c/a\u003e \u003cstrong\u003eSystems Programming (Spring 2016)\u003c/strong\u003e \u003cem\u003eUniv of Illinois, Urbana-Champaign\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSystem programming refers to writing code that tasks advantage of operating system support for programmers. This course is designed to introduce you to system programming. By the end of this course, you should be proficient at writing programs that take full advantage of operating system support. To be concrete, we need to fix an operating system and we need to choose a programming language for writing programs. We chose the C language running on a Linux/UNIX operating system (which implements the POSIX standard interface between the programmer and the OS).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs241/sp2016/mps.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs241/sp2016/labs.html\" rel=\"nofollow\"\u003eLabs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://angrave.github.io/sys/#\" rel=\"nofollow\"\u003eGithub Page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angrave/SystemProgramming/wiki\"\u003eCrowd Sourced Book\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs425/fa2016/index.html\" rel=\"nofollow\"\u003eCS 425\u003c/a\u003e \u003cstrong\u003eDistributed Systems\u003c/strong\u003e \u003cem\u003eUniv of Illinois, Urbana-Champaign\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBrilliant set of lectures and reading material covering fundamental concepts in distributed systems such as Vector clocks, Consensus and Paxos. This is the 2016 version by Prof Indranil Gupta.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs425/fa2016/lectures.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs425/fa2016/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/\" rel=\"nofollow\"\u003eCS 452\u003c/a\u003e \u003cstrong\u003eReal-Time Programming\u003c/strong\u003e \u003cem\u003eUniversity of Waterloo\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWrite a real-time OS microkernel in C, and application code to operate a model train set in response to real-time sensor information. The communication with the train set runs at 2400 baud so it takes about 61 milliseconds to ask all of the sensors for data about the train's possible location. This makes it particularly challenging because a train can move about 3 centimeters in that time. One of the most challenging and time-consuming courses at the University of Waterloo.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/assignments/index.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/notes/index.html\" rel=\"nofollow\"\u003eLecture notes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2043/2014sp/\" rel=\"nofollow\"\u003eCS 2043\u003c/a\u003e \u003cstrong\u003eUnix Tools \u0026amp; Scripting\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUNIX-like systems are increasingly being used on personal computers, mobile phones, web servers, and many other systems. They represent a wonderful family of programming environments useful both to computer scientists and to people in many other fields, such as computational biology and computational linguistics, in which data is naturally represented by strings. This course provides an intensive training to develop skills in Unix command line tools and scripting that enable the accomplishment and automation of large and challenging computing tasks. The syllabus takes students from shell basics and piping, to regular-expression processing tools, to shell scripting and Python.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2043/2014sp/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2043/2014sp/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2043/2014sp/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/cs3410/2016fa/\" rel=\"nofollow\"\u003eCS 3410\u003c/a\u003e \u003cstrong\u003eComputer System Organization and Programming\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS3410 provides an introduction to computer organization, systems programming and the hardware/software interface. Topics include instruction sets, computer arithmetic, datapath design, data formats, addressing modes, memory hierarchies including caches and virtual memory, I/O devices, bus-based I/O systems, and multicore architectures. Students learn assembly language programming and design a pipelined RISC processor.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3410/2014sp/schedule.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3410/2014sp/schedule.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4410/2014fa/\" rel=\"nofollow\"\u003eCS 4410\u003c/a\u003e \u003cstrong\u003eOperating Systems\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS 4410 covers systems programming and introductory operating system design and implementation. We will cover the basics of operating systems, namely structure, concurrency, scheduling, synchronization, memory management, filesystems, security and networking. The course is open to any undergraduate who has mastered the material in CS3410/ECE3140.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4410/2014fa/slides/01-intro.pptx\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4410/2014fa/lectures.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://rust-class.org/index.html\" rel=\"nofollow\"\u003eCS 4414\u003c/a\u003e \u003cstrong\u003eOperating Systems\u003c/strong\u003e \u003cem\u003eUniversity of Virginia\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA course (that) covers topics including: Analysis process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. The primary goal of this course is to improve your ability to build scalable, robust and secure computing systems. It focuses on doing that by understanding what underlies the core abstractions of modern computer systems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://rust-class.org/pages/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://rust-class.org/pages/classes.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/CS5412/2014sp/\" rel=\"nofollow\"\u003eCS 5412\u003c/a\u003e \u003cstrong\u003eCloud Computing\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTaught by one of the stalwarts of this field, Prof Ken Birman, this course has a fantastic set of slides that one can go through. The Prof's \u003ca href=\"http://www.amazon.com/Guide-Reliable-Distributed-Systems-High-Assurance/dp/1447124154\" rel=\"nofollow\"\u003ebook\u003c/a\u003e is also a gem and recommended as a must read in Google's tutorial on \u003ca href=\"http://www.hpcs.cs.tsukuba.ac.jp/~tatebe/lecture/h23/dsys/dsd-tutorial.html\" rel=\"nofollow\"\u003eDistributed System Design\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/CS5412/2014sp/Syllabus.htm\" rel=\"nofollow\"\u003eSlides\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://comp.uark.edu/~wingning/csce3613/csce3613.html\" rel=\"nofollow\"\u003eCSCE 3613\u003c/a\u003e \u003cstrong\u003eOperating Systems\u003c/strong\u003e \u003cem\u003eUniversity of Arkansas (Fayetteville)\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\t- An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://comp.uark.edu/~wingning/csce3613/CSCE3613.pdf\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://comp.uark.edu/~wingning/csce3613/Homework3613.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://comp.uark.edu/~wingning/csce3613/CourseNote3613.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://comp.uark.edu/~wingning/csce3613/Link3613.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.nyu.edu/~mwalfish/classes/15sp/index.html\" rel=\"nofollow\"\u003eCSCI-UA.0202: Operating Systems (Undergrad)\u003c/a\u003e \u003cstrong\u003eOperating Systems\u003c/strong\u003e \u003cem\u003eNYU\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNYU's operating system course. It's a fundamental course focusing basic ideas of operating systems, including memory management, process scheduling, file system, ect. It also includes some recommended reading materials. What's more, there are a series of hands-on lab materials, helping you easily understand OS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.nyu.edu/~mwalfish/classes/15sp/labs.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.nyu.edu/~mwalfish/classes/15sp/syllabus.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.nyu.edu/~mwalfish/classes/15sp/exams.html\" rel=\"nofollow\"\u003eOld Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci360/csci360_f14.php\" rel=\"nofollow\"\u003eCSCI 360\u003c/a\u003e \u003cstrong\u003eComputer Architecture 3\u003c/strong\u003e \u003cem\u003eCUNY Hunter College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA course that covers cache design, buses, memory hierarchies, processor-peripheral interfaces, and multiprocessors, including GPUs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci493.66/csci493.66_spr12.php\" rel=\"nofollow\"\u003eCSCI 493.66\u003c/a\u003e \u003cstrong\u003eUNIX System Programming (formerly UNIX Tools)\u003c/strong\u003e \u003cem\u003eCUNY Hunter College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA course that is mostly about writing programs against the UNIX API, covering all of the basic parts of the kernel interface and libraries, including files, processes, terminal control, signals, and threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci493.65/csci493.65_spr14.php\" rel=\"nofollow\"\u003eCSCI 493.75\u003c/a\u003e \u003cstrong\u003eParallel Computing\u003c/strong\u003e \u003cem\u003eCUNY Hunter College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course is an introduction to parallel algorithms and parallel programming in C and C++, using the Message Passing Interface (MPI) and the OpenMP application programming interface. It also includes a brief introduction to parallel architectures and interconnection networks. It is both theoretical and practical, including material on design methodology, performance analysis, and mathematical concepts, as well as details on programming using MPI and OpenMP.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.ops-class.org/\" rel=\"nofollow\"\u003eHack the Kernel\u003c/a\u003e \u003cstrong\u003eIntroduction to Operating Systems\u003c/strong\u003e \u003cem\u003eSUNY University at Buffalo, NY\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is an introduction to operating system design and implementation. We study operating systems because they are examples of mature and elegant solutions to a difficult design problem: how to safely and efficiently share system resources and provide abstractions useful to applications.\u003c/li\u003e\n\u003cli\u003eFor the processor, memory, and disks, we discuss how the operating system allocates each resource and explore the design and implementation of related abstractions. We also establish techniques for testing and improving system performance and introduce the idea of hardware virtualization. Programming assignments provide hands-on experience with implementing core operating system components in a realistic development environment. Course by \u003ca href=\"https://blue.cse.buffalo.edu/people/gwa/\" rel=\"nofollow\"\u003eDr.Geoffrey Challen\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.ops-class.org/courses/buffalo/CSE421_Spring2016/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.ops-class.org/slides/\" rel=\"nofollow\"\u003eSlides\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/playlist?list=PLE6LEE8y2Jp-kbEcVR2W3vfx0Pdca0BD3\" rel=\"nofollow\"\u003eVideo lectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.ops-class.org/asst/0/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.ops-class.org/exams/\" rel=\"nofollow\"\u003eOld Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://patricklam.ca/p4p/\" rel=\"nofollow\"\u003eECE 459\u003c/a\u003e \u003cstrong\u003eProgramming for Performance\u003c/strong\u003e \u003cem\u003eUniversity of Waterloo\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLearn techniques for profiling, rearchitecting, and implementing software systems that can handle industrial-sized inputs, and to design and build critical software infrastructure. Learn performance optimization through parallelization, multithreading, async I/O, vectorization and GPU programming, and distributed computing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patricklam/p4p-2015/tree/master/lectures\"\u003eLecture slides\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://webpages.uncc.edu/~jmconrad/EducationalMaterials/index.html\" rel=\"nofollow\"\u003eECGR4101/5101\u003c/a\u003e \u003cstrong\u003eEmbedded Systems using the Renesas RX63N Processor\u003c/strong\u003e \u003cem\u003eUniversity of North Carolina at Charlotte\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to designing microcontroller-based embedded computer systems using assembly and C programs. Examination of Real-time Operating Systems and their impact on performance. Computer engineering applications will be emphasized.\u003c/li\u003e\n\u003cli\u003eThe goal of this course is to solidify and build upon a student’s knowledge of computer organization by presenting hands-on experience with microcontrollers. Students will also examine a few sensors that are used in commercial and medical products and learn how to interface them in a microcontroller system.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/playlist?list=PLPIqCiMhcdO5gxLJWt_hY5CPMzqg75IU5\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://webpages.uncc.edu/~jmconrad/EducationalMaterials/index.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dcg.ethz.ch/lectures/podc_allstars/\" rel=\"nofollow\"\u003ePODC\u003c/a\u003e \u003cstrong\u003ePrinciples of Distributed Computing\u003c/strong\u003e \u003cem\u003eETH-Zurich\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExplore essential algorithmic ideas and lower bound techniques, basically the \"pearls\" of distributed computing in an easy-to-read set of lecture notes, combined with complete exercises and solutions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf\" rel=\"nofollow\"\u003eBook\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dcg.ethz.ch/lectures/podc_allstars/\" rel=\"nofollow\"\u003eAssignments and Solutions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://homes.cs.washington.edu/~djg/teachingMaterials/spac/\" rel=\"nofollow\"\u003eSPAC\u003c/a\u003e \u003cstrong\u003eParallelism and Concurrency\u003c/strong\u003e \u003cem\u003eUniv of Washington\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTechnically not a course nevertheless an awesome collection of materials used by Prof Dan Grossman to teach parallelism and concurrency concepts to sophomores at UWash\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.824/2014/index.html\" rel=\"nofollow\"\u003e6.824\u003c/a\u003e \u003cstrong\u003eDistributed Systems\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMIT's graduate-level DS course with a focus on fault tolerance, replication, and consistency, all taught via awesome lab assignments in Golang!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.824/2014/labs/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e - Just do \u003ccode\u003egit clone git://g.csail.mit.edu/6.824-golabs-2014 6.824\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.824/2014/schedule.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://pdos.csail.mit.edu/6.828/2014/\" rel=\"nofollow\"\u003e6.828\u003c/a\u003e \u003cstrong\u003eOperating Systems\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMIT's operating systems course focusing on the fundamentals of OS design including booting, memory management, environments, file systems, multitasking, and more. In a series of lab assignments, you will build JOS, an OS exokernel written in C.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://pdos.csail.mit.edu/6.828/2014/labguide.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://pdos.csail.mit.edu/6.828/2014/schedule.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://pdos.csail.mit.edu/6.828/2011/schedule.html\" rel=\"nofollow\"\u003eVideos\u003c/a\u003e Note: These are student recorded cam videos of the 2011 course. The videos explain a lot of concepts required for the labs and assignments.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/csep552/16wi/\" rel=\"nofollow\"\u003eCSEP 552\u003c/a\u003e \u003cstrong\u003eDistributed Systems\u003c/strong\u003e \u003cem\u003eUniversity of Washington\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCSEP552 is a graduate course on distributed systems. Distributed systems have become central to many aspects of how computers are used, from web applications to e-commerce to content distribution. This course will cover abstractions and implementation techniques for the construction of distributed systems, including client server computing, the web, cloud computing, peer-to-peer systems, and distributed storage systems. Topics will include remote procedure call, maintaining consistency of distributed state, fault tolerance, high availability, and other topics. As we believe the best way to learn the material is to build it, there will be a series of hands-on programming projects.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/csep552/13sp/video/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e of a previous session are available to watch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~213/\" rel=\"nofollow\"\u003e15-213\u003c/a\u003e \u003cstrong\u003eIntroduction to Computer Systems (ICS)\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe ICS course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.\u003c/li\u003e\n\u003cli\u003eThis is the must-have course for everyone in CMU who wants to learn some computer science no matter what major are you in. Because it's CMU (The course number is as same as the zip code of CMU)!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~213/schedule.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22\" rel=\"nofollow\"\u003eVideos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://csapp.cs.cmu.edu/public/labs.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html\" rel=\"nofollow\"\u003e15-319/619\u003c/a\u003e \u003cstrong\u003eCloud Computing (ICS)\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis project-based on-line course focuses on skill building across various aspects of cloud computing. We cover conceptual topics and provide hands-on experience through projects utilizing public cloud infrastructures (Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP)). The adoption of cloud computing services continues to grow across a variety of organizations and in many domains. Simply, cloud computing is the delivery of computing as a service over a network, whereby distributed resources and services are rented, rather than owned, by an end user as a utility.\u003c/li\u003e\n\u003cli\u003eFor the projects, students will work with Amazon Web Services, Microsoft Azure and Google Cloud Platform, use them to rent and provision compute resources and then program and deploy applications that run on these resources. Students will develop and evaluate virtual machine (VM) and container scaling, elasticity and load balancing solutions. In addition, students will work with cloud storage systems and learn to develop different applications using batch, iterative and stream processing frameworks. 15-619 students will have to complete an extra project which entails designing and implementing a complete web-service solution for querying big data. For the extra project, the student teams are evaluated based on the cost and performance of their web service.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html\" rel=\"nofollow\"\u003eVideos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.cmu.edu/~410/\" rel=\"nofollow\"\u003e15-410\u003c/a\u003e \u003cstrong\u003eOperating System Design and Implementation\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis awesome course covers some fundamental topics of operating system, such as process model, virtual memory concurrency, threads, locking, interrupts, preemptibility, race conditions. It also covers introductory understanding of typical OS topics (file systems, transactions, scheduling, security concepts and technologies, memory consistency)Parallel programming models / frameworks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.cmu.edu/~410/lecture.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.cmu.edu/~410/p1/proj1.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15418.courses.cs.cmu.edu/spring2015/\" rel=\"nofollow\"\u003e15-418\u003c/a\u003e \u003cstrong\u003eParallel Computer Architecture and Programming\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems as well as to teach parallel programming techniques necessary to effectively utilize these machines. Because writing good parallel programs requires an understanding of key machine performance characteristics, this course will cover both parallel hardware and software design.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15418.courses.cs.cmu.edu/spring2015/exercises\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15418.courses.cs.cmu.edu/spring2015/reading\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22a5862643-2416-49ef-b46b-13465d1b6df0%22\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15418.courses.cs.cmu.edu/spring2015/reading\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~dga/15-440/F12/index.html\" rel=\"nofollow\"\u003e15-440\u003c/a\u003e \u003cstrong\u003eDistributed Systems\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to distributed systems with a focus on teaching concepts via projects implemented in the Go programming language.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~dga/15-440/F12/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15721.courses.cs.cmu.edu/spring2016/\" rel=\"nofollow\"\u003e15-721\u003c/a\u003e \u003cstrong\u003eDatabase Systems\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is a comprehensive study of the internals of modern database management systems. It will cover the core concepts and fundamentals of the components that are used in both high-performance transaction processing systems (OLTP) and large-scale analytical systems (OLAP). The class will stress both efficiency and correctness of the implementation of these ideas. All class projects will be in the context of a real in-memory, multi-core database system. The course is appropriate for graduate students in software systems and for advanced undergraduates with strong systems programming skills.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15721.courses.cs.cmu.edu/spring2016/syllabus.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/playlist?list=PLSE8ODhjZXjbisIGOepfnlbfxeH7TW-8O\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15721.courses.cs.cmu.edu/spring2016/schedule.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15445.courses.cs.cmu.edu/fall2017/\" rel=\"nofollow\"\u003e15-445/645\u003c/a\u003e \u003cstrong\u003eDatabase Systems\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course covers fundamental topics of DBMS, compared to CMU 15-721.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15445.courses.cs.cmu.edu/fall2017/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/playlist?list=PLSE8ODhjZXjYutVzTeAds8xUt1rcmyT7x\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15445.courses.cs.cmu.edu/fall2017/schedule.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.andrew.cmu.edu/course/15-749/\" rel=\"nofollow\"\u003e15-749\u003c/a\u003e \u003cstrong\u003eEngineering Distributed Systems\u003c/strong\u003e \u003cem\u003eCarnegie-Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA project focused course on Distributed Systems with an awesome list of readings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.andrew.cmu.edu/course/15-749/READINGS/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ece.cmu.edu/~ece447/s15/doku.php?id=start\" rel=\"nofollow\"\u003e18-447\u003c/a\u003e \u003cstrong\u003eIntroduction to Computer Architecture\u003c/strong\u003e \u003cem\u003eCMU\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eVery comprehensive material on Computer Architecture - definitely more than just \"introduction\". Online material is very user-friendly, even the recitation videos available online. This is the Spring'15 version by Prof. \u003ca href=\"http://users.ece.cmu.edu/~omutlu/\" rel=\"nofollow\"\u003eOnur Mutlu \u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ece.cmu.edu/~ece447/s15/doku.php?id=schedule\" rel=\"nofollow\"\u003eLectures and Recitation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ece.cmu.edu/~ece447/s15/doku.php?id=homeworks\" rel=\"nofollow\"\u003eHomeworks\u003c/a\u003e 7 HWs with answer set as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ece.cmu.edu/~ece447/s15/doku.php?id=readings\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eProgramming Languages / Compilers\u003c/h3\u003e\u003ca id=\"user-content-programming-languages--compilers\" class=\"anchor\" aria-label=\"Permalink: Programming Languages / Compilers\" href=\"#programming-languages--compilers\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.swarthmore.edu/~jpolitz/cs75/s16/index.html\" rel=\"nofollow\"\u003eCS 75\u003c/a\u003e \u003cstrong\u003ePrinciples of Compiler Design\u003c/strong\u003e \u003cem\u003eSwathmore College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eModelled after the influential paper on \u003ca href=\"http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf\" rel=\"nofollow\"\u003eincremental approach to compiler design\u003c/a\u003e, this course teaches how to build a compiler in OCaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compilers-course-materials\"\u003eCourse on Github\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compilers-course-materials/cs75-s16-lectures\"\u003eNotes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/index.html\" rel=\"nofollow\"\u003eCS 91\u003c/a\u003e \u003cstrong\u003eIntroduction to Programming Languages\u003c/strong\u003e \u003cem\u003eSwathmore College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUses the \u003ca href=\"https://www.pyret.org/\" rel=\"nofollow\"\u003ePyret\u003c/a\u003e programming language \u0026amp; \u003ca href=\"http://papl.cs.brown.edu/2014/\" rel=\"nofollow\"\u003ePAPL\u003c/a\u003e book to understand the fundamentals of programming languages.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/s_labs.html\" rel=\"nofollow\"\u003eLabs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.seas.upenn.edu/~cis194/\" rel=\"nofollow\"\u003eCIS 194\u003c/a\u003e \u003cstrong\u003eIntroduction to Haskell\u003c/strong\u003e \u003cem\u003ePenn Engineering\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExplore the joys of functional programming, using Haskell as a vehicle. The aim of the course will be to allow you to use Haskell to easily and conveniently write practical programs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.seas.upenn.edu/~cis194/spring13/index.html\" rel=\"nofollow\"\u003ePrevious\u003c/a\u003e semester also available, with more exercises\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cis198-2016s.github.io/\" rel=\"nofollow\"\u003eCIS 198\u003c/a\u003e \u003cstrong\u003eRust Programming\u003c/strong\u003e \u003cem\u003eUPenn\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course covers what makes Rust so unique and applies it to practical systems programming problems. Topics covered include traits and generics; memory safety (move semantics, borrowing, and lifetimes); Rust’s rich macro system; closures; and concurrency.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cis198-2016s/homework\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.umd.edu/class/spring2015/cmsc430/\" rel=\"nofollow\"\u003eCMSC 430\u003c/a\u003e \u003cstrong\u003eIntroduction to Compilers\u003c/strong\u003e \u003cem\u003eUniv of Maryland\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe goal of CMSC 430 is to arm students with the ability to design, implement, and extend a programming language. Throughout the course, students will design and implement several related languages, and will explore parsing, syntax querying, dataflow analysis, compilation to bytecode, type systems, and language interoperation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.umd.edu/class/spring2015/cmsc430/Schedule.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.umd.edu/class/spring2015/cmsc430/Projects.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pradella.faculty.polimi.it/PL.html\" rel=\"nofollow\"\u003eCorsopl\u003c/a\u003e \u003cstrong\u003ePrinciples of Programming Languages\u003c/strong\u003e \u003cem\u003ePolitecnico di Milano\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e - Lecture Notes \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e - Readings\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course gives an overview of Scheme, Haskell and Erlang while analyzing the languages' similarities and differences. As a result, many important/prevalent concepts and how they manifest differently in different programming languages are explained. Among these are (purely) functional programming, object orientation, type inference and evaluation order.\u003c/li\u003e\n\u003cli\u003eThorough introduction to functional programming with no preknowledge in any functional language required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.princeton.edu/~dpw/courses/cos326-12/info.php\" rel=\"nofollow\"\u003eCOS 326\u003c/a\u003e \u003cstrong\u003eFunctional Programming\u003c/strong\u003e \u003cem\u003ePrinceton University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCovers functional programming concepts like closures, tail-call recursion \u0026amp; parallelism using the OCaml programming language\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.princeton.edu/~dpw/courses/cos326-12/lectures.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.princeton.edu/~dpw/courses/cos326-12/assignments.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://web.stanford.edu/class/cs143/\" rel=\"nofollow\"\u003eCS 143\u003c/a\u003e \u003cstrong\u003eCompiler construction\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS143 is a Stanford's course in the practical and theoretical aspects of compiler construction.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://web.stanford.edu/class/cs143/\" rel=\"nofollow\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://web.stanford.edu/class/cs143/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://web.stanford.edu/class/cs143/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://web.stanford.edu/class/cs143/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.keithschwarz.com/cs143/WWW/sum2011/\" rel=\"nofollow\"\u003eCS143 - 2011\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/a/bodik.org/cs164/home\" rel=\"nofollow\"\u003eCS 164\u003c/a\u003e \u003cstrong\u003eHack your language!\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to programming languages by designing and implementing domain-specific languages.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://archive.org/details/ucberkeley-webcast-PL3A16CFC42CA6EF4F\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/cs164_overlord/\" rel=\"nofollow\"\u003eCode for Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.brown.edu/courses/cs173/2014/\" rel=\"nofollow\"\u003eCS 173\u003c/a\u003e \u003cstrong\u003eProgramming Languages\u003c/strong\u003e \u003cem\u003eBrown University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCourse by Prof. Krishnamurthi (author of \u003ca href=\"http://htdp.org/2003-09-26/Book/\" rel=\"nofollow\"\u003eHtDP\u003c/a\u003e) and numerous other \u003ca href=\"http://cs.brown.edu/courses/cs173/2012/book/\" rel=\"nofollow\"\u003eawesome\u003c/a\u003e \u003ca href=\"http://papl.cs.brown.edu/2014/index.html\" rel=\"nofollow\"\u003ebooks\u003c/a\u003e on programming languages. Uses a custom designed \u003ca href=\"http://www.pyret.org/\" rel=\"nofollow\"\u003ePyret\u003c/a\u003e programming language to teach the concepts. There was an \u003ca href=\"http://cs.brown.edu/courses/cs173/2012/OnLine/\" rel=\"nofollow\"\u003eonline class\u003c/a\u003e hosted in 2012, which includes all lecture videos for you to enjoy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.brown.edu/courses/cs173/2012/Videos/\" rel=\"nofollow\"\u003eVideos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.brown.edu/courses/cs173/2014/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.classes.cs.uchicago.edu/archive/2016/winter/22300-1/\" rel=\"nofollow\"\u003eCS 223\u003c/a\u003e \u003cstrong\u003ePurely Functional Data Structures In Elm\u003c/strong\u003e \u003cem\u003eUniversity of Chicago\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course teaches functional reactive programming and purely functional data structures based on Chris Okazaki's book and using the Elm programming language.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/Schedule.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/Schedule.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.scs.stanford.edu/14sp-cs240h/\" rel=\"nofollow\"\u003eCS 240h\u003c/a\u003e \u003cstrong\u003eFunctional Systems in Haskell\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBuilding software systems in Haskell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.scs.stanford.edu/14sp-cs240h/slides/\" rel=\"nofollow\"\u003eLecture Slides\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e3 Assignments: \u003ca href=\"http://www.scs.stanford.edu/14sp-cs240h/labs/lab1.html\" rel=\"nofollow\"\u003eLab1\u003c/a\u003e, \u003ca href=\"http://www.scs.stanford.edu/14sp-cs240h/labs/lab2.html\" rel=\"nofollow\"\u003eLab2\u003c/a\u003e, \u003ca href=\"http://www.scs.stanford.edu/14sp-cs240h/labs/lab3.html\" rel=\"nofollow\"\u003eLab3\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs421/fa2014/\" rel=\"nofollow\"\u003eCS 421\u003c/a\u003e \u003cstrong\u003eProgramming Languages and Compilers\u003c/strong\u003e \u003cem\u003eUniv of Illinois, Urbana-Champaign\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\nCourse that uses OCaml to teach functional programming and programming language design.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs421/fa2014/lectures/index.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://recordings.engineering.illinois.edu/ess/portal/section/631edaeb-2a33-4537-b7c8-0c1cba783a4f\" rel=\"nofollow\"\u003eVideos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs421/fa2014/mps/index.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs421/fa2014/exams/index.html\" rel=\"nofollow\"\u003eExams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/cs3110/2014fa/course_info.php\" rel=\"nofollow\"\u003eCS 3110\u003c/a\u003e \u003cstrong\u003eData Structures and Functional Programming\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAnother course that uses OCaml to teach alternative programming paradigms, especially functional and concurrent programming.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/cs3110/2014fa/lecture_notes.php\" rel=\"nofollow\"\u003eLecture Slides\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/cs3110/2014fa/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4120/2013fa/\" rel=\"nofollow\"\u003eCS 4120\u003c/a\u003e \u003cstrong\u003eIntroduction to Compilers\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAn introduction to the specification and implementation of modern compilers. Topics covered include lexical scanning, parsing, type checking, code generation and translation, an introduction to optimization, and compile-time and run-time support for modern programming languages. As part of the course, students build a working compiler for an object-oriented language.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4120/2013fa/overview.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4120/2013fa/schedule.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4120/2013fa/homework.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pl.barzilay.org/\" rel=\"nofollow\"\u003eCS 4400\u003c/a\u003e \u003cstrong\u003eProgramming Languages\u003c/strong\u003e \u003cem\u003eNortheastern University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is a course on the study, design, and implementation of programming languages.\u003c/li\u003e\n\u003cli\u003eThe course works at two simultaneous levels: first, we will use a programming language that can demonstrate a wide variety of programming paradigms. Second, using this language, we will learn about the mechanics behind programming languages by implementing our own language(s). The two level approach usually means that we will often see how to use a certain feature, and continue by implementing it.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pl.barzilay.org/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pl.barzilay.org/resources.html\" rel=\"nofollow\"\u003eLecture Notes/Resources\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.virginia.edu/~weimer/4610/\" rel=\"nofollow\"\u003eCS 4610\u003c/a\u003e \u003cstrong\u003eProgramming Languages and Compilers\u003c/strong\u003e \u003cem\u003eUniversity of Virginia\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCourse that uses OCaml to teach functional programming and programming language design. Each assignment is a part of an interpreter and compiler for an object-oriented language similar to Java, and you are required to use a different language for each assignment (i.e., choose 4 from Python, JS, OCaml, Haskell, Ruby).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.virginia.edu/~weimer/4610/lectures.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.virginia.edu/~weimer/4610/pa.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5114/2013sp/index.php\" rel=\"nofollow\"\u003eCS 5114\u003c/a\u003e \u003cstrong\u003eNetwork Programming Languages\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course provides an introduction to the languages used to program computer networks. It will examine recent proposals based on logic, functional, and distributed languages, as well as tools for establishing correctness using automatic solvers, model checkers, and proof assistants.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5114/2013sp/syllabus.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5114/2013sp/syllabus.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5142/2013fa/\" rel=\"nofollow\"\u003eCS 5142\u003c/a\u003e \u003cstrong\u003eScripting Languages\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePerl, PHP, JavaScript, VisualBasic -- they are often-requested skills for employment, but most of us do not have the time to find out what they are all about. In this course, you learn how to use scripting languages for rapid prototyping, web programming, data processing, and application extension. Besides covering traditional programming languages concepts as they apply to scripting (e.g., dynamic typing and scoping), this course looks at new concepts rarely found in traditional languages (e.g., string interpolation, hashes, and polylingual code). Through a series of small projects, you use different languages to achieve programming tasks that highlight the strengths and weaknesses of scripting. As a side effect, you practice teaching yourself new languages.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5142/2013fa/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5142/2013fa/#schedule\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5142/2013fa/#schedule\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://matt.might.net/teaching/compilers/spring-2015/\" rel=\"nofollow\"\u003eCS 5470\u003c/a\u003e \u003cstrong\u003eCompilers\u003c/strong\u003e \u003cem\u003eUniversity of Utah\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIf you're a fan of Prof Matt's writing on his \u003ca href=\"http://matt.might.net/articles/\" rel=\"nofollow\"\u003efantastic blog\u003c/a\u003e you ought to give this a shot. The course covers the design and implementation of compilers, and it explores related topics such as interpreters, virtual machines and runtime systems. Aside from the Prof's witty take on \u003ca href=\"http://matt.might.net/teaching/compilers/spring-2015/#collaboration\" rel=\"nofollow\"\u003echeating\u003c/a\u003e the page has tons of interesting links on programming languages, parsing and compilers.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.dropbox.com/sh/zanwtoflw4pcfu8/5pdT6axS3y\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://matt.might.net/teaching/compilers/spring-2015/#projects\" rel=\"nofollow\"\u003eProjects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6118/2012fa/\" rel=\"nofollow\"\u003eCS 6118\u003c/a\u003e \u003cstrong\u003eTypes and Semantics\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTypes and Semantics is about designing and understand programming languages, whether they be domain specific or general purpose. The goal of this class is to provide a variety of tools for designing custom (programming) languages for whatever task is at hand. Part of that will be a variety of insights on how languages work along with experiences from working with academics and industry on creating new languages such as Ceylon and Kotlin. The class focuses on types and semantics and the interplay between them. This means category theory and constructive type theory (e.g. Coq and richer variations) are ancillary topics of the class. The class also covers unconventional semantic domains such as classical linear type theory in order to both break students from conventional thinking and to provide powerful targets capable of formalizing thinks like networking protocols, resource-sensitive computation, and concurrency constructs. The class project is to design and formalize a (programming) language for a purpose of the student's choosing, and assignments are designed to ensure students have had a chance to practice applying the techniques learned in class before culminating these skills in the class project.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6118/2012fa/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6118/2012fa/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://pgbovine.net/cpython-internals.htm\" rel=\"nofollow\"\u003eCSC 253\u003c/a\u003e \u003cstrong\u003eCPython internals: A ten-hour codewalk through the Python interpreter source code\u003c/strong\u003e \u003cem\u003eUniversity of Rochester\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNine lectures walking through the internals of CPython, the canonical Python interpreter implemented in C. They were from the \u003cem\u003eDynamic Languages and Software Development\u003c/em\u003e course taught in Fall 2014 at the University of Rochester.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/cse341/16sp/\" rel=\"nofollow\"\u003eCSE 341\u003c/a\u003e \u003cstrong\u003eProgramming Languages\u003c/strong\u003e \u003cem\u003eUniversity of Washington\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCovers non-imperative paradigms and languages such as Ruby, Racket, and ML and the fundamentals of programming languages.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.cs.washington.edu/courses/cse341/16sp/#lectures\" rel=\"nofollow\"\u003eLectures and Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.cs.washington.edu/courses/cse341/16sp/#homeworks\" rel=\"nofollow\"\u003eAssignments and Tests\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/csep501/09au/lectures/video.html\" rel=\"nofollow\"\u003eCSE P 501\u003c/a\u003e \u003cstrong\u003eCompiler Construction\u003c/strong\u003e \u003cem\u003eUniversity of Washington\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTeaches understanding of how a modern compiler is structured and the major algorithms that are used to translate code from high-level to machine language. The best way to do this is to actually build a working compiler, so there will be a significant project to implement one that translates programs written in a core subset of Java into executable x86 assembly language. The compilers themselves will use scanner and parser generator tools and the default implementation language is Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/csep501/09au/lectures/video.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/csep501/09au/homework/index.html\" rel=\"nofollow\"\u003eAssignments, Tests, and Solutions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.wheaton.edu/~tvandrun/dmfp/\" rel=\"nofollow\"\u003eDMFP\u003c/a\u003e \u003cstrong\u003eDiscrete Mathematics and Functional Programming\u003c/strong\u003e \u003cem\u003eWheaton College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA course that teaches discrete maths concepts with functional programming\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.wheaton.edu/~tvandrun/dmfp/\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.wheaton.edu/~tvandrun/dmfp/source.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.itu.dk/people/sestoft/itu/PCPP/E2015/\" rel=\"nofollow\"\u003ePCPP\u003c/a\u003e \u003cstrong\u003ePractical Concurrent and Parallel Programming\u003c/strong\u003e \u003cem\u003eIT University of Copenhagen\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn this MSc course you learn how to write correct and efficient concurrent and parallel software, primarily using Java, on standard shared-memory multicore hardware.\u003c/li\u003e\n\u003cli\u003eThe course covers basic mechanisms such as threads, locks and shared memory as well as more advanced mechanisms such as parallel streams for bulk data, transactional memory, message passing, and lock-free data structures with compare-and-swap.\u003c/li\u003e\n\u003cli\u003eIt covers concepts such as atomicity, safety, liveness and deadlock.\u003c/li\u003e\n\u003cli\u003eIt covers how to measure and understand performance and scalability of parallel programs.\u003c/li\u003e\n\u003cli\u003eIt covers tools and methods to find bugs in concurrent programs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://groups.csail.mit.edu/mac/users/gjs/6.945/index.html\" rel=\"nofollow\"\u003e6.945\u003c/a\u003e \u003cstrong\u003eAdventures in Advanced Symbolic Programming\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTaught by Gerald Sussman of SICP fame, this class deals with concepts and techniques for the design an implementation of large software systems that can be adapted to uses not anticipated by the designer. Applications include compilers, computer-algebra systems, deductive systems, and some artificial intelligence applications.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://groups.csail.mit.edu/mac/users/gjs/6.945/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e: Extensive programming assignments, using MIT/GNU Scheme. Students should have significant programming experience in Scheme, Common Lisp, Haskell, CAML or other \"functional\" language.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.eli.sdsu.edu/courses/fall15/cs696/index.html\" rel=\"nofollow\"\u003eCS 696\u003c/a\u003e \u003cstrong\u003eFunctional Design and Programming\u003c/strong\u003e \u003cem\u003eSan Diego State University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCovers functional programming basis using Clojure.\u003c/li\u003e\n\u003cli\u003eTopics include testing, functional programming, immutable collections and concurrency.\u003c/li\u003e\n\u003cli\u003eAlso includes assignments covering Clojurescript, [Reagent](Reagent Github) etc.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cl.cam.ac.uk/teaching/1516/L28/\" rel=\"nofollow\"\u003eL28\u003c/a\u003e \u003cstrong\u003eAdvanced Functional Programming\u003c/strong\u003e \u003cem\u003eUniversity of Cambridge\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis module aims to teach students how to use the features of modern typed functional programming languages (e.g. OCaml, Haskell) to design and implement libraries and DSLs. It aims to demonstrate how such techniques can improve both correctness and efficiency. Students wishing to take the module should have some experience of a typed functional programming language and an understanding of type inference.\u003c/li\u003e\n\u003cli\u003eThis particular session was taught by a prominent OCaml programmer, open Source contributor \u0026amp; author of real world OCaml - Dr Anil Madhavapeddy.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAlgorithms\u003c/h3\u003e\u003ca id=\"user-content-algorithms\" class=\"anchor\" aria-label=\"Permalink: Algorithms\" href=\"#algorithms\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://datastructur.es/sp16/\" rel=\"nofollow\"\u003eCS 61B\u003c/a\u003e \u003cstrong\u003eData Structures\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn this course, you will study advanced programming techniques including data structures, encapsulation, abstract data types, interfaces, and algorithms for sorting and searching, and you will get a taste of “software engineering”—the design and implementation of large programs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://datastructur.es/sp16/\" rel=\"nofollow\"\u003eFull Lecture Materials\u003c/a\u003e Lecture of Spring 2016. This website contains full matrials including video links, labs, homeworks, projects. Very good for self-learner. Also a good start for Java. And it includes some other useful resources for Java Documentation, Data Structure Resources, Git/GitHub and Java Development Resources. \u003ca href=\"http://datastructur.es/sp16/resources.html\" rel=\"nofollow\"\u003eResources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~jrs/61b/lab/index.html\" rel=\"nofollow\"\u003eLabs\u003c/a\u003e The link to labs and projects is included in the website.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iC2Khb1B5NnbE7SHPQ1-W17\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs97si/\" rel=\"nofollow\"\u003eCS 97SI\u003c/a\u003e \u003cstrong\u003eIntroduction to Competitive Programming\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFantastic repository of theory and practice problems across various topics for students who are interested to participate in ACM-ICPC.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaehyunp/stanfordacm\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://people.seas.harvard.edu/~minilek/cs224/fall14/index.html\" rel=\"nofollow\"\u003eCS 224\u003c/a\u003e \u003cstrong\u003eAdvanced Algorithms\u003c/strong\u003e \u003cem\u003eHarvard University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS 224 is an advanced course in algorithm design, and topics we will cover include the word RAM model, data structures, amortization, online algorithms, linear programming, semidefinite programming, approximation algorithms, hashing, randomized algorithms, fast exponential time algorithms, graph algorithms, and computational geometry.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://people.seas.harvard.edu/~minilek/cs224/fall14/lec.html\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e (\u003ca href=\"https://www.youtube.com/playlist?list=PL2SOU6wwxB0uP4rJgf5ayhHWgw7akUWSf\" rel=\"nofollow\"\u003eYoutube\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://people.seas.harvard.edu/~minilek/cs224/fall14/hmwk.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://theory.stanford.edu/~tim/w16/w16.html\" rel=\"nofollow\"\u003eCS 261\u003c/a\u003e \u003cstrong\u003eA Second Course in Algorithms\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAlgorithms for network optimization: max-flow, min-cost flow, matching, assignment, and min-cut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NP-complete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to online algorithms.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://theory.stanford.edu/~tim/w16/w16.html\" rel=\"nofollow\"\u003eLecture Notes, Videos \u0026amp; Assignments\u003c/a\u003e (\u003ca href=\"https://www.youtube.com/playlist?list=PLEGCF-WLh2RJh2yDxlJJjnKswWdoO8gAc\" rel=\"nofollow\"\u003eYoutube\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://jeffe.cs.illinois.edu/teaching/algorithms/\" rel=\"nofollow\"\u003eCS 473/573\u003c/a\u003e \u003cstrong\u003eFundamental Algorithms\u003c/strong\u003e \u003cem\u003eUniv of Illinois, Urbana-Champaign\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAlgorithms class covering recursion, randomization, amortization, graph algorithms, network flows and hardness. The lecture notes by Prof. Erikson are comprehensive enough to be a book by themselves. Highly recommended!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-algorithms.pdf\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-hwex.pdf\" rel=\"nofollow\"\u003eLabs and Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aaronbloomfield/pdr\"\u003eCS 2150\u003c/a\u003e \u003cstrong\u003eProgram \u0026amp; Data Representation\u003c/strong\u003e \u003cem\u003eUniversity of Virginia\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis data structures course introduces C++, linked-lists, stacks, queues, trees, numerical representation, hash tables, priority queues, heaps, huffman coding, graphs, and x86 assembly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://aaronbloomfield.github.io/pdr/slides/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://aaronbloomfield.github.io/pdr/labs/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4820/2015sp/\" rel=\"nofollow\"\u003eCS 4820\u003c/a\u003e \u003cstrong\u003eIntroduction to Analysis of Algorithms\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course develops techniques used in the design and analysis of algorithms, with an emphasis on problems arising in computing applications. Example applications are drawn from systems and networks, artificial intelligence, computer vision, data mining, and computational biology. This course covers four major algorithm design techniques (greedy algorithms, divide and conquer, dynamic programming, and network flow), computability theory focusing on undecidability, computational complexity focusing on NP-completeness, and algorithmic techniques for intractable problems, including identification of structured special cases, approximation algorithms, and local search heuristics.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4820/2015sp/lectures/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4820/2015sp/syllabus/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www-scf.usc.edu/~csci104/20142/lectures/\" rel=\"nofollow\"\u003eCSCI 104\u003c/a\u003e \u003cstrong\u003eData Structures and Object Oriented Design\u003c/strong\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003cem\u003eUniversity of Southern California (USC)\u003c/em\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://www-scf.usc.edu/~csci104/20142/lectures\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www-scf.usc.edu/~csci104/20142/labs\" rel=\"nofollow\"\u003eLabs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www-scf.usc.edu/~csci104/20142/assignments/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www-scf.usc.edu/~csci104/20142/resources.html\" rel=\"nofollow\"\u003eAdditional Resources\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/courses/csci135.php\" rel=\"nofollow\"\u003eCSCI 135\u003c/a\u003e \u003cstrong\u003eSoftware Design and Analysis I\u003c/strong\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cem\u003eCUNY Hunter College\u003c/em\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIt is currently an intensive introduction to program development and problem solving. Its emphasis is on the process of designing, implementing, and evaluating small-scale programs. It is not supposed to be a C++ programming course, although much of the course is spent on the details of C++. C++ is an extremely large and complex programming language with many features that interact in unexpected ways. One does not need to know even half of the language to use it well.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci135/csci135_36_fall12.php\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/courses/csci235.php\" rel=\"nofollow\"\u003eCSCI 235\u003c/a\u003e \u003cstrong\u003eSoftware Design and Analysis II\u003c/strong\u003e \u003cem\u003eCUNY Hunter College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduces algorithms for a few common problems such as sorting. Practically speaking, it furthers the students' programming skills with topics such as recursion, pointers, and exception handling, and provides a chance to improve software engineering skills and to give the students practical experience for more productive programming.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci235/csci235_f14.php\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/courses/csci335.php\" rel=\"nofollow\"\u003eCSCI 335\u003c/a\u003e \u003cstrong\u003eSoftware Design and Analysis III\u003c/strong\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cem\u003eCUNY Hunter College\u003c/em\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis includes the introduction of hashes, heaps, various forms of trees, and graphs. It also revisits recursion and the sorting problem from a higher perspective than was presented in the prequels. On top of this, it is intended to introduce methods of algorithmic analysis.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci335/csci335_s14.php\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/cse331/15sp/\" rel=\"nofollow\"\u003eCSE 331\u003c/a\u003e \u003cstrong\u003eSoftware Design and Implementation\u003c/strong\u003e \u003cem\u003eUniversity of Washington\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExplores concepts and techniques for design and construction of reliable and maintainable software systems in modern high-level languages; program structure and design; program-correctness approaches, including testing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/cse331/15sp/#all\" rel=\"nofollow\"\u003eLectures, Assignments, and Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www3.cs.stonybrook.edu/~skiena/373/\" rel=\"nofollow\"\u003eCSE 373\u003c/a\u003e \u003cstrong\u003eAnalysis of Algorithms\u003c/strong\u003e \u003cem\u003eStony Brook University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProf Steven Skiena's no stranger to any student when it comes to algorithms. His seminal \u003ca href=\"http://www.algorist.com/\" rel=\"nofollow\"\u003ebook\u003c/a\u003e has been touted by many to be best for \u003ca href=\"http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html\" rel=\"nofollow\"\u003egetting that job in Google\u003c/a\u003e. In addition, he's also well-known for tutoring students in competitive \u003ca href=\"http://www.programming-challenges.com/pg.php?page=index\" rel=\"nofollow\"\u003eprogramming competitions\u003c/a\u003e. If you're looking to brush up your knowledge on Algorithms, you can't go wrong with this course.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.sunysb.edu/~algorith/video-lectures/\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs122f10/\" rel=\"nofollow\"\u003eECS 122A\u003c/a\u003e \u003cstrong\u003eAlgorithm Design and Analysis\u003c/strong\u003e \u003cem\u003eUC Davis\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTaught by \u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/\" rel=\"nofollow\"\u003eDan Gusfield\u003c/a\u003e in 2010, this course is an undergraduate introduction to algorithm design and analysis. It features traditional topics, such as Big Oh notation, as well as an importance on implementing specific algorithms. Also featured are sorting (in linear time), graph algorithms, depth-first search, string matching, dynamic programming, NP-completeness, approximation, and randomization.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs122f10/syll122.pdf\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs122f10/videolist.html\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs122f10/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs222w11/\" rel=\"nofollow\"\u003eECS 222A\u003c/a\u003e \u003cstrong\u003eGraduate Level Algorithm Design and Analysis\u003c/strong\u003e \u003cem\u003eUC Davis\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is the graduate level complement to the ECS 122A undergraduate algorithms course by \u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/\" rel=\"nofollow\"\u003eDan Gusfield\u003c/a\u003e in 2011. It assumes an undergrad course has already been taken in algorithms, and, while going over some undergraduate algorithms topics, focuses more on increasingly complex and advanced algorithms.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs222f07/videolist.html\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs222w11/syll11.pdf\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.cs.ucdavis.edu/~gusfield/cs222w11/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/iap/interview/index.php\" rel=\"nofollow\"\u003e6.INT\u003c/a\u003e \u003cstrong\u003eHacking a Google Interview\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course taught in the MIT Independent Activities Period in 2009 goes over common solution to common interview questions for software engineer interviews at highly selective companies like Apple, Google, and Facebook. They cover time complexity, hash tables, binary search trees, and other common algorithm topics you should have already covered in a different course, but goes more in depth on things you wouldn't otherwise learn in class- like bitwise logic and problem solving tricks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/iap/interview/materials.php\" rel=\"nofollow\"\u003eHandouts\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/iap/interview/calendar.php\" rel=\"nofollow\"\u003eTopics Covered\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/index.htm\" rel=\"nofollow\"\u003e6.006\u003c/a\u003e \u003cstrong\u003eIntroduction to Algorithms\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/assignments/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/readings/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/download-course-materials/\" rel=\"nofollow\"\u003eResources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/exams/\" rel=\"nofollow\"\u003eOld Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/index.htm\" rel=\"nofollow\"\u003e6.046J/18.410J\u003c/a\u003e \u003cstrong\u003eDesign and Analysis of Algorithms\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography. This course assumes that students know how to analyze simple algorithms and data structures from having taken \u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/\" rel=\"nofollow\"\u003e6.006\u003c/a\u003e. It introduces students to the design of computer algorithms, as well as analysis of sophisticated algorithms.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-videos/\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-notes/\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/assignments/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/download-course-materials/\" rel=\"nofollow\"\u003eResources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/exams/\" rel=\"nofollow\"\u003eOld Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/6.851/spring21/index.html\" rel=\"nofollow\"\u003e6.851\u003c/a\u003e \u003cstrong\u003eAdvanced Data Structures\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is an advanced DS course, you must be done with the \u003ca href=\"https://courses.csail.mit.edu/6.854/current/\" rel=\"nofollow\"\u003eAdvanced Algorithms\u003c/a\u003e course before attempting this one.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/6.851/spring21/lectures/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e Contains videos from sp2012 version, but there isn't much difference.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/6.851/spring21/psets/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e contains the calendar as well.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/6.854/current/\" rel=\"nofollow\"\u003e6.854/18.415J\u003c/a\u003e \u003cstrong\u003eAdvanced Algorithms\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdvanced course in algorithms by Dr. David Karger covering topics such as amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRegister\u003c/strong\u003e on \u003ca href=\"http://nb.mit.edu/subscribe?key=D3a8CYpoO2VcR1ZcfaxmR5KbyjCGXd3INNXvL3mxEakYJ7qGJw\" rel=\"nofollow\"\u003eNB\u003c/a\u003e to access the \u003ca href=\"http://nb.mit.edu/\" rel=\"nofollow\"\u003eproblem set and lectures\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/index.htm\" rel=\"nofollow\"\u003e6.854J/18.415J\u003c/a\u003e \u003cstrong\u003eAdvanced Algorithms\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is a first-year graduate course in algorithms. Emphasis is placed on fundamental algorithms and advanced methods of algorithmic design, analysis, and implementation. Techniques to be covered include amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms. Domains include string algorithms, network optimization, parallel algorithms, computational geometry, online algorithms, external memory, cache, and streaming algorithms, and data structures. The need for efficient algorithms arises in nearly every area of computer science. But the type of problem to be solved, the notion of what algorithms are \"efficient,'' and even the model of computation can vary widely from area to area. In this second class in algorithms, we will survey many of the techniques that apply broadly in the design of efficient algorithms, and study their application in a wide range of application domains and computational models. The goal is for the class to be broad rather than deep. Our plan is to touch upon the following areas. This is a tentative list of topics that might be covered in the class; we will select material adaptively based on the background, interests, and rate of progress of the students.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/playlist?list=PL6ogFv-ieghdoGKGg2Bik3Gl1glBTEu8c\" rel=\"nofollow\"\u003eLecture Videos - Spring 2016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/lecture-notes/\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/assignments/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/readings/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/download-course-materials/\" rel=\"nofollow\"\u003eResources\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/afs/cs/academic/class/15451-f10/www/\" rel=\"nofollow\"\u003e15-451/651\u003c/a\u003e \u003cstrong\u003eAlgorithms\u003c/strong\u003e \u003cem\u003eCarnegie Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe required algorithms class that go in depth into all basic algorithms and the proofs behind them. This is one of the heavier algorithms curriculums on this page. Taught by Avrim Blum and \u003ca href=\"http://en.wikipedia.org/wiki/Manuel_Blum\" rel=\"nofollow\"\u003eManuel Blum\u003c/a\u003e who has a Turing Award due to his contributions to algorithms. Course link includes a very comprehensive set of reference notes by Avrim Blum.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.virginia.edu/~shelat/16s-4102/\" rel=\"nofollow\"\u003e16s-4102\u003c/a\u003e \u003cstrong\u003eAlgorithms\u003c/strong\u003e \u003cem\u003eUniversity of Virginia\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.virginia.edu/~shelat/16s-4102/\" rel=\"nofollow\"\u003eLecture Videos \u0026amp; Homeworks\u003c/a\u003e (\u003ca href=\"https://www.youtube.com/channel/UCxXYk53cSZof2bR_Ax0uJYQ/videos\" rel=\"nofollow\"\u003eYoutube\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCS Theory\u003c/h3\u003e\u003ca id=\"user-content-cs-theory\" class=\"anchor\" aria-label=\"Permalink: CS Theory\" href=\"#cs-theory\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.seas.upenn.edu/~cis500/cis500-f14/index.html\" rel=\"nofollow\"\u003eCIS 500\u003c/a\u003e \u003cstrong\u003eSoftware Foundations\u003c/strong\u003e \u003cem\u003eUniversity of Pennsylvania\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAn introduction to formal verification of software using the Coq proof assistant. Topics include basic concepts of logic, computer-assisted theorem proving, functional programming, operational semantics, Hoare logic, and static type systems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.seas.upenn.edu/~cis500/cis500-f14/index.html#schedule\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cis.upenn.edu/~bcpierce/sf/current/index.html\" rel=\"nofollow\"\u003eTextbook\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs103/\" rel=\"nofollow\"\u003eCS 103\u003c/a\u003e \u003cstrong\u003eMathematical Foundations of Computing\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS103 is a first course in discrete math, computability theory, and complexity theory. In this course, we'll probe the limits of computer power, explore why some problems are harder to solve than others, and see how to reason with mathematical certainty.\u003c/li\u003e\n\u003cli\u003eLinks to all lectures notes and assignments are directly on the course page\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/index.html\" rel=\"nofollow\"\u003eCS 173\u003c/a\u003e \u003cstrong\u003eDiscrete Structures\u003c/strong\u003e \u003cem\u003eUniv of Illinois Urbana-Champaign\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is an introduction to the theoretical side of computer science. In it, you will learn how to construct proofs, read and write literate formal mathematics, get a quick introduction to key theory topics and become familiar with a range of standard mathematics concepts commonly used in computer science.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.engr.illinois.edu/~mfleck/building-blocks/\" rel=\"nofollow\"\u003eTextbook\u003c/a\u003e Written by the professor. Includes Instructor's Guide.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/Homework/index.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/Exams/index.html\" rel=\"nofollow\"\u003eExams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~sanjamg/classes/cs276-fall14/\" rel=\"nofollow\"\u003eCS 276\u003c/a\u003e \u003cstrong\u003eFoundations of Cryptography\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course discusses the complexity-theory foundations of modern cryptography, and looks at recent results in the field such as Fully Homomorphic Encryption, Indistinguishability Obfuscation, MPC and so on.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~luca/cs278-08/\" rel=\"nofollow\"\u003eCS 278\u003c/a\u003e \u003cstrong\u003eComplexity Theory\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA graduate level course on complexity theory that introduces P vs NP, the power of randomness, average-case complexity, hardness of approximation, and so on.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs498374/fa2014/\" rel=\"nofollow\"\u003eCS 374\u003c/a\u003e \u003cstrong\u003eAlgorithms \u0026amp; Models of Computation (Fall 2014)\u003c/strong\u003e \u003cem\u003eUniversity of Illinois Urbana-Champaign\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS 498 section 374 (unofficially \"CS 374\") covers fundamental tools and techniques from theoretical computer science, including design and analysis of algorithms, formal languages and automata, computability, and complexity. Specific topics include regular and context-free languages, finite-state automata, recursive algorithms (including divide and conquer, backtracking, dynamic programming, and greedy algorithms), fundamental graph algorithms (including depth- and breadth-first search, topological sorting, minimum spanning trees, and shortest paths), undecidability, and NP-completeness. The course also has a strong focus on clear technical communication.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs498374/fa2014/work.html\" rel=\"nofollow\"\u003eAssignments/Exams\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.engr.illinois.edu/cs498374/fa2014/lectures.html\" rel=\"nofollow\"\u003eLecture Notes/Labs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://recordings.engineering.illinois.edu/ess/portal/section/115f3def-7371-4e98-b72f-6efe53771b2a\" rel=\"nofollow\"\u003eLecture videos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3110/2014fa/\" rel=\"nofollow\"\u003eCS 3110\u003c/a\u003e \u003cstrong\u003eData Structures and Functional Programming\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS 3110 (formerly CS 312) is the third programming course in the Computer Science curriculum, following CS 1110/1112 and CS 2110. The goal of the course is to help students become excellent programmers and software designers who can design and implement software that is elegant, efficient, and correct, and whose code can be maintained and reused.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3110/2014fa/course_info.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3110/2014fa/lecture_notes.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3110/2014fa/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/~bindel/class/cs3220-s12/\" rel=\"nofollow\"\u003eCS 3220\u003c/a\u003e \u003cstrong\u003eIntroduction to Scientific Computing\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn this one-semester survey course, we introduce numerical methods for solving linear and nonlinear equations, interpolating data, computing integrals, and solving differential equations, and we describe how to use these tools wisely (we hope!) when solving scientific problems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/~bindel/class/cs3220-s12/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/~bindel/class/cs3220-s12/lectures.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/~bindel/class/cs3220-s12/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4300/2013fa/\" rel=\"nofollow\"\u003eCS 4300\u003c/a\u003e \u003cstrong\u003eInformation Retrieval\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eStudies the methods used to search for and discover information in large-scale systems. The emphasis is on information retrieval applied to textual materials, but there is some discussion of other formats.The course includes techniques for searching, browsing, and filtering information and the use of classification systems and thesauruses. The techniques are illustrated with examples from web searching and digital libraries.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures/introduction.pdf\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures.htm\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures.htm\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.dsteurer.org/toc13/\" rel=\"nofollow\"\u003eCS 4810\u003c/a\u003e \u003cstrong\u003eIntroduction to Theory of Computing\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis undergraduate course provides a broad introduction to the mathematical foundations of computer science. We will examine basic computational models, especially Turing machines. The goal is to understand what problems can or cannot be solved in these models.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.dsteurer.org/toc13/syllabus/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.dsteurer.org/toc13/lectures/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.dsteurer.org/toc13/homework/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://complexity16.dsteurer.org/\" rel=\"nofollow\"\u003eCS 6810\u003c/a\u003e \u003cstrong\u003eTheory of Computing\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis graduate course gives a broad introduction to complexity theory, including classical results and recent developments. Complexity theory aims to understand the power of efficient computation (when computational resources like time and space are limited). Many compelling conceptual questions arise in this context. Most of these questions are (surprisingly?) difficult and far from being resolved. Nevertheless, a lot of progress has been made toward understanding them (and also why they are difficult). We will learn about these advances in this course. A theme will be combinatorial constructions with random-like properties, e.g., expander graphs and error-correcting codes. Some examples:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIs finding a solution inherently more difficult than verifying it?\u003c/li\u003e\n\u003cli\u003eDo more computational resources mean more computing power?\u003c/li\u003e\n\u003cli\u003eIs it easier to find approximate solutions than exact ones?\u003c/li\u003e\n\u003cli\u003eAre randomized algorithms more powerful than deterministic ones?\u003c/li\u003e\n\u003cli\u003eIs it easier to solve problems in the average case than in the worst case?\u003c/li\u003e\n\u003cli\u003eAre quantum computers more powerful than classical ones?\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://complexity16.dsteurer.org/syllabus/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://complexity16.dsteurer.org/lectures/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://complexity16.dsteurer.org/homework/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/3193/S11/index.html\" rel=\"nofollow\"\u003eCSCE 3193\u003c/a\u003e \u003cstrong\u003eProgramming Paradigms\u003c/strong\u003e \u003cem\u003eUniversity of Arkansas (Fayetteville)\u003c/em\u003e\t\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProgramming in different paradigms with emphasis on object oriented programming, network programming and functional programming. Survey of programming languages, event driven programming, concurrency, software validation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/3193/S11/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/3193/S11/notes/index.html\" rel=\"nofollow\"\u003eNotes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/3193/S11/hw/index.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/3193/S11/exams/index.html\" rel=\"nofollow\"\u003ePractice Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://stellar.mit.edu/S/course/6/sp15/6.045/index.html\" rel=\"nofollow\"\u003e6.045\u003c/a\u003e \u003cstrong\u003eGreat Ideas in Theoretical Computer Science\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course provides a challenging introduction to some of the central ideas of theoretical computer science. Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing. It examines the classes of problems that can and cannot be solved by various kinds of machines. It tries to explain the key differences between computational models that affect their power.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://stellar.mit.edu/S/course/6/sp15/6.045/courseMaterial/topics/topic1/syllabus/syllabus2015/syllabus2015.pdf\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://stellar.mit.edu/S/course/6/sp15/6.045/materials.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://stellar.mit.edu/S/course/6/sp15/6.045/special/videos/index.html\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIntroduction to CS\u003c/h3\u003e\u003ca id=\"user-content-introduction-to-cs\" class=\"anchor\" aria-label=\"Permalink: Introduction to CS\" href=\"#introduction-to-cs\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://inst.eecs.berkeley.edu/~cs10/fa14/\" rel=\"nofollow\"\u003eCS 10\u003c/a\u003e \u003cstrong\u003eThe Beauty and Joy of Computing\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS10 is UCB's introductory computer science class, taught using the beginners' drag-and-drop language. Students learn about history, social implications, great principles, and future of computing. They also learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://snap.berkeley.edu\" rel=\"nofollow\"\u003eSnap*!*\u003c/a\u003e (based on Scratch by MIT).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://bjc.berkeley.edu\" rel=\"nofollow\"\u003eCurriculum\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://cs50.harvard.edu/\" rel=\"nofollow\"\u003eCS 50\u003c/a\u003e \u003cstrong\u003eIntroduction to Computer Science\u003c/strong\u003e \u003cem\u003eHarvard University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS50x is Harvard College's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs50.tv/2017/fall/#about,lectures\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs50.tv/2017/fall/#about,psets\" rel=\"nofollow\"\u003eProblem Sets\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe course can also be taken from \u003ca href=\"https://www.edx.org/course/introduction-computer-science-harvardx-cs50x\" rel=\"nofollow\"\u003eedX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eThe course's OpenCourseware resides \u003ca href=\"http://cs50.tv\" rel=\"nofollow\"\u003ehere\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs61a.org/\" rel=\"nofollow\"\u003eCS 61A\u003c/a\u003e \u003cstrong\u003eStructure and Interpretation of Computer Programs [Python]\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn CS 61A, we are interested in teaching you about programming, not about how to use one particular \tprogramming language. We consider a series of techniques for controlling program complexity, such as functional programming, data abstraction, and object-oriented programming. Mastery of a particular programming language is a very useful side effect of studying these general techniques. However, our hope is that once you have learned the essence of programming, you will find that picking up a new programming language is but a few days' work.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.infocobuild.com/education/audio-video-courses/computer-science/cs61a-spring2014-berkeley.html\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs61a.org/by_type.html\" rel=\"nofollow\"\u003eLecture Resources by Type\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs61a.org/by_topic.html\" rel=\"nofollow\"\u003eLecture Resources by Topic\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs61a.org/articles/resources.html\" rel=\"nofollow\"\u003eAdditional Resources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs61a.org/problems/\" rel=\"nofollow\"\u003ePractice Problems\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs61a.org/extra.html\" rel=\"nofollow\"\u003eExtra Lectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://berkeley-cs61as.github.io/\" rel=\"nofollow\"\u003eCS 61AS\u003c/a\u003e \u003cstrong\u003eStructure \u0026amp; Interpretation of Computer Programs [Racket]\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA self-paced version of the CS61 Course but in Racket / Scheme. 61AS is a great introductory course that will ease you into all the amazing concepts that future CS courses will cover, so remember to keep an open mind, have fun, and always respect the data abstraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/course?category=University%2FEngineering%2FComputer%2520Science%2FProgramming%2520Languages\u0026amp;list=EC6D76F0C99A731667\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://berkeley-cs61as.github.io/textbook.html\" rel=\"nofollow\"\u003eAssignments and Notes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://online.stanford.edu/course/computer-science-101-self-paced\" rel=\"nofollow\"\u003eCS 101\u003c/a\u003e \u003cstrong\u003eComputer Science 101\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. Participants play and experiment with short bits of \"computer code\" to bring to life to the power and limitations of computers.\u003c/li\u003e\n\u003cli\u003eLectures videos will available for free after registration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS106A\" rel=\"nofollow\"\u003eCS 106A\u003c/a\u003e \u003cstrong\u003eProgramming Methodology\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is the largest of the introductory programming courses and is one of the largest courses at Stanford. Topics focus on the introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Programming Methodology teaches the widely-used Java programming language along with good software engineering principles.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS106A\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS106A\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://see.stanford.edu/materials/icspmcs106a/ProgrammingMethodologyAllMaterials.zip\" rel=\"nofollow\"\u003eAll materials in a zip file\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS106B\" rel=\"nofollow\"\u003eCS 106B\u003c/a\u003e \u003cstrong\u003eProgramming Abstractions\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS106B\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS106B\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://see.stanford.edu/materials/icspacs106b/ProgrammingAbstractionsAllMaterials.zip\" rel=\"nofollow\"\u003eAll materials in a zip file\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS107\" rel=\"nofollow\"\u003eCS 107\u003c/a\u003e \u003cstrong\u003eProgramming Paradigms\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTopics: Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. The functional paradigm (using LISP) and concurrent programming (using C and C++)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS107\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS107\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://otfried.org/courses/cs109/index.html\" rel=\"nofollow\"\u003eCS 109\u003c/a\u003e \u003cstrong\u003eProgramming Practice Using Scala\u003c/strong\u003e \u003cem\u003eKAIST\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course introduces basic concepts of programming and computer science, such as dynamic and static typing, dynamic memory allocation, objects and methods, binary representation of numbers, using an editor and compiler from the command line, running programs with arguments from the command line, using libraries, and the use of basic data structures such as arrays, lists, sets, and maps. We will use Scala for this course.\u003c/li\u003e\n\u003cli\u003e[Lectures] (\u003ca href=\"http://otfried.org/courses/cs109/index.html\" rel=\"nofollow\"\u003ehttp://otfried.org/courses/cs109/index.html\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Assignments] (\u003ca href=\"http://otfried.org/courses/cs109/index.html\" rel=\"nofollow\"\u003ehttp://otfried.org/courses/cs109/index.html\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1109/2013su/\" rel=\"nofollow\"\u003eCS 1109\u003c/a\u003e \u003cstrong\u003eFundamental Programming Concepts\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course provides an introduction to programming and problem solving using a high-level programming language. It is designed to increase your knowledge level to comfortably continue to courses CS111x. Our focus will be on generic programming concepts: variables, expressions, control structures, loops, arrays, functions, pseudocode and algorithms. You will learn how to analyze problems and convert your ideas into solutions interpretable by computers. We will use MATLAB; because it provides a productive environment, and it is widely used by all engineering communities.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1109/2013su/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1109/2013su/calendar.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1109/2013su/calendar.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1110/2014fa/\" rel=\"nofollow\"\u003eCS 1110\u003c/a\u003e \u003cstrong\u003eIntroduction to Computing Using Python\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProgramming and problem solving using Python. Emphasizes principles of software development, style, and testing. Topics include procedures and functions, iteration, recursion, arrays and vectors, strings, an operational model of procedure and function calls, algorithms, exceptions, object-oriented programming, and GUIs (graphical user interfaces). Weekly labs provide guided practice on the computer, with staff present to help. Assignments use graphics and GUIs to help develop fluency and understanding.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1110/2014fa/about/grading.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1110/2014fa/lectures/index.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1110/2014fa/assignments/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1112/2014fa/\" rel=\"nofollow\"\u003eCS 1112\u003c/a\u003e \u003cstrong\u003eIntroduction to Computing Using Matlab\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProgramming and problem solving using MATLAB. Emphasizes the systematic development of algorithms and programs. Topics include iteration, functions, arrays and vectors, strings, recursion, algorithms, object-oriented programming, and MATLAB graphics. Assignments are designed to build an appreciation for complexity, dimension, fuzzy data, inexact arithmetic, randomness, simulation, and the role of approximation. NO programming experience is necessary; some knowledge of Calculus is required.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1112/2014fa/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1112/2014fa/syllabus.html#schedule\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1112/2014fa/Exercises/exercises.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1112/2014fa/Projects/projects.html\" rel=\"nofollow\"\u003eProjects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1115/2013fa/\" rel=\"nofollow\"\u003eCS 1115\u003c/a\u003e \u003cstrong\u003eIntroduction to Computational Science and Engineering Using Matlab Graphical User Interfaces\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProgramming and problem solving using MATLAB. Emphasizes the systematic development of algorithms and programs. Topics include iteration, functions, arrays and vectors, strings, recursion, algorithms, object-oriented programming, and MATLAB graphics. Assignments are designed to build an appreciation for complexity, dimension, fuzzy data, inexact arithmetic, randomness, simulation, and the role of approximation. NO programming experience is necessary; some knowledge of Calculus is required.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1115/2013fa/syllabus.htm\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1115/2013fa/lecture_slides.htm\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1115/2013fa/projects_and_exams.htm\" rel=\"nofollow\"\u003eProjects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1130/2014sp/\" rel=\"nofollow\"\u003eCS 1130\u003c/a\u003e \u003cstrong\u003eTransition to OO Programming\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to object-oriented concepts using Java. Assumes programming knowledge in a language like MATLAB, C, C++, or Fortran. Students who have learned Java but were not exposed heavily to OO programming are welcome.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1130/2014sp/about/overview.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1130/2014sp/web-lectures/index.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1130/2014sp/assignments/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1133/2013fa/\" rel=\"nofollow\"\u003eCS 1133\u003c/a\u003e \u003cstrong\u003eTransition to Python\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to the Python programming language. Covers the basic programming constructs of Python, including assignment, conditionals, iteration, functions, object-oriented design, arrays, and vectorized computation. Assumes programming knowledge in a language like Java, Matlab, C, C++, or Fortran.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1133/2013fa/about/overview.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1133/2013fa/lectures/index.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS1133/2013fa/assignments/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.eng.utah.edu/~cs1410-20/\" rel=\"nofollow\"\u003eCS 1410-2\u003c/a\u003e and \u003ca href=\"http://www.eng.utah.edu/~cs2420-20/\" rel=\"nofollow\"\u003eCS2420-20\u003c/a\u003e \u003cstrong\u003eComputer Science I and II for Hackers\u003c/strong\u003e \u003cem\u003eUniversity of Utah\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAn intro course in the spirit of SICP designed by \u003ca href=\"http://www.cs.utah.edu/~mflatt/\" rel=\"nofollow\"\u003eProfessor Matthew Flatt\u003c/a\u003e (one of the lead designers of Racket and author of HtDP). Mostly Racket and C, and a bit of Java, with explanations on how high level functional programming concepts relate to the design of OOP programs. Do this one before SICP if SICP is a bit too much...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.eng.utah.edu/~cs1410-20/schedule.html\" rel=\"nofollow\"\u003eLectures and Assignments 1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.eng.utah.edu/~cs2420-20/schedule.html\" rel=\"nofollow\"\u003eLectures and Assignments 2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://htdp.org/2003-09-26/Book/curriculum.html\" rel=\"nofollow\"\u003eTextbook\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://racket-lang.org/\" rel=\"nofollow\"\u003eRacket Language\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2110/2014fa/index.html\" rel=\"nofollow\"\u003eCS 2110\u003c/a\u003e \u003cstrong\u003eObject-Oriented Programming and Data Structures\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS 2110 is an intermediate-level programming course and an introduction to computer science. Topics include program design and development, debugging and testing, object-oriented programming, proofs of correctness, complexity analysis, recursion, commonly used data structures, graph algorithms, and abstract data types. Java is the principal programming language. The course syllabus can easily be extracted by looking at the link to \u003ca href=\"http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html\" rel=\"nofollow\"\u003electures\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS2110/2014fa/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/info4302_2012fa/\" rel=\"nofollow\"\u003eCS 4302\u003c/a\u003e \u003cstrong\u003eWeb Information Systems\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will introduce you to technologies for building data-centric information systems on the World Wide Web, show the practical applications of such systems, and discuss their design and their social and policy context by examining cross-cutting issues such as citizen science, data journalism and open government. Course work involves lectures and readings as well as weekly homework assignments, and a semester-long project in which the students demonstrate their expertise in building data-centric Web information systems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/info4302_2012fa/course_information.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/info4302_2012fa/lectures.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/info4302_2012fa/homeworks.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/2004/S14/index.html\" rel=\"nofollow\"\u003eCSCE 2004\u003c/a\u003e \u003cstrong\u003eProgramming Foundations I\u003c/strong\u003e \u003cem\u003eUniversity of Arkansas (Fayetteville)\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroductory course for students majoring in computer science or computer engineering. Software development process: problem specification, program design, implementation, testing and documentation. Programming topics: data representation, conditional and iterative statements, functions, arrays, strings, file I/O, and classes. Using C++ in a UNIX environment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/2004/S14/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/2004/S14/notes/index.html\" rel=\"nofollow\"\u003eNotes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/2004/S14/hw/index.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.csce.uark.edu/~sgauch/2004/S14/index.html\" rel=\"nofollow\"\u003ePractice Exams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cse1.net/lectures\" rel=\"nofollow\"\u003eCSCI E-1\u003c/a\u003e \u003cstrong\u003eUnderstanding Computers and the Internet\u003c/strong\u003e \u003cem\u003eHarvard University Extension College\u003c/em\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is all about understanding: understanding what's going on inside your computer when you flip on the switch, why tech support has you constantly rebooting your computer, how everything you do on the Internet can be watched by others, and how your computer can become infected with a worm just by being turned on. Designed for students who use computers and the Internet every day but don't fully understand how it all works, this course fills in the gaps. Through lectures on hardware, software, the Internet, multimedia, security, privacy, website development, programming, and more, this course \"takes the hood off\" of computers and the Internet so that students understand how it all works and why. Through discussions of current events, students are exposed also to the latest technologies.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cse1.net/lectures\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cse1.net/syllabus\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cse1.net/recaps\" rel=\"nofollow\"\u003eNotes / Recaps\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cse1.net/psets\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.hmc.edu/csforall/\" rel=\"nofollow\"\u003eCS-for-all\u003c/a\u003e \u003cstrong\u003eCS for All\u003c/strong\u003e \u003cem\u003eHarvey Mudd College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis book (and course) takes a unique approach to “Intro CS.” In a nutshell, our objective is to provide an introduction to computer science as an intellectually rich and vibrant field rather than focusing exclusively on computer programming. While programming is certainly an important and pervasive element of our approach, we emphasize concepts and problem-solving over syntax and programming language features.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.hmc.edu/twiki/bin/view/ModularCS1\" rel=\"nofollow\"\u003eLectures and Other resources\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/index.htm\" rel=\"nofollow\"\u003e6.001\u003c/a\u003e \u003cstrong\u003eStructure and Interpretation of Computer Programs\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTeaches big-picture computing concepts using the Scheme programming language. Students will implement programs in a variety of different programming paradigms (functional, object-oriented, logical). Heavy emphasis on function composition, code-as-data, control abstraction with continuations, and syntactic abstraction through macros. An excellent course if you are looking to build a mental framework on which to hang your programming knowledge.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://mitpress.mit.edu/sicp/full-text/book/book.html\" rel=\"nofollow\"\u003eTextbook\u003c/a\u003e (\u003ca href=\"https://github.com/sarabander/sicp\"\u003eepub\u003c/a\u003e, \u003ca href=\"https://github.com/sarabander/sicp-pdf\"\u003epdf\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.neilvandyke.org/racket-sicp/\" rel=\"nofollow\"\u003eIDE\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.mit.edu/6.005/www/fa16/\" rel=\"nofollow\"\u003e6.005\u003c/a\u003e \u003cstrong\u003eSoftware Construction, Fall 2016\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course introduces fundamental principles and techniques of software development. Students learn how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; state machines; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.mit.edu/6.005/www/fa16/\" rel=\"nofollow\"\u003eLectures Notes/Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMachine Learning\u003c/h3\u003e\u003ca id=\"user-content-machine-learning\" class=\"anchor\" aria-label=\"Permalink: Machine Learning\" href=\"#machine-learning\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxford-cs-deepnlp-2017/\"\u003eDEEPNLP\u003c/a\u003e \u003cstrong\u003eDeep Learning for Natural Language Processing\u003c/strong\u003e \u003cem\u003eUniversity of Oxford\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is an applied course focussing on recent advances in analysing and generating speech and text using recurrent neural networks. We introduce the mathematical definitions of the relevant machine learning models and derive their associated optimisation algorithms. The course covers a range of applications of neural networks in NLP including analysing latent dimensions in text, transcribing speech to text, translating between languages, and answering questions. This course is organised by Phil Blunsom and delivered in partnership with the \u003cstrong\u003eDeepMind Natural Language Research Group\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxford-cs-deepnlp-2017/lectures\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAssignments are available on the organisation page titled as \"practicals\"\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs20si/index.html\" rel=\"nofollow\"\u003eCS20si\u003c/a\u003e \u003cstrong\u003eTensorflow for Deep Learning Research\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will cover the fundamentals and contemporary usage of the Tensorflow library for deep learning research. We aim to help students understand the graphical computational model of Tensorflow, explore the functions it has to offer, and learn how to build and structure models best suited for a deep learning project. Through the course, students will use Tensorflow to build models of different complexity, from simple linear/logistic regression to convolutional neural network and recurrent neural networks with LSTM to solve tasks such as word embeddings, translation, optical character recognition. Students will also learn best practices to structure a model and manage research experiments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chiphuyen/tf-stanford-tutorials\"\u003eAssignments\u003c/a\u003e available on Github.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.columbia.edu/~jebara/4771/index.html\" rel=\"nofollow\"\u003eCOMS 4771\u003c/a\u003e \u003cstrong\u003eMachine Learning\u003c/strong\u003e \u003cem\u003eColumbia University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCourse taught by \u003ca href=\"http://www.cs.columbia.edu/~jebara/resume.html\" rel=\"nofollow\"\u003eTony Jebara\u003c/a\u003e introduces topics in Machine Learning for both generative and discriminative estimation. Material will include least squares methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines, and kernel methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.columbia.edu/~jebara/4771/handouts.html\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs109.github.io/2015/\" rel=\"nofollow\"\u003eCS 109\u003c/a\u003e \u003cstrong\u003eData Science\u003c/strong\u003e \u003cem\u003eHarvard University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLearning from data in order to gain useful predictions and insights. This course introduces methods for five key facets of an investigation: data wrangling, cleaning, and sampling to get a suitable data set; data management to be able to access big data quickly and reliably; exploratory data analysis to generate hypotheses and intuition; prediction based on statistical methods such as regression and classification; and communication of results through visualization, stories, and interpretable summaries.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cm.dce.harvard.edu/2015/01/14328/publicationListing.shtml\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs109.github.io/2014/pages/schedule.html\" rel=\"nofollow\"\u003eSlides\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs109.github.io/2014/pages/homework.html\" rel=\"nofollow\"\u003eLabs and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs109.github.io/2014/\" rel=\"nofollow\"\u003e2014 Lectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cm.dce.harvard.edu/2014/01/14328/publicationListing.shtml\" rel=\"nofollow\"\u003e2013 Lectures\u003c/a\u003e \u003cem\u003e(slightly better)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://work.caltech.edu/telecourse.html\" rel=\"nofollow\"\u003eCS 156\u003c/a\u003e \u003cstrong\u003eLearning from Data\u003c/strong\u003e \u003cem\u003eCaltech\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is an introductory course in machine learning (ML) that covers the basic theory, algorithms, and applications. ML is a key technology in Big Data, and in many financial, medical, commercial, and scientific applications. It enables computational systems to adaptively improve their performance with experience accumulated from the observed data. ML has become one of the hottest fields of study today, taken up by undergraduate and graduate students from 15 different majors at Caltech. This course balances theory and practice, and covers the mathematical as well as the heuristic aspects.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://work.caltech.edu/lectures.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://work.caltech.edu/homeworks.html\" rel=\"nofollow\"\u003eHomework\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://work.caltech.edu/textbook.html\" rel=\"nofollow\"\u003eTextbook\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.eecs189.org/\" rel=\"nofollow\"\u003eCS 189\u003c/a\u003e \u003cstrong\u003eIntroduction To Machine Learning\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroductory ML course covering a wide range of topics: ranging from least squares to convolutional neural networks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.eecs189.org/\" rel=\"nofollow\"\u003eNotes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.eecs189.org/\" rel=\"nofollow\"\u003eHomework\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs224d.stanford.edu/\" rel=\"nofollow\"\u003eCS 224d\u003c/a\u003e \u003cstrong\u003eDeep Learning for Natural Language Processing\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNatural language processing (NLP) is one of the most important technologies of the information age. Understanding complex language utterances is also a crucial part of artificial intelligence. Applications of NLP are everywhere because people communicate most everything in language: web search, advertisement, emails, customer service, language translation, radiology reports, etc. There are a large variety of underlying tasks and machine learning models powering NLP applications. Recently, deep learning approaches have obtained very high performance across many different NLP tasks. These models can often be trained with a single end-to-end model and do not require traditional, task-specific feature engineering. In this spring quarter course students will learn to implement, train, debug, visualize and invent their own neural network models. The course provides a deep excursion into cutting-edge research in deep learning applied to NLP.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs224d.stanford.edu/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs224d.stanford.edu/syllabus.html\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://people.seas.harvard.edu/~minilek/cs229r/fall15/index.html\" rel=\"nofollow\"\u003eCS 229r\u003c/a\u003e \u003cstrong\u003eAlgorithms for Big Data\u003c/strong\u003e \u003cem\u003eHarvard University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBig data is data so large that it does not fit in the main memory of a single machine, and the need to process big data by efficient algorithms arises in Internet search, network traffic monitoring, machine learning, scientific computing, signal processing, and several other areas. This course will cover mathematically rigorous models for developing such algorithms, as well as some provable limitations of algorithms operating in those models.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://people.seas.harvard.edu/~minilek/cs229r/fall15/lec.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e (\u003ca href=\"https://www.youtube.com/playlist?list=PL2SOU6wwxB0v1kQTpqpuu5kEJo2i-iUyf\" rel=\"nofollow\"\u003eYoutube\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://people.seas.harvard.edu/~minilek/cs229r/fall15/hmwk.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs231n.stanford.edu/\" rel=\"nofollow\"\u003eCS 231n\u003c/a\u003e \u003cstrong\u003eConvolutional Neural Networks for Visual Recognition\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eComputer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. This course is a deep dive into details of the deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. During the 10-week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs231n.stanford.edu/syllabus.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/watch?v=NfnWJUyUJYU\u0026amp;list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs231n.github.io/\" rel=\"nofollow\"\u003eGithub Page\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/\" rel=\"nofollow\"\u003eCS 287\u003c/a\u003e \u003cstrong\u003eAdvanced Robotics\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course introduces the math and algorithms underneath state-of-the-art robotic systems. The majority of these techniques are heavily based on probabilistic reasoning and optimization---two areas with wide applicability in modern Artificial Intelligence. An intended side-effect of the course is to generally strengthen your expertise in these two areas.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/#syllabus\" rel=\"nofollow\"\u003eLectures Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/#assignments\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.nr.com/CS395T/\" rel=\"nofollow\"\u003eCS 395T\u003c/a\u003e \u003cstrong\u003eStatistical and Discrete Methods for Scientific Computing\u003c/strong\u003e \u003cem\u003eUniversity of Texas\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePractical course in applying modern statistical techniques to real data, particularly bioinformatic data and large data sets. The emphasis is on efficient computation and concise coding, mostly in MATLAB and C++.\nTopics covered include probability theory and Bayesian inference; univariate distributions; Central Limit Theorem; generation of random deviates; tail (p-value) tests; multiple hypothesis correction; empirical distributions; model fitting; error estimation; contingency tables; multivariate normal distributions; phylogenetic clustering; Gaussian mixture models; EM methods; maximum likelihood estimation; Markov Chain Monte Carlo; principal component analysis; dynamic programming; hidden Markov models; performance measures for classifiers; support vector machines; Wiener filtering; wavelets; multidimensional interpolation; information theory.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://wpressutexas.net/forum/\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4780/2014fa/\" rel=\"nofollow\"\u003eCS 4780\u003c/a\u003e \u003cstrong\u003eMachine Learning\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will introduce you to technologies for building data-centric information systems on the World Wide Web, show the practical applications of such systems, and discuss their design and their social and policy context by examining cross-cutting issues such as citizen science, data journalism and open government. Course work involves lectures and readings as well as weekly homework assignments, and a semester-long project in which the students demonstrate their expertise in building data-centric Web information systems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4780/2014fa/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4780/2014fa/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4786/2015sp/index.htm\" rel=\"nofollow\"\u003eCS 4786\u003c/a\u003e \u003cstrong\u003eMachine Learning for Data Science\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAn introductory course in machine learning, with a focus on data modeling and related methods and learning algorithms for data sciences. Tentative topic list:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDimensionality reduction, such as principal component analysis (PCA) and the singular value decomposition (SVD), canonical correlation analysis (CCA), independent component analysis (ICA), compressed sensing, random projection, the information bottleneck. (We expect to cover some, but probably not all, of these topics).\u003c/li\u003e\n\u003cli\u003eClustering, such as k-means, Gaussian mixture models, the expectation-maximization (EM) algorithm, link-based clustering. (We do not expect to cover hierarchical or spectral clustering.).\u003c/li\u003e\n\u003cli\u003eProbabilistic-modeling topics such as graphical models, latent-variable models, inference (e.g., belief propagation), parameter learning.\u003c/li\u003e\n\u003cli\u003eRegression will be covered if time permits.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4786/2015sp/assignments.htm\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4786/2015sp/lectures.htm\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/info\" rel=\"nofollow\"\u003eCVX 101\u003c/a\u003e \u003cstrong\u003eConvex Optimization\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course concentrates on recognizing and solving convex optimization problems that arise in applications. Topics addressed include the following. Convex sets, functions, and optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Optimality conditions, duality theory, theorems of alternative, and applications. Interior-point methods. Applications to signal processing, statistics and machine learning, control and mechanical engineering, digital and analog circuit design, and finance.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/~boyd/cvxbook/\" rel=\"nofollow\"\u003eTextbook\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/courseware/7206c57866504e83821d00b5d3f80793/\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule\" rel=\"nofollow\"\u003eDS-GA 1008\u003c/a\u003e \u003cstrong\u003eDeep Learning\u003c/strong\u003e \u003cem\u003eNew York University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis increasingly popular course is taught through the Data Science Center at NYU. Originally introduced by \u003ca href=\"http://yann.lecun.com/\" rel=\"nofollow\"\u003eYann Lecun\u003c/a\u003e, it is now led by \u003ca href=\"http://www.harchaoui.eu/\" rel=\"nofollow\"\u003eZaid Harchaoui\u003c/a\u003e, although Prof. Lecun is rumored to still stop by from time to time. It covers the theory, technique, and tricks that are used to achieve very high accuracy for machine learning tasks in computer vision and natural language processing. The assignments are in Lua and hosted on Kaggle.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule\" rel=\"nofollow\"\u003eCourse Page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://techtalks.tv/deep-learning-nyu-spring-2015/\" rel=\"nofollow\"\u003eRecorded Lectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ee.columbia.edu/~cylin/course/bigdata/\" rel=\"nofollow\"\u003eEECS E6893 \u0026amp; EECS E6895\u003c/a\u003e \u003cstrong\u003eBig Data Analytics \u0026amp; Advanced Big Data Analytics\u003c/strong\u003e \u003cem\u003eColumbia University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eStudents will gain knowledge on analyzing Big Data. It serves as an introductory course for graduate students who are expecting to face Big Data storage, processing, analysis, visualization, and application issues on both workplaces and research environments.\u003c/li\u003e\n\u003cli\u003eTaught by \u003ca href=\"http://researcher.watson.ibm.com/researcher/view.php?person=us-chingyung\" rel=\"nofollow\"\u003eDr. Ching-Yung Lin\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ee.columbia.edu/~cylin/course/bigdata/\" rel=\"nofollow\"\u003eCourse Site\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAssignments - Assignments are present in the Course Slides\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://llcao.net/cu-deeplearning15/index.html\" rel=\"nofollow\"\u003eEECS E6894\u003c/a\u003e \u003cstrong\u003eDeep Learning for Computer Vision and Natural Language Processing\u003c/strong\u003e \u003cem\u003eColumbia University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis graduate level research class focuses on deep learning techniques for vision and natural language processing problems. It gives an overview of the various deep learning models and techniques, and surveys recent advances in the related fields. This course uses Theano as the main programming tool. GPU programming experiences are preferred although not required. Frequent paper presentations and a heavy programming workload are expected.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://llcao.net/cu-deeplearning15/reading.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://llcao.net/cu-deeplearning15/programming_problem.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://llcao.net/cu-deeplearning15/index.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://stanford.edu/class/ee103/\" rel=\"nofollow\"\u003eEE103\u003c/a\u003e \u003cstrong\u003eIntroduction to Matrix Methods\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course covers the basics of matrices and vectors, solving linear equations, least-squares methods, and many applications. It'll cover the mathematics, but the focus will be on using matrix methods in applications such as tomography, image processing, data fitting, time series prediction, finance, and many others. EE103 is based on a book that \u003ca href=\"http://stanford.edu/~boyd/\" rel=\"nofollow\"\u003eStephen Boyd\u003c/a\u003e and \u003ca href=\"http://www.seas.ucla.edu/~vandenbe/\" rel=\"nofollow\"\u003eLieven Vandenberghe\u003c/a\u003e are currently writing. Students will use a new language called \u003ca href=\"http://julialang.org/\" rel=\"nofollow\"\u003eJulia\u003c/a\u003e to do computations with matrices and vectors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://stanford.edu/class/ee103/lectures.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://stanford.edu/class/ee103/mma.html\" rel=\"nofollow\"\u003eBook\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://stanford.edu/class/ee103/homework.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://stanford.edu/class/ee103/julia_files\" rel=\"nofollow\"\u003eCode\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://course.fast.ai/ml.html\" rel=\"nofollow\"\u003eFast.ai Introduction to Machine Learning for Coders\u003c/a\u003e \u003cem\u003eFast.ai / University of San Francisco\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThere are around 24 hours of lessons, and you should plan to spend around 8 hours a week for 12 weeks to complete the material. The course is based on lessons recorded at the University of San Francisco for the Masters of Science in Data Science program. We assume that you have at least one year of coding experience, and either remember what you learned in high school math, or are prepared to do some independent study to refresh your knowledge.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://course.fast.ai/lessonsml1/lessonsml1.html\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://medium.com/@hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastai/fastai/tree/master/courses/ml1\"\u003eJupyter Notebooks\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ischool.berkeley.edu/courses/i290-abdt\" rel=\"nofollow\"\u003eInfo 290\u003c/a\u003e \u003cstrong\u003eAnalyzing Big Data with Twitter\u003c/strong\u003e \u003cem\u003eUC Berkeley school of information\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn this course, UC Berkeley professors and Twitter engineers provide lectures on the most cutting-edge algorithms and software tools for data analytics as applied to Twitter's data. Topics include applied natural language processing algorithms such as sentiment analysis, large scale anomaly detection, real-time search, information diffusion and outbreak detection, trend detection in social streams, recommendation algorithms, and advanced frameworks for distributed computing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ischool.berkeley.edu/newsandevents/audiovideo/webcast/21963\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blogs.ischool.berkeley.edu/i290-abdt-s12/\" rel=\"nofollow\"\u003ePrevious Years coursepage\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/\" rel=\"nofollow\"\u003eMachine Learning: 2014-2015\u003c/a\u003e \u003cem\u003eUniversity of Oxford\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course focusses on neural networks and uses the \u003ca href=\"https://github.com/torch/torch7/wiki/Cheatsheet\"\u003eTorch\u003c/a\u003e deep learning library (implemented in Lua) for exercises and assignments. Topics include: logistic regression, back-propagation, convolutional neural networks, max-margin learning, siamese networks, recurrent neural networks, LSTMs, hand-writing with recurrent neural networks, variational autoencoders and image generation and reinforcement learning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/\" rel=\"nofollow\"\u003eLectures and Assignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxford-cs-ml-2015/\"\u003eSource code\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about\" rel=\"nofollow\"\u003eStatLearning\u003c/a\u003e \u003cstrong\u003eIntro to Statistical Learning\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is an introductory-level course in supervised learning, with a focus on regression and classification methods. The syllabus includes: linear and polynomial regression, logistic regression and linear discriminant analysis; cross-validation and the bootstrap, model selection and regularization methods (ridge and lasso); nonlinear models, splines and generalized additive models; tree-based methods, random forests and boosting; support-vector machines.\u003c/li\u003e\n\u003cli\u003eThe lectures cover all the material in \u003ca href=\"http://www-bcf.usc.edu/~gareth/ISL/\" rel=\"nofollow\"\u003eAn Introduction to Statistical Learning, with Applications in R\u003c/a\u003e which is a more approachable version of the \u003ca href=\"http://statweb.stanford.edu/~tibs/ElemStatLearn/\" rel=\"nofollow\"\u003eElements of Statistical Learning\u003c/a\u003e (or ESL) book.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~ninamf/courses/601sp15/\" rel=\"nofollow\"\u003e10-601\u003c/a\u003e \u003cstrong\u003eMachine Learning\u003c/strong\u003e \u003cem\u003eCarnegie Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course covers the theory and practical algorithms for machine learning from a variety of perspectives. It covers topics such as Bayesian networks, decision tree learning, Support Vector Machines, statistical learning methods, unsupervised learning and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, margin-based learning, and Occam's Razor. Short programming assignments include hands-on experiments with various learning algorithms. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in machine learning.\u003c/li\u003e\n\u003cli\u003eTaught by one of the leading experts on Machine Learning - \u003cstrong\u003eTom Mitchell\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~tom/10701_sp11/proj.shtml\" rel=\"nofollow\"\u003eProject Ideas and Datasets\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~epxing/Class/10708-14/index.html\" rel=\"nofollow\"\u003e10-708\u003c/a\u003e \u003cstrong\u003eProbabilistic Graphical Models\u003c/strong\u003e \u003cem\u003eCarnegie Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMany of the problems in artificial intelligence, statistics, computer systems, computer vision, natural language processing, and computational biology, among many other fields, can be viewed as the search for a coherent global conclusion from local information. The probabilistic graphical models framework provides a unified view for this wide range of problems, enabling efficient inference, decision-making and learning in problems with a very large number of attributes and huge datasets. This graduate-level course will provide you with a strong foundation for both applying graphical models to complex problems and for addressing core research topics in graphical models.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~epxing/Class/10708-14/homework.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html\" rel=\"nofollow\"\u003eLecture notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://deeplearning.cs.cmu.edu/\" rel=\"nofollow\"\u003e11-785\u003c/a\u003e \u003cstrong\u003eDeep Learning\u003c/strong\u003e \u003cem\u003eCarnegie Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course presents the subject through a series of seminars and labs, which will explore it from its early beginnings, and work themselves to some of the state of the art. The seminars will cover the basics of deep learning and the underlying theory, as well as the breadth of application areas to which it has been applied, as well as the latest issues on learning from very large amounts of data. We will concentrate largely, although not entirely, on the connectionist architectures that are most commonly associated with it. \u003cem\u003eLectures\u003c/em\u003e and \u003cem\u003eReading Notes\u003c/em\u003e are available on the page.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs246/\" rel=\"nofollow\"\u003eCS246\u003c/a\u003e \u003cstrong\u003eMining Massive Data Sets\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course will discuss data mining and machine learning algorithms for analyzing very large amounts of data. The emphasis will be on Map Reduce as a tool for creating parallel algorithms that can process very large amounts of data.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.mmds.org/#mooc\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs246/handouts.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs246/handouts.html\" rel=\"nofollow\"\u003eLecture notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.mmds.org/#book\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs276/index.html\" rel=\"nofollow\"\u003eCS276\u003c/a\u003e \u003cstrong\u003eInformation Retrieval and Web Search\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBasic and advanced techniques for text-based information systems: efficient text indexing; Boolean and vector space retrieval models; evaluation and interface issues; Web search including crawling, link-based algorithms, and Web metadata; text/Web clustering, classification; text mining.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs276/index.html#syllabus\" rel=\"nofollow\"\u003eLecture notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs276/index.html#books\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yandexdataschool/Practical_RL\"\u003ePractical_RL\u003c/a\u003e \u003cstrong\u003eReinforcement Learning in the Wild\u003c/strong\u003e \u003cem\u003eYandex SDA\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA course on reinforcement learning in the wild. Taught on-campus in HSE and Yandex SDA (russian) and maintained to be friendly to online students (both english and russian).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yandexdataschool/Practical_RL#syllabus\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://uvadlc.github.io/\" rel=\"nofollow\"\u003eUvA DEEP LEARNING\u003c/a\u003e \u003cstrong\u003eUvA Deep Learning Course\u003c/strong\u003e \u003cem\u003eUniversity of Amsterdam\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is taught in the MSc program in Artificial Intelligence of the University of Amsterdam. In this course we study the theory of deep learning, namely of modern, multi-layered neural networks trained on big data. The course focuses particularly on computer vision and language modelling, which are perhaps two of the most recognizable and impressive applications of the deep learning theory.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://uvadlc.github.io/#lecture\" rel=\"nofollow\"\u003eLecture Videos \u0026amp; Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://uvadlc.github.io/#practicals\" rel=\"nofollow\"\u003ePracticals\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://uvadlc.github.io/#other-links\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSecurity\u003c/h3\u003e\u003ca id=\"user-content-security\" class=\"anchor\" aria-label=\"Permalink: Security\" href=\"#security\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/\" rel=\"nofollow\"\u003eCIS 4930 / CIS 5930\u003c/a\u003e \u003cstrong\u003eOffensive Computer Security\u003c/strong\u003e \u003cem\u003eFlorida State University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCourse taught by \u003ca href=\"http://ww2.cs.fsu.edu/~redwood/\" rel=\"nofollow\"\u003eW. Owen Redwood\u003c/a\u003e and \u003ca href=\"http://www.cs.fsu.edu/~liux/\" rel=\"nofollow\"\u003eXiuwen Liu\u003c/a\u003e. It covers a wide range of computer security topics, starting from Secure C Coding and Reverse Engineering to Penetration Testing, Exploitation and Web Application Hacking, both from the defensive and the offensive point of view.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/lectures.html\" rel=\"nofollow\"\u003eLectures and Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://crypto.stanford.edu/cs155/\" rel=\"nofollow\"\u003eCS 155\u003c/a\u003e \u003cstrong\u003eComputer and Network Security\u003c/strong\u003e \u003cem\u003eStanford\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePrinciples of computer systems security. Attack techniques and how to defend against them. Topics include: network attacks and defenses, operating system holes, application security (web, email, databases), viruses, social engineering attacks, privacy, and digital rights management. Course projects focus on building reliable code. Recommended: Basic Unix. Primarily intended for seniors and first-year graduate students.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www-inst.eecs.berkeley.edu/~cs161/sp15/\" rel=\"nofollow\"\u003eCS 161\u003c/a\u003e \u003cstrong\u003eComputer Security\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courseware.stanford.edu/pg/courses/331628/cs259-winter-2013\" rel=\"nofollow\"\u003eCS 259\u003c/a\u003e \u003cstrong\u003eSecurity Modeling and Analysis\u003c/strong\u003e \u003cem\u003eStanford\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course will cover a variety of contemporary network protocols and other systems with security properties. The course goal is to give students hands-on experience in using automated tools and related techniques to analyze and evaluate security mechanisms. To understand security properties and requirements, we will look at several network protocols and their properties, including secrecy, authentication, key establishment, and fairness. In parallel, the course will look at several models and tools used in security analysis and examine their advantages and limitations. In addition to fully automated finite-state model checking techniques, we will also study other approaches, such as constraint solving, process algebras, protocol logics, probabilistic model checking, game theory, and executable models based on logic programming.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.icir.org/vern/cs261n-Sp14/\" rel=\"nofollow\"\u003eCS 261\u003c/a\u003e \u003cstrong\u003eInternet/Network Security\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis class aims to provide a thorough grounding in network security suitable for those interested in conducting research in the area, as well as students more generally interested in either security or networking. We will also look at broader issues relating to Internet security for which networking plays a role. Topics include: denial-of-service; capabilities; network intrusion detection; worms; forensics; scanning; traffic analysis / inferring activity; architecture; protocol issues; legality and ethics; web attacks; anonymity; honeypots; botnets; spam; the underground economy; research pitfalls. The course is taught with an emphasis on seminal papers rather than bleeding-edge for a given topic.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5430/2013sp/\" rel=\"nofollow\"\u003eCS 5430\u003c/a\u003e \u003cstrong\u003eSystem Security\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/prakhar1989/awesome-courses/blob/master\"\u003e\u003cimg src=\"/prakhar1989/awesome-courses/raw/master\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course discusses security for computers and networked information systems. We focus on abstractions, principles, and defenses for implementing military as well as commercial-grade secure systems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5430/2013sp/01.intro.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5430/2013sp/02.outline.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5430/2013sp/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RPISEC/MBE\"\u003eCSCI 4968\u003c/a\u003e \u003cstrong\u003eModern Binary Exploitation\u003c/strong\u003e \u003cem\u003eRensselaer Polytechnic Institute\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis repository contains the materials as developed and used by \u003ca href=\"http://rpis.ec\" rel=\"nofollow\"\u003eRPISEC\u003c/a\u003e to\nteach Modern Binary Exploitation at \u003ca href=\"http://rpi.edu\" rel=\"nofollow\"\u003eRensselaer Polytechnic Institute\u003c/a\u003e in\nSpring 2015. This was a university course developed and run solely by students to teach\nskills in vulnerability research, reverse engineering, and binary exploitation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://security.cs.rpi.edu/courses/binexp-spring2015/lectures/\" rel=\"nofollow\"\u003eLectures Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RPISEC/MBE/tree/master/src\"\u003eLabs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RPISEC/MBE/tree/master/src\"\u003eProjects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RPISEC/Malware\"\u003eCSCI 4976\u003c/a\u003e \u003cstrong\u003eMalware Analysis\u003c/strong\u003e \u003cem\u003eRensselaer Polytechnic Institute\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis repository contains the materials as developed and used by \u003ca href=\"http://rpis.ec\" rel=\"nofollow\"\u003eRPISEC\u003c/a\u003e to\nteach Malware Analysis at \u003ca href=\"http://rpi.edu\" rel=\"nofollow\"\u003eRensselaer Polytechnic Institute\u003c/a\u003e in\nFall 2015. This was a university course developed and run solely by students, primarily using the\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.eecs.umich.edu/courses/eecs588/\" rel=\"nofollow\"\u003eEECS 588\u003c/a\u003e \u003cstrong\u003eComputer \u0026amp; Network Security\u003c/strong\u003e \u003cem\u003eUniversity of Michigan\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTaught by \u003ca href=\"https://jhalderm.com/\" rel=\"nofollow\"\u003eJ. Alex Halderman\u003c/a\u003e who has analyzed the security of Electronic Voting Machines in the \u003ca href=\"https://jhalderm.com/pub/papers/dcvoting-fc12.pdf\" rel=\"nofollow\"\u003eUS\u003c/a\u003e and \u003ca href=\"https://jhalderm.com/pub/papers/ivoting-ccs14.pdf\" rel=\"nofollow\"\u003eover\u003c/a\u003e \u003ca href=\"https://jhalderm.com/pub/papers/evm-ccs10.pdf\" rel=\"nofollow\"\u003eseas\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eThis intensive research seminar covers foundational work and current topics in computer systems security.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.eecs.umich.edu/courses/eecs588/readings.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\n\u003ca href=\"http://www.amazon.com/Practical-Malware-Analysis-Dissecting-Malicious/dp/1593272901\" rel=\"nofollow\"\u003ePractical Malware Analysis\u003c/a\u003e\nbook by Michael Sikorski and Andrew Honig, to teach skills in reverse engineering, malicious behaviour, malware,\nand anti-analysis techniques.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RPISEC/Malware/tree/master/Lectures\"\u003eLectures Notes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RPISEC/Malware/tree/master/Labs\"\u003eLabs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RPISEC/Malware/tree/master/Projects\"\u003eProjects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.csail.mit.edu/6.857/2015/\" rel=\"nofollow\"\u003e6.857\u003c/a\u003e \u003cstrong\u003eComputer and Network Security\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEmphasis on applied cryptography and may include: basic notion of systems security, cryptographic hash functions, symmetric cryptography (one-time pad, stream ciphers, block ciphers), cryptanalysis, secret-sharing, authentication codes, public-key cryptography (encryption, digital signatures), public-key attacks, web browser security, biometrics, electronic cash, viruses, electronic voting, Assignments include a group final project. Topics may vary year to year.\n\u003ca href=\"https://courses.csail.mit.edu/6.857/2015/handouts\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\n\u003ca href=\"https://courses.csail.mit.edu/6.857/2015/references\" rel=\"nofollow\"\u003eReferences\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.858/2014/\" rel=\"nofollow\"\u003e6.858\u003c/a\u003e \u003cstrong\u003eComputer Systems Security\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/prakhar1989/awesome-courses/blob/master\"\u003e\u003cimg src=\"/prakhar1989/awesome-courses/raw/master\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDesign and implementation of secure computer systems. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications.\u003c/li\u003e\n\u003cli\u003eTaught by \u003ca href=\"http://research.microsoft.com/en-us/people/mickens/\" rel=\"nofollow\"\u003eJames Mickens\u003c/a\u003e and \u003ca href=\"http://people.csail.mit.edu/nickolai/\" rel=\"nofollow\"\u003eNickolai Zeldovich\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.858/2014/schedule.html\" rel=\"nofollow\"\u003eVideo Lectures and Labs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.858/2014/quiz.html\" rel=\"nofollow\"\u003eQuizzes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.858/2014/reference.html\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://css.csail.mit.edu/6.858/2014/projects.html\" rel=\"nofollow\"\u003eFinal Projects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courseware.stanford.edu/pg/courses/334553/18636-spring-2013\" rel=\"nofollow\"\u003e18-636\u003c/a\u003e \u003cstrong\u003eBrowser Security\u003c/strong\u003e \u003cem\u003eStanford\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe Web continues to grow in popularity as platform for retail transactions, financial services, and rapidly evolving forms of communication. It is becoming an increasingly attractive target for attackers who wish to compromise users' systems or steal data from other sites. Browser vendors must stay ahead of these attacks by providing features that support secure web applications. This course will study vulnerabilities in existing web browsers and the applications they render, as well as new technologies that enable web applications that were never before possible. The material will be largely based on current research problems, and students will be expected to criticize and improve existing defenses. Topics of study include (but are not limited to) browser encryption, JavaScript security, plug-in security, sandboxing, web mashups, and authentication.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eArtificial Intelligence\u003c/h3\u003e\u003ca id=\"user-content-artificial-intelligence\" class=\"anchor\" aria-label=\"Permalink: Artificial Intelligence\" href=\"#artificial-intelligence\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://ai.berkeley.edu/home.html\" rel=\"nofollow\"\u003eCS 188\u003c/a\u003e \u003cstrong\u003eIntroduction to Artificial Intelligence\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decision-theoretic modeling paradigm. By the end of this course, you will have built autonomous agents that efficiently make decisions in fully informed, partially observable and adversarial settings. Your agents will draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ai.berkeley.edu/lecture_videos.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ai.berkeley.edu/project_overview.html\" rel=\"nofollow\"\u003eProjects\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ai.berkeley.edu/exams.html\" rel=\"nofollow\"\u003eExams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4700/2014fa/\" rel=\"nofollow\"\u003eCS 4700\u003c/a\u003e \u003cstrong\u003eFoundations of Artificial Intelligence\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object and face detection and recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, and mobile computer vision. This is a project-based course, in which you will implement several computer vision algorithms throughout the semester.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4700/2014fa/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4700/2014fa/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6700/2013sp/\" rel=\"nofollow\"\u003eCS 6700\u003c/a\u003e \u003cstrong\u003eAdvanced Artificial Intelligence\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe design of systems that are among top 10 performers in the world (human, computer, or hybrid human-computer).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6700/2013sp/lectures/CS6700-Overview_v2.pptx\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6700/2013sp/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6700/2013sp/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/index.htm\" rel=\"nofollow\"\u003e6.868J\u003c/a\u003e \u003cstrong\u003eThe Society of Mind\u003c/strong\u003e \u003cem\u003eMIT\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is an introduction, by Prof. \u003ca href=\"http://www.nytimes.com/2016/01/26/business/marvin-minsky-pioneer-in-artificial-intelligence-dies-at-88.html?_r=0\" rel=\"nofollow\"\u003eMarvin Minsky\u003c/a\u003e, to the theory that tries to explain how minds are made from collections of simpler processes. It treats such aspects of thinking as vision, language, learning, reasoning, memory, consciousness, ideals, emotions, and personality. It incorporates ideas from psychology, artificial intelligence, and computer science to resolve theoretical issues such as wholes vs. parts, structural vs. functional descriptions, declarative vs. procedural representations, symbolic vs. connectionist models, and logical vs. common-sense theories of learning.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/video-lectures/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/assignments/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/readings/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eComputer Graphics\u003c/h3\u003e\u003ca id=\"user-content-computer-graphics\" class=\"anchor\" aria-label=\"Permalink: Computer Graphics\" href=\"#computer-graphics\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://crcv.ucf.edu/courses/CAP5415/\" rel=\"nofollow\"\u003eCAP 5415\u003c/a\u003e \u003cstrong\u003eComputer Vision\u003c/strong\u003e \u003cem\u003eUniversity of Central Florida\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAn introductory level course covering the basic topics of computer vision, and introducing some fundamental approaches for computer vision research.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://crcv.ucf.edu/videos/Lecture_Videos/\" rel=\"nofollow\"\u003eLectures and Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://crcv.ucf.edu/courses/CAP5415/Fall2014/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=CIS_581:_Computer_Vision_%26_Computational_Photography\" rel=\"nofollow\"\u003eCIS 581\u003c/a\u003e \u003cstrong\u003eComputer Vision and Computational Photography\u003c/strong\u003e \u003cem\u003eUniversity of Pennsylvania\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAn introductory course in computer vision and computational photography focusing on four topics: image features, image morphing, shape matching, and image search.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=Schedule\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=Projects\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15462.courses.cs.cmu.edu/fall2015\" rel=\"nofollow\"\u003eCMU 462\u003c/a\u003e \u003cstrong\u003eComputer Graphics\u003c/strong\u003e \u003cem\u003eCarnegie Mellon University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course provides a comprehensive introduction to computer graphics. Focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves \u0026amp; surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15462.courses.cs.cmu.edu/fall2015/reading\" rel=\"nofollow\"\u003eLectures and Readings\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://15462.courses.cs.cmu.edu/fall2015/exercises\" rel=\"nofollow\"\u003eAssignments and Quizes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ut-cs378-vision-2014fall/course-info\"\u003eCS 378\u003c/a\u003e \u003cstrong\u003e3D Reconstruction with Computer Vision\u003c/strong\u003e \u003cem\u003eUTexas\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn this lab-based class, we'll dive into practical applications of 3D reconstruction, combining hardware and software to build our own 3D environments from scratch. We'll use open-source frameworks like OpenCV to do the heavy lifting, with the focus on understanding and applying state-of-the art approaches to geometric computer vision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ut-cs378-vision-2014fall/course-info/tree/master/meeting-notes\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#\" rel=\"nofollow\"\u003eCS 4620\u003c/a\u003e \u003cstrong\u003eIntroduction to Computer Graphics\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe study of creating, manipulating, and using visual images in the computer.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#asgn\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#exams\" rel=\"nofollow\"\u003eExams\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4670/2015sp/\" rel=\"nofollow\"\u003eCS 4670\u003c/a\u003e \u003cstrong\u003eIntroduction to Computer Vision\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object and face detection and recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, and mobile computer vision. This is a project-based course, in which you will implement several computer vision algorithms throughout the semester.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4670/2015sp/projects/projects.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4670/2015sp/lectures/lectures.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://canvas.instructure.com/courses/904706\" rel=\"nofollow\"\u003eCS 6670\u003c/a\u003e \u003cstrong\u003eComputer Vision\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to computer vision. Topics include edge detection, image segmentation, stereopsis, motion and optical flow, image mosaics, 3D shape reconstruction, and object recognition. Students are required to implement several of the algorithms covered in the course and complete a final project.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://canvas.instructure.com/courses/904706/assignments/syllabus\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://canvas.instructure.com/courses/904706\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://canvas.instructure.com/courses/904706/assignments\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.brown.edu/courses/csci1230/index.html\" rel=\"nofollow\"\u003eCSCI 1230\u003c/a\u003e \u003cstrong\u003eIntroduction to Computer Graphics\u003c/strong\u003e \u003cem\u003eBrown University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course offers an in-depth exploration of fundamental concepts in 2D and 3D computer graphics. It introduces 2D raster graphics techniques, including scan conversion, simple image processing, interaction techniques and user interface design. The bulk of the course is devoted to 3D modeling, geometric transformations, and 3D viewing and rendering.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.brown.edu/courses/csci1230/lectures.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.brown.edu/courses/csci1230/labs.html\" rel=\"nofollow\"\u003eLabs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cs.brown.edu/courses/csci1230/demos.html\" rel=\"nofollow\"\u003eDemos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://mrl.nyu.edu/~perlin/courses/fall2015/\" rel=\"nofollow\"\u003eCSCI-GA.2270-001\u003c/a\u003e \u003cstrong\u003eGraduate Computer Graphics\u003c/strong\u003e \u003cem\u003eNew York University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eStep-by-step study computer graphics, with reading and homework at each lecture (Fall2015)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://mrl.nyu.edu/~perlin/courses/fall2015/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc\u003c/h3\u003e\u003ca id=\"user-content-misc\" class=\"anchor\" aria-label=\"Permalink: Misc\" href=\"#misc\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"http://am207.github.io/2016/index.html\" rel=\"nofollow\"\u003eAM 207\u003c/a\u003e \u003cstrong\u003eMonte Carlo Methods and Stochastic Optimization\u003c/strong\u003e \u003cem\u003eHarvard University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course introduces important principles of Monte Carlo techniques and demonstrates the power of these techniques with simple (but very useful) applications. All of this in Python!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cm.dce.harvard.edu/2015/02/24104/publicationListing.shtml\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://am207.github.io/2016/homework.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://am207.github.io/2016/lectures.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.tufts.edu/Course/75\" rel=\"nofollow\"\u003eCS 75\u003c/a\u003e \u003cstrong\u003eIntroduction to Game Development\u003c/strong\u003e \u003cem\u003eTufts University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe course taught by \u003ca href=\"http://mchow01.github.io\" rel=\"nofollow\"\u003eMing Y. Chow\u003c/a\u003e teaches game development initially in PyGame through Python, before moving on to addressing all facets of game development. Topics addressed include game physics, sprites, animation, game development methodology, sound, testing, MMORPGs and online games, and addressing mobile development in Android, HTML5, and iOS. Most to all of the development is focused on PyGame for learning principles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.tufts.edu/Course/75/Learningunits\" rel=\"nofollow\"\u003eText Lectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.tufts.edu/Course/75/Assignments\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ocw.tufts.edu/Course/75/Labs\" rel=\"nofollow\"\u003eLabs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://cs50.github.io/games/\" rel=\"nofollow\"\u003eCS 50\u003c/a\u003e \u003cstrong\u003eIntro to Game Developement\u003c/strong\u003e \u003cem\u003eHarvard University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course picks up where Harvard College’s \u003ca href=\"https://cs50.harvard.edu/\" rel=\"nofollow\"\u003eCS50\u003c/a\u003e leaves off, focusing on the development of 2D and 3D interactive games. Students explore the design of such childhood games as Super Mario Bros., Legend of Zelda, and Portal in a quest to understand how video games themselves are implemented. Via lectures and hands-on projects, the course explores principles of 2D and 3D graphics, animation, sound, and collision detection using frameworks like Unity and \u003ca href=\"https://love2d.org/\" rel=\"nofollow\"\u003eLÖVE 2D\u003c/a\u003e, as well as languages like Lua and C#. By class’s end, students will have programmed several of their own games and gained a thorough understanding of the basics of game design and development.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://cs50.github.io/games/assignments\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://cs50.github.io/games/lectures\" rel=\"nofollow\"\u003eLecture Videos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikeizbicki/ucr-cs100\"\u003eCS 100\u003c/a\u003e \u003cstrong\u003eOpen Source Software Construction\u003c/strong\u003e \u003cem\u003eUC Riverside\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is a course on how to be a hacker. Your first four homework assignments walk you through the process of building your own unix shell. You'll be developing it as an open source project, and you will collaborate with each other at various points.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikeizbicki/ucr-cs100\"\u003eGithub Page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikeizbicki/ucr-cs100/tree/2015winter/assignments\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/archive/cs/cs108/cs108.1092/\" rel=\"nofollow\"\u003eCS 108\u003c/a\u003e \u003cstrong\u003eObject Oriented System Design\u003c/strong\u003e \u003cem\u003eStanford\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSoftware design and construction in the context of large OOP libraries. Taught in Java. Topics: OOP design, design patterns, testing, graphical user interface (GUI) OOP libraries, software engineering strategies, approaches to programming in teams.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://inst.eecs.berkeley.edu/~cs168/fa15/\" rel=\"nofollow\"\u003eCS 168\u003c/a\u003e \u003cstrong\u003eComputer Networks\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is an undergraduate level course covering the fundamental concepts of networking as embodied in the Internet. The course will cover a wide range of topics; see the lecture schedule for more details. While the class has a textbook, we will not follow its order of presentation but will instead use the text as a reference when covering each individual topic. The course will also have several projects that involve programming (in Python).\u003c/li\u003e\n\u003cli\u003eYou should know programming, data structures, and software engineering. In terms of mathematics, your algebra should be very solid, you need to know basic probability, and you should be comfortable with thinking abstractly. The TAs will spend very little time reviewing material that is not specific to networking. We assume that you either know the material covered in those courses, or are willing to learn the material as necessary. We won't cover any of this material in lecture.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://web.stanford.edu/class/cs193a/lectures.shtml\" rel=\"nofollow\"\u003eCS 193a\u003c/a\u003e \u003cstrong\u003eAndroid App Development, Spring 2016\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCourse Description: This course provides an introduction to developing applications for the Android mobile platform.\u003c/li\u003e\n\u003cli\u003ePrerequisite: CS 106B or equivalent. Java experience highly recommended. OOP highly recommmended.\u003c/li\u003e\n\u003cli\u003eDevices: Access to an Android phone and/or tablet recommended but not required.\u003c/li\u003e\n\u003cli\u003eVideos: Videos list can be found \u003ca href=\"http://web.stanford.edu/class/cs193a/videos.shtml\" rel=\"nofollow\"\u003ehere\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOther materials: Some codes, handsout, homework ..... and lecture notes are not downloadable on the site due to login requirement. Please head to my Github repo \u003ca href=\"https://github.com/VoLuong/Materials-CS193A-Android-App-Development-Standford\"\u003ehere\u003c/a\u003e to download them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550\" rel=\"nofollow\"\u003eCS 193p\u003c/a\u003e \u003cstrong\u003eDeveloping Applications for iOS\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUpdated for iOS 7. Tools and APIs required to build applications for the iPhone and iPad platform using the iOS SDK. User interface designs for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Objective-C programming language. Other topics include: object-oriented database API, animation, multi-threading and performance considerations.\u003c/li\u003e\n\u003cli\u003ePrerequisites: C language and object-oriented programming experience\u003c/li\u003e\n\u003cli\u003eRecommended: \u003ca href=\"https://itunes.apple.com/us/course/programming-abstractions/id495054099\" rel=\"nofollow\"\u003eProgramming Abstractions\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099\" rel=\"nofollow\"\u003eUpdated courses for iOS8 - Swift\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961\" rel=\"nofollow\"\u003eUpdated courses for iOS9 - Swift\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://see.stanford.edu/Course/CS223A\" rel=\"nofollow\"\u003eCS 223A\u003c/a\u003e \u003cstrong\u003eIntroduction to Robotics\u003c/strong\u003e \u003cem\u003eStanford University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe purpose of this course is to introduce you to basics of modeling, design, planning, and control of robot systems. In essence, the material treated in this course is a brief survey of relevant results from geometry, kinematics, statics, dynamics, and control.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~brewer/cs262/\" rel=\"nofollow\"\u003eCS 262a\u003c/a\u003e \u003cstrong\u003eAdvanced Topics in Computer Systems\u003c/strong\u003e \u003cem\u003eUC Berkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS262a is the first semester of a year-long sequence on computer systems research, including operating systems, database systems, and Internet infrastructure systems. The goal of the course is to cover a broad array of research topics in computer systems, and to engage you in top-flight systems research. The first semester is devoted to basic thematic issues and underlying techniques in computer systems, while the second semester goes deeper into topics related to scalable, parallel and distributed systems. The class is based on a discussion of important research papers and a research project.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eParts\u003c/strong\u003e: Some Classics, Persistent Storage, Concurrency, Higher-Level Models, Virtual Machines, Cloud Computing, Parallel and Distributed Computing, Potpourri.\u003c/li\u003e\n\u003cli\u003ePrerequisites: The historical prerequisite was to pass an entrance exam in class, which covered undergraduate operating systems material (similar to \u003ca href=\"https://cs162.eecs.berkeley.edu/\" rel=\"nofollow\"\u003eUCB's CS162\u003c/a\u003e). There is no longer an exam. However, if you have not already taken a decent undergrad OS class, you should talk with me before taking this class. The exam had the benefit of \"paging in\" the undergrad material, which may have been its primary value (since the pass rate was high).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.berkeley.edu/~brewer/cs262/\" rel=\"nofollow\"\u003eReadings \u0026amp; Lectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://inst.eecs.berkeley.edu/~cs294-101/sp15/\" rel=\"nofollow\"\u003eCS 294\u003c/a\u003e \u003cstrong\u003eCutting-edge Web Technologies\u003c/strong\u003e \u003cem\u003eBerkeley\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWant to learn what makes future web technologies tick? Join us for the class where we will dive into the internals of many of the newest web technologies, analyze and dissect them. We will conduct survey lectures to provide the background and overview of the area as well as invite guest lecturers from various leading projects to present their technologies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://video.bilkent.edu.tr/course_videos.php?courseid=10\" rel=\"nofollow\"\u003eCS 411\u003c/a\u003e \u003cstrong\u003eSoftware Architecture Design\u003c/strong\u003e \u003cem\u003eBilkent University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course teaches the basic concepts, methods and techniques for designing software architectures. The topics include: rationale for software architecture design, modeling software architecture design, architectural styles/patterns, architectural requirements analysis, comparison and evaluation of architecture design methods, synthesis-based software architecture design, software product-line architectures, domain modeling, domain engineering and application engineering, software architecture implementation, evaluating software architecture designs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3152/2014sp/\" rel=\"nofollow\"\u003eCS 3152\u003c/a\u003e \u003cstrong\u003eIntroduction to Computer Game Development\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA project-based course in which programmers and designers collaborate to make a computer game. This course investigates the theory and practice of developing computer games from a blend of technical, aesthetic, and cultural perspectives. Technical aspects of game architecture include software engineering, artificial intelligence, game physics, computer graphics, and networking. Aesthetic and cultural include art and modeling, sound and music, game balance, and player experience.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3152/2014sp/about/faq.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3152/2014sp/lectures/index.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS3152/2014sp/assignments/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4152/2014sp/\" rel=\"nofollow\"\u003eCS 4152\u003c/a\u003e \u003cstrong\u003eAdvanced Topics in Computer Game Development\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProject-based follow-up course to CS/INFO 3152. Students work in a multidisciplinary team to develop a game that incorporates innovative game technology. Advanced topics include 3D game development, mobile platforms, multiplayer gaming, and nontraditional input devices. There is a special emphasis on developing games that can be submitted to festivals and competitions, or that can be commercialized.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4152/2014sp/about/faq.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4152/2014sp/sessions/index.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4152/2014sp/assignments/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4154/2014fa/\" rel=\"nofollow\"\u003eCS 4154\u003c/a\u003e \u003cstrong\u003eAnalytics-driven Game Design\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA project-based course in which programmers and designers collaborate to design, implement, and release a video game online through popular game portals. In this course, students will use the internet to gather data anonymously from players. Students will analyze this data in order to improve their game over multiple iterations. Technical aspects of this course include programming, database architecture, and statistical analysis.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4154/2014fa/about/faq.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4154/2014fa/lectures/index.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4154/2014fa/assignments/index.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.cit.cornell.edu/physics4481-7681_2018fa/\" rel=\"nofollow\"\u003eCS 4812\u003c/a\u003e \u003cstrong\u003eQuantum Information Processing\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eHardware that exploits quantum phenomena can dramatically alter the nature of computation. Though constructing a working quantum computer is a formidable technological challenge, there has been much recent experimental progress. In addition, the theory of quantum computation is of interest in itself, offering strikingly different perspectives on the nature of computation and information, as well as providing novel insights into the conceptual puzzles posed by the quantum theory. The course is intended both for physicists, unfamiliar with computational complexity theory or cryptography, and also for computer scientists and mathematicians, unfamiliar with quantum mechanics. The prerequisites are familiarity (and comfort) with finite dimensional vector spaces over the complex numbers, some standard group theory, and ability to count in binary.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.cit.cornell.edu/physics4481-7681_2018fa/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://courses.cit.cornell.edu/physics4481-7681_2018fa/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4860/2012fa/\" rel=\"nofollow\"\u003eCS 4860\u003c/a\u003e \u003cstrong\u003eApplied Logic\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn addition to basic first-order logic, when taught by Computer Science this course involves elements of Formal Methods and Automated Reasoning. Formal Methods is concerned with proving properties of algorithms, specifying programming tasks and synthesizing programs from proofs. We will use formal methods tools such as interactive proof assistants (see \u003ca href=\"http://www.nuprl.org\" rel=\"nofollow\"\u003ewww.nuprl.org\u003c/a\u003e). We will also spend two weeks on constructive type theory, the language used by the Coq and Nuprl proof assistants.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5150/2014fa/overview.html\" rel=\"nofollow\"\u003eCS 5150\u003c/a\u003e \u003cstrong\u003eSoftware Engineering\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduction to the practical problems of specifying, designing, building, testing, and delivering reliable software systems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5150/2014fa/materials.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS5150/2014fa/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/~bindel/class/cs5220-f11/\" rel=\"nofollow\"\u003eCS 5220\u003c/a\u003e \u003cstrong\u003eApplications of Parallel Computers\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eHow do we solve the large-scale problems of science quickly on modern computers? How do we measure the performance of new or existing simulation codes, and what things can we do to make them run faster? How can we best take advantage of features like multicore processors, vector units, and graphics co-processors? These are the types of questions we will address in CS 5220, Applications of Parallel Computers. Topics include:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSingle-processor architecture, caches, and serial performance tuning\u003c/li\u003e\n\u003cli\u003eBasics of parallel machine organization\u003c/li\u003e\n\u003cli\u003eDistributed memory programming with MPI\u003c/li\u003e\n\u003cli\u003eShared memory programming with OpenMP\u003c/li\u003e\n\u003cli\u003eParallel patterns: data partitioning, synchronization, and load balancing\u003c/li\u003e\n\u003cli\u003eExamples of parallel numerical algorithms\u003c/li\u003e\n\u003cli\u003eApplications from science and engineering\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/~bindel/class/cs5220-f11/lectures.html\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/~bindel/class/cs5220-f11/assignments.html\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/site/cs5540sp2013/\" rel=\"nofollow\"\u003eCS 5540\u003c/a\u003e \u003cstrong\u003eComputational Techniques for Analyzing Clinical Data\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS5540 is a masters-level course that covers a wide range of clinical problems and their associated computational challenges. The practice of medicine is filled with digitally accessible information about patients, ranging from EKG readings to MRI images to electronic health records. This poses a huge opportunity for computer tools that make sense out of this data. Computation tools can be used to answer seemingly straightforward questions about a single patient's test results (“Does this patient have a normal heart rhythm?”), or to address vital questions about large populations (“Is there any clinical condition that affects the risks of Alzheimer”). In CS5540 we will look at many of the most important sources of clinical data and discuss the basic computational techniques used for their analysis, ranging in sophistication from current clinical practice to state-of-the-art research projects.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/site/cs5540sp2013/home/course-description\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/site/cs5540sp2013/lectures\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://sites.google.com/site/cs5540sp2013/assignments\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/cs5724/\" rel=\"nofollow\"\u003eCS 5724\u003c/a\u003e \u003cstrong\u003eEvolutionary Computation\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course will cover advanced topics in evolutionary algorithms and their application to open-ended computational design. The field of evolutionary computation tries to address large-scale optimization and planning problems through stochastic population-based methods. It draws inspiration from evolutionary processes in nature and in engineering, and also serves as abstract models for these phenomena. Evolutionary processes are generally weak methods that require little information about the problem domain and hence can be applied across a wide variety of applications. They are especially useful for open-ended problem domains for which little formal knowledge exists and the number of parameters is undefined, such as for the general engineering design process. This course will provide insight to a variety of evolutionary computation paradigms, such as genetic algorithms, genetic programming, and evolutionary strategies, as well as governing dynamics of co-evolution, arms races and mediocre stable states. New methods involving symbiosis models and pattern recognition will also be presented. The material will be intertwined with discussions of representations and results for design problems in a variety of problem domains including software, electronics, and mechanics.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/cs5724/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/cs5724/schedule.htm\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses2.cit.cornell.edu/cs5724/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6452/2012sp/index.php\" rel=\"nofollow\"\u003eCS 6452\u003c/a\u003e \u003cstrong\u003eDatacenter Networks and Services\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS6452 focuses on datacenter networks and services. The emerging demand for web services and cloud computing have created need for large scale data centers. The hardware and software infrastructure for datacenters critically determines the functionality, performance, cost and failure tolerance of applications running on that datacenter. This course will examine design alternatives for both the hardware (networking) infrastructure, and the software infrastructure for datacenters.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6452/2012sp/lectures.php\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6452/2012sp/lectures.php\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6630/2012sp/about.stm\" rel=\"nofollow\"\u003eCS 6630\u003c/a\u003e \u003cstrong\u003eRealistic Image Synthesis\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCS6630 is an introduction to physics-based rendering at the graduate level. Starting from the fundamentals of light transport we will look at formulations of the Rendering Equation, and a series of Monte Carlo methods, from sequential sampling to multiple importance sampling to Markov Chains, for solving the equation to make pictures. We'll look at light reflection from surfaces and scattering in volumes, illumination from luminaries and environments, and diffusion models for translucent materials. We will build working implementations of many of the algorithms we study, and learn how to make sure they are actually working correctly. It's fun to watch integrals and probability distributions transform into photographs of a slightly too perfect synthetic world.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6630/2012sp/about.stm\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#\" rel=\"nofollow\"\u003eCS 6640\u003c/a\u003e \u003cstrong\u003eComputational Photography\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA course on the emerging applications of computation in photography. Likely topics include digital photography, unconventional cameras and optics, light field cameras, image processing for photography, techniques for combining multiple images, advanced image editing algorithms, and projector-camera systems.cornell.edu/courses/CS6630/2012sp/about.stm)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#schedule\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#hw\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6650/2013fa/\" rel=\"nofollow\"\u003eCS 6650\u003c/a\u003e \u003cstrong\u003eComputational Motion\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCovers computational aspects of motion, broadly construed. Topics include the computer representation, modeling, analysis, and simulation of motion, and its relationship to various areas, including computational geometry, mesh generation, physical simulation, computer animation, robotics, biology, computer vision, acoustics, and spatio-temporal databases. Students implement several of the algorithms covered in the course and complete a final project. This offering will also explore the special role of motion processing in physically based sound rendering.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6840/2014sp/\" rel=\"nofollow\"\u003eCS 6840\u003c/a\u003e \u003cstrong\u003eAlgorithmic Game Theory\u003c/strong\u003e \u003cem\u003eCornell University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAlgorithmic Game Theory combines algorithmic thinking with game-theoretic, or, more generally, economic concepts. The course will study a range of topics at this interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6840/2014sp/\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6840/2014sp/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6840/2014sp/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.cs.cornell.edu/courses/CS6840/2014sp/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/cse154/14au/\" rel=\"nofollow\"\u003eCSE 154\u003c/a\u003e \u003cstrong\u003eWeb Programming\u003c/strong\u003e \u003cem\u003eUniversity of Washington\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course is an introduction to programming for the World Wide Web. Covers use of HTML, CSS, PHP, JavaScript, AJAX, and SQL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/cse154/14au/lectures.shtml#today\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://courses.cs.washington.edu/courses/cse154/14au/homework.shtml\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ucsb-bren.github.io/esm296-4f/\" rel=\"nofollow\"\u003eESM 296-4F\u003c/a\u003e \u003cstrong\u003eGIS \u0026amp; Spatial Analysis\u003c/strong\u003e \u003cem\u003eUC Santa Barbara\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTaught by \u003ca href=\"http://www.bren.ucsb.edu/people/Faculty/james_frew.htm\" rel=\"nofollow\"\u003eJames Frew\u003c/a\u003e, \u003ca href=\"http://mgel.env.duke.edu/people/ben-best/\" rel=\"nofollow\"\u003eBen Best\u003c/a\u003e, and \u003ca href=\"http://www.centerforoceansolutions.org/team/lisa-wedding\" rel=\"nofollow\"\u003eLisa Wedding\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFocuses on specific computational languages (e.g., Python, R, shell) and tools (e.g., GDAL/OGR, InVEST, MGET, ModelBuilder) applied to the spatial analysis of environmental problems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://ucsb-bren.github.io/esm296-4f/\" rel=\"nofollow\"\u003eGitHub \u003c/a\u003e (includes lecture materials and labs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://philipmjohnson.github.io/ics314f13/\" rel=\"nofollow\"\u003eICS 314\u003c/a\u003e \u003cstrong\u003eSoftware Engineering\u003c/strong\u003e \u003cem\u003eUniversity of Hawaii\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTaught by \u003ca href=\"http://philipmjohnson.org/\" rel=\"nofollow\"\u003ePhilip Johnson\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduction to software engineering using the \u003ca href=\"http://philipmjohnson.org/essays/ase-initial-results.html\" rel=\"nofollow\"\u003e\"Athletic Software Engineering\" pedagogy\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://philipmjohnson.github.io/ics314f13/readings/\" rel=\"nofollow\"\u003eReadings\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://philipmjohnson.github.io/ics314f13/experiences/\" rel=\"nofollow\"\u003eExperiences\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://philipmjohnson.github.io/ics314f13/assessments/\" rel=\"nofollow\"\u003eAssessments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://hfoss-fossrit.rhcloud.com\" rel=\"nofollow\"\u003eIGME 582\u003c/a\u003e \u003cstrong\u003eHumanitarian Free \u0026amp; Open Source Software Development\u003c/strong\u003e \u003cem\u003eRochester Institute of Technology\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis course provides students with exposure to the design, creation and production of Open Source Software projects. Students will be introduced to the historic intersections of technology and intellectual property rights and will become familiar with Open Source development processes, tools and practices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.informatics.indiana.edu/rocha/i-bic/\" rel=\"nofollow\"\u003eI485 / H400\u003c/a\u003e \u003cstrong\u003eBiologically Inspired Computation\u003c/strong\u003e \u003cem\u003eIndiana University\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCourse taught by \u003ca href=\"http://www.informatics.indiana.edu/rocha/lr_form.html\" rel=\"nofollow\"\u003eLuis Rocha\u003c/a\u003e about the multi-disciplinary field algorithms inspired by naturally occurring phenomenon. This course provides introduces the following areas: L-systems, Cellular Automata, Emergence, Genetic Algorithms, Swarm Intelligence and Artificial Immune Systems. It's aim is to cover the fundamentals and enable readers to build up a proficiency in applying various algorithms to real-world problems.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.informatics.indiana.edu/rocha/i-bic/#materials\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.informatics.indiana.edu/rocha/i-bic/#labs\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.schneems.com/ut-rails/\" rel=\"nofollow\"\u003eOpen Sourced Elective: Database and Rails\u003c/a\u003e \u003cstrong\u003eIntro to Ruby on Rails\u003c/strong\u003e \u003cem\u003eUniversity of Texas\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAn introductory course in Ruby on Rails open sourced by University of Texas' CS Adjunct Professor, Richard Schneeman.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.schneems.com/ut-rails/\" rel=\"nofollow\"\u003eLectures\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.schneems.com/ut-rails/\" rel=\"nofollow\"\u003eAssignments\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/playlist?list=PL7A85FD7803A8CB1F\" rel=\"nofollow\"\u003eVideos\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://mlecture.uni-bremen.de/ml/index.php?option=com_content\u0026amp;view=article\u0026amp;id=233\" rel=\"nofollow\"\u003eSCICOMP\u003c/a\u003e \u003cstrong\u003eAn Introduction to Efficient Scientific Computation\u003c/strong\u003e \u003cem\u003eUniversität Bremen\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is a graduate course in scientific computing created and taught by \u003ca href=\"http://colorfulengineering.org/\" rel=\"nofollow\"\u003eOliver Serang\u003c/a\u003e in 2014, which covers topics in computer science and statistics with applications from biology. The course is designed top-down, starting with a problem and then deriving a variety of solutions from scratch.\u003c/li\u003e\n\u003cli\u003eTopics include memoization, recurrence closed forms, string matching (sorting, hash tables, radix tries, and suffix tries), dynamic programming (e.g. Smith-Waterman and Needleman-Wunsch), Bayesian statistics (e.g. the envelope paradox), graphical models (HMMs, Viterbi, junction tree, belief propagation), FFT, and the probabilistic convolution tree.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/user/fillwithlight/videos\" rel=\"nofollow\"\u003eLecture videos on Youtube\u003c/a\u003e and for direct \u003ca href=\"http://mlecture.uni-bremen.de/ml/index.php?option=com_content\u0026amp;view=article\u0026amp;id=233\" rel=\"nofollow\"\u003edownload\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.ini740.rocks/F20\" rel=\"nofollow\"\u003e14-740\u003c/a\u003e \u003cstrong\u003eFundamentals of Computer Networks\u003c/strong\u003e \u003cem\u003eCMU\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis is an introductory course on Networking for graduate students. It follows a top-down approach to teaching Computer Networks, so it starts with the Application layer which most of the students are familiar with and as the course unravels we learn more about transport, network and link layers of the protocol stack.\u003c/li\u003e\n\u003cli\u003eAs far as prerequisites are concerned - basic computer, programming and probability theory background is required.\u003c/li\u003e\n\u003cli\u003eThe course site contains links to the lecture videos, reading material and assignments.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eStatistics\u003c/h3\u003e\u003ca id=\"user-content-statistics\" class=\"anchor\" aria-label=\"Permalink: Statistics\" href=\"#statistics\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://andrewpbray.github.io/reg/index.html\" rel=\"nofollow\"\u003eSTAT 340\u003c/a\u003e \u003cstrong\u003eApplied Regression Methods\u003c/strong\u003e \u003cem\u003eSmith College\u003c/em\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" data-canonical-src=\"https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eThis course covers the beautiful and useful tool of regression, which is the central technique of statistical modeling. By the end of this course you will be able to:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDiscern research questions and data that are well-suited to regression analysis.\u003c/li\u003e\n\u003cli\u003eConduct thorough exploratory data analysis of data in multiple dimensions.\u003c/li\u003e\n\u003cli\u003eUnderstand the mathematical foundations of regression.\u003c/li\u003e\n\u003cli\u003ePerform regression analysis in a modern computing environment.\u003c/li\u003e\n\u003cli\u003eInterpret your model and communicate what it implies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://andrewpbray.github.io/reg/syllabus.html\" rel=\"nofollow\"\u003eSyllabus\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://andrewpbray.github.io/reg/index.html\" rel=\"nofollow\"\u003eLecture Notes\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/article\u003e","loaded":true,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":[{"level":1,"text":"Awesome CS Courses ","anchor":"awesome-cs-courses-","htmlText":"Awesome CS Courses "},{"level":2,"text":"Introduction","anchor":"introduction","htmlText":"Introduction"},{"level":2,"text":"Table of Contents","anchor":"table-of-contents","htmlText":"Table of Contents"},{"level":3,"text":"Legend","anchor":"legend","htmlText":"Legend"},{"level":2,"text":"Courses","anchor":"courses","htmlText":"Courses"},{"level":3,"text":"Systems","anchor":"systems","htmlText":"Systems"},{"level":3,"text":"Programming Languages / Compilers","anchor":"programming-languages--compilers","htmlText":"Programming Languages / Compilers"},{"level":3,"text":"Algorithms","anchor":"algorithms","htmlText":"Algorithms"},{"level":3,"text":"CS Theory","anchor":"cs-theory","htmlText":"CS Theory"},{"level":3,"text":"Introduction to CS","anchor":"introduction-to-cs","htmlText":"Introduction to CS"},{"level":3,"text":"Machine Learning","anchor":"machine-learning","htmlText":"Machine Learning"},{"level":3,"text":"Security","anchor":"security","htmlText":"Security"},{"level":3,"text":"Artificial Intelligence","anchor":"artificial-intelligence","htmlText":"Artificial Intelligence"},{"level":3,"text":"Computer Graphics","anchor":"computer-graphics","htmlText":"Computer Graphics"},{"level":3,"text":"Misc","anchor":"misc","htmlText":"Misc"},{"level":3,"text":"Statistics","anchor":"statistics","htmlText":"Statistics"}],"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fprakhar1989%2Fawesome-courses"}}],"overviewFilesProcessingTime":0}},"appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-96e76d5fdb2c.js","githubDevUrl":null,"enabled_features":{"copilot_workspace":null,"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}}</script> <div data-target="react-partial.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.iVEunk{margin-top:16px;margin-bottom:16px;}/*!sc*/ .jzuOtQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ .bGojzy{margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:16px;}/*!sc*/ .iNSVHo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-bottom:16px;padding-top:8px;}/*!sc*/ .bVgnfw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:8px;}/*!sc*/ @media screen and (max-width:320px){.bVgnfw{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .CEgMp{position:relative;}/*!sc*/ @media screen and (max-width:380px){.CEgMp .ref-selector-button-text-container{max-width:80px;}}/*!sc*/ @media screen and (max-width:320px){.CEgMp{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.CEgMp .overview-ref-selector{width:100%;}.CEgMp .overview-ref-selector > span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}.CEgMp .overview-ref-selector > span > span[data-component="text"]{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .gMOVLe[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;}/*!sc*/ .gMOVLe[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .gMOVLe[data-size="medium"] > span{width:inherit;}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ffLUq{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .bmcJak{min-width:0;}/*!sc*/ .fLXEGX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1079px){.fLXEGX{display:none;}}/*!sc*/ .lmSMZJ[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:4px;padding-right:4px;}/*!sc*/ .lmSMZJ[data-size="medium"] span[data-component="leadingVisual"]{margin-right:4px !important;}/*!sc*/ .dqfxud{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1080px){.dqfxud{display:none;}}/*!sc*/ @media screen and (max-width:543px){.dqfxud{display:none;}}/*!sc*/ .fGwBZA[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jxTzTd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;gap:8px;}/*!sc*/ .gqqBXN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;}/*!sc*/ @media screen and (max-width:543px){.gqqBXN{display:none;}}/*!sc*/ .dzXgxt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1011px){.dzXgxt{display:none;}}/*!sc*/ .iWFGlI{margin-left:8px;margin-right:8px;margin:0;}/*!sc*/ .vcvyP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .YUPas{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1012px){.YUPas{display:none;}}/*!sc*/ .izFOf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:544px){.izFOf{display:none;}}/*!sc*/ .vIPPs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px;}/*!sc*/ .fdROMU{width:100%;border-collapse:separate;border-spacing:0;border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;table-layout:fixed;overflow:unset;}/*!sc*/ .jGKpsv{height:0px;line-height:0px;}/*!sc*/ .jGKpsv tr{height:0px;font-size:0px;}/*!sc*/ .jdgHnn{padding:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;text-align:left;height:40px;}/*!sc*/ .jdgHnn th{padding-left:16px;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));}/*!sc*/ .bQivRW{width:100%;border-top-left-radius:6px;}/*!sc*/ @media screen and (min-width:544px){.bQivRW{display:none;}}/*!sc*/ .ldkMIO{width:40%;border-top-left-radius:6px;}/*!sc*/ @media screen and (max-width:543px){.ldkMIO{display:none;}}/*!sc*/ .jMbWeI{text-align:right;padding-right:16px;width:136px;border-top-right-radius:6px;}/*!sc*/ .gpqjiB{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;height:40px;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .eNCcrz{text-align:center;vertical-align:center;height:40px;border-top:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .bHTcCe{border-top:1px solid var(--borderColor-default,var(--color-border-default));cursor:pointer;}/*!sc*/ .csrIcr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;gap:16px;}/*!sc*/ .bUQNHB{border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/ @media screen and (max-width:543px){.bUQNHB{margin-left:-16px;margin-right:-16px;max-width:calc(100% + 32px);}}/*!sc*/ @media screen and (min-width:544px){.bUQNHB{max-width:100%;}}/*!sc*/ .jPdcfu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid;border-bottom-color:var(--borderColor-default,var(--color-border-default,#d0d7de));-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:8px;position:-webkit-sticky;position:sticky;top:0;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));z-index:1;border-top-left-radius:6px;border-top-right-radius:6px;}/*!sc*/ .iphEWz{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-bottom:none;max-width:100%;padding-left:8px;padding-right:8px;}/*!sc*/ .hUCRAk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .cwoBXV[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-subtle,#6e7781));padding-left:8px;padding-right:8px;}/*!sc*/ .QkQOb{padding:32px;overflow:auto;}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"iVEunk,jzuOtQ,bGojzy,iNSVHo,bVgnfw,CEgMp,gMOVLe,gUkoLg,bZBlpz,lhTYNA,ffLUq,bmcJak,fLXEGX,lmSMZJ,dqfxud,fGwBZA,jxTzTd,gqqBXN,dzXgxt,iWFGlI,vcvyP,YUPas,izFOf,vIPPs,fdROMU,jGKpsv,jdgHnn,bQivRW,ldkMIO,jMbWeI,gpqjiB,dzCJzi,eNCcrz,bHTcCe,csrIcr,bUQNHB,jPdcfu,iphEWz,hUCRAk,cwoBXV,QkQOb,"}/*!sc*/ .brGdpi{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip:rect(0,0,0,0);clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}/*!sc*/ data-styled.g6[id="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0"]{content:"brGdpi,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g17[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .liVpTx{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;}/*!sc*/ data-styled.g19[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"liVpTx,"}/*!sc*/ </style> <!-- --> <!-- --> <div class="Box-sc-g0xbh4-0 iVEunk"><div class="Box-sc-g0xbh4-0 jzuOtQ"><div class="Box-sc-g0xbh4-0 bGojzy"></div></div><div class="Box-sc-g0xbh4-0 iNSVHo"><div class="Box-sc-g0xbh4-0 bVgnfw"><div class="Box-sc-g0xbh4-0 CEgMp"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 gMOVLe prc-Button-ButtonBase-c50BI overview-ref-selector width-full" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 ffLUq ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 fLXEGX"><a style="--button-color:fg.muted" type="button" href="/prakhar1989/awesome-courses/branches" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rclab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Branches</span></span></a><a style="--button-color:fg.muted" type="button" href="/prakhar1989/awesome-courses/tags" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rklab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Tags</span></span></a></div><div class="Box-sc-g0xbh4-0 dqfxud"><a style="--button-color:fg.muted" type="button" aria-label="Go to Branches page" href="/prakhar1989/awesome-courses/branches" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Relab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></a><a style="--button-color:fg.muted" type="button" aria-label="Go to Tags page" href="/prakhar1989/awesome-courses/tags" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Rmlab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></a></div></div><div class="Box-sc-g0xbh4-0 jxTzTd"><div class="Box-sc-g0xbh4-0 gqqBXN"><div class="Box-sc-g0xbh4-0 dzXgxt"><!--$--><div class="Box-sc-g0xbh4-0 iWFGlI"><span class="Box-sc-g0xbh4-0 vcvyP TextInput-wrapper prc-components-TextInputWrapper-i1ofR prc-components-TextInputBaseWrapper-ueK9q" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id=":R2j5ab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":R2j5ab: :R2j5abH1:" data-component="input" class="prc-components-Input-Ic-y8" value=""/><span class="TextInput-icon" id=":R2j5abH1:" aria-hidden="true"></span></span></div><!--/$--></div><div class="Box-sc-g0xbh4-0 YUPas"><button type="button" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":Rr5ab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Go to file</span></span></button></div><div class="react-directory-add-file-icon"></div><div class="react-directory-remove-file-icon"></div></div><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="primary" aria-describedby=":R55ab:-loading-announcement" id=":R55ab:"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-code hide-sm" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Code</span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="Box-sc-g0xbh4-0 izFOf"><button data-component="IconButton" type="button" aria-label="Open more actions menu" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R75ab:-loading-announcement" id=":R75ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button></div></div></div><div class="Box-sc-g0xbh4-0 vIPPs"><div data-hpc="true"><button hidden="" data-testid="focus-next-element-button" data-hotkey="j"></button><button hidden="" data-testid="focus-previous-element-button" data-hotkey="k"></button><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="folders-and-files">Folders and files</h2><table aria-labelledby="folders-and-files" class="Box-sc-g0xbh4-0 fdROMU"><thead class="Box-sc-g0xbh4-0 jGKpsv"><tr class="Box-sc-g0xbh4-0 jdgHnn"><th colSpan="2" class="Box-sc-g0xbh4-0 bQivRW"><span class="text-bold">Name</span></th><th colSpan="1" class="Box-sc-g0xbh4-0 ldkMIO"><span class="text-bold">Name</span></th><th class="hide-sm"><div title="Last commit message" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit message</span></div></th><th colSpan="1" class="Box-sc-g0xbh4-0 jMbWeI"><div title="Last commit date" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit date</span></div></th></tr></thead><tbody><tr class="Box-sc-g0xbh4-0 gpqjiB"><td colSpan="3" class="bgColor-muted p-1 rounded-top-2"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/prakhar1989/awesome-courses/commits/master/" class="prc-Button-ButtonBase-c50BI d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Raqj8pab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x"><span class="fgColor-default">554 Commits</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="554 Commits" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/prakhar1989/awesome-courses/commits/master/" class="prc-Button-ButtonBase-c50BI LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":R1iqj8pab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a></span></div></div></div></div></td></tr><tr class="react-directory-row undefined" id="folder-row-0"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/prakhar1989/awesome-courses/blob/master/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/prakhar1989/awesome-courses/blob/master/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-1"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CONTRIBUTING.md" aria-label="CONTRIBUTING.md, (File)" class="Link--primary" href="/prakhar1989/awesome-courses/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="CONTRIBUTING.md" aria-label="CONTRIBUTING.md, (File)" class="Link--primary" href="/prakhar1989/awesome-courses/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-2"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/prakhar1989/awesome-courses/blob/master/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/prakhar1989/awesome-courses/blob/master/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="Box-sc-g0xbh4-0 eNCcrz d-none" data-testid="view-all-files-row"><td colSpan="3" class="Box-sc-g0xbh4-0 bHTcCe"><div><button class="prc-Link-Link-85e08">View all files</button></div></td></tr></tbody></table></div><div class="Box-sc-g0xbh4-0 csrIcr"><div class="Box-sc-g0xbh4-0 bUQNHB"><div itemscope="" itemType="https://schema.org/abstract" class="Box-sc-g0xbh4-0 jPdcfu"><h2 class="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0 brGdpi">Repository files navigation</h2><nav class="Box-sc-g0xbh4-0 iphEWz prc-components-UnderlineWrapper-oOh5J" aria-label="Repository files"><ul class="prc-components-UnderlineItemList-b23Hf" role="list"><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#" aria-current="page"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-book" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path></svg></span><span data-component="text" data-content="README">README</span></a></li></ul></nav><button style="--button-color:fg.subtle" type="button" aria-label="Outline" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 cwoBXV prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rr9ab:-loading-announcement" id=":Rr9ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button></div><div class="Box-sc-g0xbh4-0 QkQOb js-snippet-clipboard-copy-unpositioned undefined" data-hpc="true"><article class="markdown-body entry-content container-lg" itemprop="text"><div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">Awesome CS Courses <a href="https://github.com/sindresorhus/awesome"><img src="https://camo.githubusercontent.com/8693bde04030b1670d5097703441005eba34240c32d1df1eb82a5f0d6716518e/68747470733a2f2f63646e2e7261776769742e636f6d2f73696e647265736f726875732f617765736f6d652f643733303566333864323966656437386661383536353265336136336531353464643865383832392f6d656469612f62616467652e737667" alt="Awesome" data-canonical-src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg" style="max-width: 100%;"></a></h1><a id="user-content-awesome-cs-courses-" class="anchor" aria-label="Permalink: Awesome CS Courses " href="#awesome-cs-courses-"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Introduction</h2><a id="user-content-introduction" class="anchor" aria-label="Permalink: Introduction" href="#introduction"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">There are a lot of <del>hidden</del> treasures lying within university pages scattered across the internet. This list is an attempt to bring to light those awesome CS courses which make their high-quality materials, i.e. assignments, lectures, notes, readings and examinations, available online for free.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Table of Contents</h2><a id="user-content-table-of-contents" class="anchor" aria-label="Permalink: Table of Contents" href="#table-of-contents"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="#algorithms">Algorithms</a></li> <li><a href="#artificial-intelligence">Artificial Intelligence</a></li> <li><a href="#computer-graphics">Computer Graphics</a></li> <li><a href="#cs-theory">CS Theory</a></li> <li><a href="#introduction-to-cs">Introduction to CS</a></li> <li><a href="#machine-learning">Machine Learning</a></li> <li><a href="#misc">Misc</a></li> <li><a href="#programming-languages--compilers">Programming Languages / Compilers</a></li> <li><a href="#security">Security</a></li> <li><a href="#systems">Systems</a></li> <li><a href="#statistics">Statistics / Regression</a></li> </ul> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Legend</h3><a id="user-content-legend" class="anchor" aria-label="Permalink: Legend" href="#legend"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> - Lecture Videos</li> <li><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> - Lecture Notes</li> <li><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> - Assignments / Labs</li> <li><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> - Readings</li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Courses</h2><a id="user-content-courses" class="anchor" aria-label="Permalink: Courses" href="#courses"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Systems</h3><a id="user-content-systems" class="anchor" aria-label="Permalink: Systems" href="#systems"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="http://www-inst.eecs.berkeley.edu/~cs61c/sp15/" rel="nofollow">CS 61C</a> <strong>Great Ideas in Computer Architecture (Machine Structures)</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The subjects covered in this course include: C and assembly language programming, translation of high-level programs into machine language, computer organization, caches, performance measurement, parallelism, CPU design, warehouse-scale computing, and related topics.</li> <li><a href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iCl2-D-FS5mk0jFF6cYSJs_?sort=titleSorter" rel="nofollow">Lecture Videos</a></li> <li><a href="http://www-inst.eecs.berkeley.edu/~cs61c/sp15/#Calendar" rel="nofollow">Lecture Notes</a></li> <li><a href="http://www-inst.eecs.berkeley.edu/~cs61c/sp15/#Resources" rel="nofollow">Resources</a></li> <li><a href="https://hkn.eecs.berkeley.edu/exams/course/CS/61C" rel="nofollow">Old Exams</a></li> </ul> </li> <li><a href="https://courseware.stanford.edu/pg/courses/lectures/371747" rel="nofollow">CS 107</a> <strong>Computer Organization &amp; Systems</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS107 is the third course in Stanford's introductory programming sequence. The course will work from the C programming language down to the microprocessor to de-mystify the machine. With a complete understanding of how computer systems execute programs and manipulate data, you will become a more effective programmer, especially in dealing with issues of debugging, performance, portability, and robustness.</li> <li><a href="https://www.youtube.com/playlist?list=PL08D9FA018A965057&amp;spfreload=10" rel="nofollow">Lecture Videos</a></li> <li><a href="http://web.stanford.edu/class/cs107/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php" rel="nofollow">CS 140</a> <strong>Operating Systems</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This class introduces the basic facilities provided in modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency. The second part of the course addresses the problem of memory management. The third major part of the course concerns file systems.</li> <li><a href="http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php" rel="nofollow">Lecture Notes</a></li> <li><a href="http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/projects.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://6004.mit.edu/" rel="nofollow">6.004</a> <strong>Computation Structures</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduces architecture of digital systems, emphasizing structural principles common to a wide range of technologies. Multilevel implementation strategies; definition of new primitives (e.g., gates, instructions, procedures, processes) and their mechanization using lower-level elements. Analysis of potential concurrency; precedence constraints and performance measures; pipelined and multidimensional systems. Instruction set design issues; architectural support for contemporary software structures. 4 Engineering Design Points. 6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops of series of building blocks logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples.</li> <li><a href="https://www.youtube.com/watch?v=9DWlqtsNGV0&amp;index=1&amp;list=PLmP5iIyVnKPQ-cO_EENdUgEdlRf0u5LYa" rel="nofollow">Youtube Playlist</a></li> <li><a href="http://computationstructures.org/notes/tradeoffs/notes.html" rel="nofollow">Lecture Notes</a></li> <li><a href="http://computationstructures.org/exercises/cmos/lab.html" rel="nofollow">Labs-Assignments</a></li> </ul> </li> <li><a href="http://cs162.eecs.berkeley.edu/" rel="nofollow">CS 162</a> <strong>Operating Systems and Systems Programming</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The purpose of this course is to teach the design of operating systems and operating systems concepts that appear in other advanced systems. Topics we will cover include concepts of operating systems, systems programming, networked and distributed systems, and storage systems, including multiple-program systems (processes, interprocess communication, and synchronization), memory allocation (segmentation, paging), resource allocation and scheduling, file systems, basic networking (sockets, layering, APIs, reliability), transactions, security, and privacy. <ul dir="auto"> <li>Operating Systems course by the Chair of EECS, UC Berkeley <a href="http://www.cs.berkeley.edu/~culler/" rel="nofollow">David Culler</a></li> <li><a href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c" rel="nofollow">Lecture Videos</a> Spring 2015 lectures</li> <li><a href="https://inst.eecs.berkeley.edu/~cs162/sp15/" rel="nofollow">Lecture Notes</a> Spring 2015 lectures</li> </ul> </li> </ul> </li> <li><a href="https://inst.eecs.berkeley.edu/~cs168/fa14/" rel="nofollow">CS 168</a> <strong>Introduction to the Internet: Architecture and Protocols</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless).</li> <li><a href="https://inst.eecs.berkeley.edu/~cs168/fa14/class.html" rel="nofollow">Lecture Notes &amp; Assignments</a></li> <li><a href="https://inst.eecs.berkeley.edu/~cs168/fa14/" rel="nofollow">Discussion Notes</a></li> </ul> </li> <li><a href="http://courses.cms.caltech.edu/cs179/" rel="nofollow">CS 179</a> <strong>GPU Programming</strong> <em>Caltech</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will cover programming techniques for the GPU. The course will introduce NVIDIA's parallel computing language, CUDA. Beyond covering the CUDA programming model and syntax, the course will also discuss GPU architecture, high performance computing on GPUs, parallel algorithms, CUDA libraries, and applications of GPU computing.</li> <li><a href="http://courses.cms.caltech.edu/cs179/" rel="nofollow">Assignments</a></li> <li><a href="http://courses.cms.caltech.edu/cs179/" rel="nofollow">Lecture Notes</a></li> </ul> </li> <li><a href="https://sites.google.com/site/cs186spring2015/" rel="nofollow">CS 186</a> <strong>Introduction to Database Systems</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In the project assignments in CS186, you will write a basic database management system called SimpleDB. For this project, you will focus on implementing the core modules required to access stored data on disk; in future projects, you will add support for various query processing operators, as well as transactions, locking, and concurrent queries.</li> <li><a href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBVK2QzAV-R7NMA1ZkaiR2y" rel="nofollow">Lecture Videos</a></li> <li><a href="https://sites.google.com/site/cs186fall2013/section-notes" rel="nofollow">Lecture Notes</a></li> <li><a href="https://sites.google.com/site/cs186fall2013/homeworks" rel="nofollow">Projects</a></li> </ul> </li> <li><a href="https://courses.engr.illinois.edu/cs241/sp2016/index.html" rel="nofollow">CS 241</a> <strong>Systems Programming (Spring 2016)</strong> <em>Univ of Illinois, Urbana-Champaign</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>System programming refers to writing code that tasks advantage of operating system support for programmers. This course is designed to introduce you to system programming. By the end of this course, you should be proficient at writing programs that take full advantage of operating system support. To be concrete, we need to fix an operating system and we need to choose a programming language for writing programs. We chose the C language running on a Linux/UNIX operating system (which implements the POSIX standard interface between the programmer and the OS).</li> <li><a href="https://courses.engr.illinois.edu/cs241/sp2016/mps.html" rel="nofollow">Assignments</a></li> <li><a href="https://courses.engr.illinois.edu/cs241/sp2016/labs.html" rel="nofollow">Labs</a></li> <li><a href="http://angrave.github.io/sys/#" rel="nofollow">Github Page</a></li> <li><a href="https://github.com/angrave/SystemProgramming/wiki">Crowd Sourced Book</a></li> </ul> </li> <li><a href="https://courses.engr.illinois.edu/cs425/fa2016/index.html" rel="nofollow">CS 425</a> <strong>Distributed Systems</strong> <em>Univ of Illinois, Urbana-Champaign</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Brilliant set of lectures and reading material covering fundamental concepts in distributed systems such as Vector clocks, Consensus and Paxos. This is the 2016 version by Prof Indranil Gupta.</li> <li><a href="https://courses.engr.illinois.edu/cs425/fa2016/lectures.html" rel="nofollow">Lectures</a></li> <li><a href="https://courses.engr.illinois.edu/cs425/fa2016/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/" rel="nofollow">CS 452</a> <strong>Real-Time Programming</strong> <em>University of Waterloo</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Write a real-time OS microkernel in C, and application code to operate a model train set in response to real-time sensor information. The communication with the train set runs at 2400 baud so it takes about 61 milliseconds to ask all of the sensors for data about the train's possible location. This makes it particularly challenging because a train can move about 3 centimeters in that time. One of the most challenging and time-consuming courses at the University of Waterloo.</li> <li><a href="http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/assignments/index.html" rel="nofollow">Assignments</a></li> <li><a href="http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/s12/notes/index.html" rel="nofollow">Lecture notes</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS2043/2014sp/" rel="nofollow">CS 2043</a> <strong>Unix Tools &amp; Scripting</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>UNIX-like systems are increasingly being used on personal computers, mobile phones, web servers, and many other systems. They represent a wonderful family of programming environments useful both to computer scientists and to people in many other fields, such as computational biology and computational linguistics, in which data is naturally represented by strings. This course provides an intensive training to develop skills in Unix command line tools and scripting that enable the accomplishment and automation of large and challenging computing tasks. The syllabus takes students from shell basics and piping, to regular-expression processing tools, to shell scripting and Python.</li> <li><a href="http://www.cs.cornell.edu/courses/CS2043/2014sp/" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS2043/2014sp/" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS2043/2014sp/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/cs3410/2016fa/" rel="nofollow">CS 3410</a> <strong>Computer System Organization and Programming</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS3410 provides an introduction to computer organization, systems programming and the hardware/software interface. Topics include instruction sets, computer arithmetic, datapath design, data formats, addressing modes, memory hierarchies including caches and virtual memory, I/O devices, bus-based I/O systems, and multicore architectures. Students learn assembly language programming and design a pipelined RISC processor.</li> <li><a href="http://www.cs.cornell.edu/courses/CS3410/2014sp/schedule.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS3410/2014sp/schedule.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4410/2014fa/" rel="nofollow">CS 4410</a> <strong>Operating Systems</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS 4410 covers systems programming and introductory operating system design and implementation. We will cover the basics of operating systems, namely structure, concurrency, scheduling, synchronization, memory management, filesystems, security and networking. The course is open to any undergraduate who has mastered the material in CS3410/ECE3140.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4410/2014fa/slides/01-intro.pptx" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4410/2014fa/lectures.php" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://rust-class.org/index.html" rel="nofollow">CS 4414</a> <strong>Operating Systems</strong> <em>University of Virginia</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A course (that) covers topics including: Analysis process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. The primary goal of this course is to improve your ability to build scalable, robust and secure computing systems. It focuses on doing that by understanding what underlies the core abstractions of modern computer systems.</li> <li><a href="http://rust-class.org/pages/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="http://rust-class.org/pages/classes.html" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/Courses/CS5412/2014sp/" rel="nofollow">CS 5412</a> <strong>Cloud Computing</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Taught by one of the stalwarts of this field, Prof Ken Birman, this course has a fantastic set of slides that one can go through. The Prof's <a href="http://www.amazon.com/Guide-Reliable-Distributed-Systems-High-Assurance/dp/1447124154" rel="nofollow">book</a> is also a gem and recommended as a must read in Google's tutorial on <a href="http://www.hpcs.cs.tsukuba.ac.jp/~tatebe/lecture/h23/dsys/dsd-tutorial.html" rel="nofollow">Distributed System Design</a></li> <li><a href="http://www.cs.cornell.edu/Courses/CS5412/2014sp/Syllabus.htm" rel="nofollow">Slides</a></li> </ul> </li> <li><a href="http://comp.uark.edu/~wingning/csce3613/csce3613.html" rel="nofollow">CSCE 3613</a> <strong>Operating Systems</strong> <em>University of Arkansas (Fayetteville)</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> - An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies. <ul dir="auto"> <li><a href="http://comp.uark.edu/~wingning/csce3613/CSCE3613.pdf" rel="nofollow">Syllabus</a></li> <li><a href="http://comp.uark.edu/~wingning/csce3613/Homework3613.html" rel="nofollow">Assignments</a></li> <li><a href="http://comp.uark.edu/~wingning/csce3613/CourseNote3613.html" rel="nofollow">Lecture Notes</a></li> <li><a href="http://comp.uark.edu/~wingning/csce3613/Link3613.html" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/index.html" rel="nofollow">CSCI-UA.0202: Operating Systems (Undergrad)</a> <strong>Operating Systems</strong> <em>NYU</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>NYU's operating system course. It's a fundamental course focusing basic ideas of operating systems, including memory management, process scheduling, file system, ect. It also includes some recommended reading materials. What's more, there are a series of hands-on lab materials, helping you easily understand OS.</li> <li><a href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/labs.html" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/syllabus.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.nyu.edu/~mwalfish/classes/15sp/exams.html" rel="nofollow">Old Exams</a></li> </ul> </li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci360/csci360_f14.php" rel="nofollow">CSCI 360</a> <strong>Computer Architecture 3</strong> <em>CUNY Hunter College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A course that covers cache design, buses, memory hierarchies, processor-peripheral interfaces, and multiprocessors, including GPUs.</li> </ul> </li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci493.66/csci493.66_spr12.php" rel="nofollow">CSCI 493.66</a> <strong>UNIX System Programming (formerly UNIX Tools)</strong> <em>CUNY Hunter College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A course that is mostly about writing programs against the UNIX API, covering all of the basic parts of the kernel interface and libraries, including files, processes, terminal control, signals, and threading.</li> </ul> </li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci493.65/csci493.65_spr14.php" rel="nofollow">CSCI 493.75</a> <strong>Parallel Computing</strong> <em>CUNY Hunter College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course is an introduction to parallel algorithms and parallel programming in C and C++, using the Message Passing Interface (MPI) and the OpenMP application programming interface. It also includes a brief introduction to parallel architectures and interconnection networks. It is both theoretical and practical, including material on design methodology, performance analysis, and mathematical concepts, as well as details on programming using MPI and OpenMP.</li> </ul> </li> <li><a href="https://www.ops-class.org/" rel="nofollow">Hack the Kernel</a> <strong>Introduction to Operating Systems</strong> <em>SUNY University at Buffalo, NY</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is an introduction to operating system design and implementation. We study operating systems because they are examples of mature and elegant solutions to a difficult design problem: how to safely and efficiently share system resources and provide abstractions useful to applications.</li> <li>For the processor, memory, and disks, we discuss how the operating system allocates each resource and explore the design and implementation of related abstractions. We also establish techniques for testing and improving system performance and introduce the idea of hardware virtualization. Programming assignments provide hands-on experience with implementing core operating system components in a realistic development environment. Course by <a href="https://blue.cse.buffalo.edu/people/gwa/" rel="nofollow">Dr.Geoffrey Challen</a></li> <li><a href="https://www.ops-class.org/courses/buffalo/CSE421_Spring2016/" rel="nofollow">Syllabus</a></li> <li><a href="https://www.ops-class.org/slides/" rel="nofollow">Slides</a></li> <li><a href="https://www.youtube.com/playlist?list=PLE6LEE8y2Jp-kbEcVR2W3vfx0Pdca0BD3" rel="nofollow">Video lectures</a></li> <li><a href="https://www.ops-class.org/asst/0/" rel="nofollow">Assignments</a></li> <li><a href="https://www.ops-class.org/exams/" rel="nofollow">Old Exams</a></li> </ul> </li> <li><a href="http://patricklam.ca/p4p/" rel="nofollow">ECE 459</a> <strong>Programming for Performance</strong> <em>University of Waterloo</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Learn techniques for profiling, rearchitecting, and implementing software systems that can handle industrial-sized inputs, and to design and build critical software infrastructure. Learn performance optimization through parallelization, multithreading, async I/O, vectorization and GPU programming, and distributed computing.</li> <li><a href="https://github.com/patricklam/p4p-2015/tree/master/lectures">Lecture slides</a></li> </ul> </li> <li><a href="https://webpages.uncc.edu/~jmconrad/EducationalMaterials/index.html" rel="nofollow">ECGR4101/5101</a> <strong>Embedded Systems using the Renesas RX63N Processor</strong> <em>University of North Carolina at Charlotte</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to designing microcontroller-based embedded computer systems using assembly and C programs. Examination of Real-time Operating Systems and their impact on performance. Computer engineering applications will be emphasized.</li> <li>The goal of this course is to solidify and build upon a student’s knowledge of computer organization by presenting hands-on experience with microcontrollers. Students will also examine a few sensors that are used in commercial and medical products and learn how to interface them in a microcontroller system.</li> <li><a href="https://www.youtube.com/playlist?list=PLPIqCiMhcdO5gxLJWt_hY5CPMzqg75IU5" rel="nofollow">Lecture Videos</a></li> <li><a href="https://webpages.uncc.edu/~jmconrad/EducationalMaterials/index.html" rel="nofollow">Lecture Notes</a></li> </ul> </li> <li><a href="http://dcg.ethz.ch/lectures/podc_allstars/" rel="nofollow">PODC</a> <strong>Principles of Distributed Computing</strong> <em>ETH-Zurich</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing in an easy-to-read set of lecture notes, combined with complete exercises and solutions.</li> <li><a href="http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf" rel="nofollow">Book</a></li> <li><a href="http://dcg.ethz.ch/lectures/podc_allstars/" rel="nofollow">Assignments and Solutions</a></li> </ul> </li> <li><a href="http://homes.cs.washington.edu/~djg/teachingMaterials/spac/" rel="nofollow">SPAC</a> <strong>Parallelism and Concurrency</strong> <em>Univ of Washington</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Technically not a course nevertheless an awesome collection of materials used by Prof Dan Grossman to teach parallelism and concurrency concepts to sophomores at UWash</li> </ul> </li> <li><a href="http://css.csail.mit.edu/6.824/2014/index.html" rel="nofollow">6.824</a> <strong>Distributed Systems</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>MIT's graduate-level DS course with a focus on fault tolerance, replication, and consistency, all taught via awesome lab assignments in Golang!</li> <li><a href="http://css.csail.mit.edu/6.824/2014/labs/" rel="nofollow">Assignments</a> - Just do <code>git clone git://g.csail.mit.edu/6.824-golabs-2014 6.824</code></li> <li><a href="http://css.csail.mit.edu/6.824/2014/schedule.html" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://pdos.csail.mit.edu/6.828/2014/" rel="nofollow">6.828</a> <strong>Operating Systems</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>MIT's operating systems course focusing on the fundamentals of OS design including booting, memory management, environments, file systems, multitasking, and more. In a series of lab assignments, you will build JOS, an OS exokernel written in C.</li> <li><a href="http://pdos.csail.mit.edu/6.828/2014/labguide.html" rel="nofollow">Assignments</a></li> <li><a href="http://pdos.csail.mit.edu/6.828/2014/schedule.html" rel="nofollow">Lectures</a></li> <li><a href="http://pdos.csail.mit.edu/6.828/2011/schedule.html" rel="nofollow">Videos</a> Note: These are student recorded cam videos of the 2011 course. The videos explain a lot of concepts required for the labs and assignments.</li> </ul> </li> <li><a href="http://courses.cs.washington.edu/courses/csep552/16wi/" rel="nofollow">CSEP 552</a> <strong>Distributed Systems</strong> <em>University of Washington</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CSEP552 is a graduate course on distributed systems. Distributed systems have become central to many aspects of how computers are used, from web applications to e-commerce to content distribution. This course will cover abstractions and implementation techniques for the construction of distributed systems, including client server computing, the web, cloud computing, peer-to-peer systems, and distributed storage systems. Topics will include remote procedure call, maintaining consistency of distributed state, fault tolerance, high availability, and other topics. As we believe the best way to learn the material is to build it, there will be a series of hands-on programming projects.</li> <li><a href="http://courses.cs.washington.edu/courses/csep552/13sp/video/" rel="nofollow">Lectures</a> of a previous session are available to watch.</li> </ul> </li> <li><a href="http://www.cs.cmu.edu/~213/" rel="nofollow">15-213</a> <strong>Introduction to Computer Systems (ICS)</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The ICS course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.</li> <li>This is the must-have course for everyone in CMU who wants to learn some computer science no matter what major are you in. Because it's CMU (The course number is as same as the zip code of CMU)!</li> <li><a href="http://www.cs.cmu.edu/~213/schedule.html" rel="nofollow">Lecture Notes</a></li> <li><a href="https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22" rel="nofollow">Videos</a></li> <li><a href="http://csapp.cs.cmu.edu/public/labs.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html" rel="nofollow">15-319/619</a> <strong>Cloud Computing (ICS)</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This project-based on-line course focuses on skill building across various aspects of cloud computing. We cover conceptual topics and provide hands-on experience through projects utilizing public cloud infrastructures (Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP)). The adoption of cloud computing services continues to grow across a variety of organizations and in many domains. Simply, cloud computing is the delivery of computing as a service over a network, whereby distributed resources and services are rented, rather than owned, by an end user as a utility.</li> <li>For the projects, students will work with Amazon Web Services, Microsoft Azure and Google Cloud Platform, use them to rent and provision compute resources and then program and deploy applications that run on these resources. Students will develop and evaluate virtual machine (VM) and container scaling, elasticity and load balancing solutions. In addition, students will work with cloud storage systems and learn to develop different applications using batch, iterative and stream processing frameworks. 15-619 students will have to complete an extra project which entails designing and implementing a complete web-service solution for querying big data. For the extra project, the student teams are evaluated based on the cost and performance of their web service.</li> <li><a href="http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html" rel="nofollow">Lecture Notes</a></li> <li><a href="http://www.cs.cmu.edu/~msakr/15619-s17/recitations.html" rel="nofollow">Videos</a></li> </ul> </li> <li><a href="https://www.cs.cmu.edu/~410/" rel="nofollow">15-410</a> <strong>Operating System Design and Implementation</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This awesome course covers some fundamental topics of operating system, such as process model, virtual memory concurrency, threads, locking, interrupts, preemptibility, race conditions. It also covers introductory understanding of typical OS topics (file systems, transactions, scheduling, security concepts and technologies, memory consistency)Parallel programming models / frameworks.</li> <li><a href="https://www.cs.cmu.edu/~410/lecture.html" rel="nofollow">Lecture Notes</a></li> <li><a href="https://www.cs.cmu.edu/~410/p1/proj1.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://15418.courses.cs.cmu.edu/spring2015/" rel="nofollow">15-418</a> <strong>Parallel Computer Architecture and Programming</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems as well as to teach parallel programming techniques necessary to effectively utilize these machines. Because writing good parallel programs requires an understanding of key machine performance characteristics, this course will cover both parallel hardware and software design.</li> <li><a href="http://15418.courses.cs.cmu.edu/spring2015/exercises" rel="nofollow">Assignments</a></li> <li><a href="http://15418.courses.cs.cmu.edu/spring2015/reading" rel="nofollow">Lecture Notes</a></li> <li><a href="https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22a5862643-2416-49ef-b46b-13465d1b6df0%22" rel="nofollow">Lecture Videos</a></li> <li><a href="http://15418.courses.cs.cmu.edu/spring2015/reading" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://www.cs.cmu.edu/~dga/15-440/F12/index.html" rel="nofollow">15-440</a> <strong>Distributed Systems</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to distributed systems with a focus on teaching concepts via projects implemented in the Go programming language.</li> <li><a href="http://www.cs.cmu.edu/~dga/15-440/F12/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://15721.courses.cs.cmu.edu/spring2016/" rel="nofollow">15-721</a> <strong>Database Systems</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is a comprehensive study of the internals of modern database management systems. It will cover the core concepts and fundamentals of the components that are used in both high-performance transaction processing systems (OLTP) and large-scale analytical systems (OLAP). The class will stress both efficiency and correctness of the implementation of these ideas. All class projects will be in the context of a real in-memory, multi-core database system. The course is appropriate for graduate students in software systems and for advanced undergraduates with strong systems programming skills.</li> <li><a href="http://15721.courses.cs.cmu.edu/spring2016/syllabus.html" rel="nofollow">Assignments</a></li> <li><a href="https://www.youtube.com/playlist?list=PLSE8ODhjZXjbisIGOepfnlbfxeH7TW-8O" rel="nofollow">Lecture Videos</a></li> <li><a href="http://15721.courses.cs.cmu.edu/spring2016/schedule.html" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://15445.courses.cs.cmu.edu/fall2017/" rel="nofollow">15-445/645</a> <strong>Database Systems</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course covers fundamental topics of DBMS, compared to CMU 15-721.</li> <li><a href="http://15445.courses.cs.cmu.edu/fall2017/assignments.html" rel="nofollow">Assignments</a></li> <li><a href="https://www.youtube.com/playlist?list=PLSE8ODhjZXjYutVzTeAds8xUt1rcmyT7x" rel="nofollow">Lecture Videos</a></li> <li><a href="http://15445.courses.cs.cmu.edu/fall2017/schedule.html" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://www.andrew.cmu.edu/course/15-749/" rel="nofollow">15-749</a> <strong>Engineering Distributed Systems</strong> <em>Carnegie-Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A project focused course on Distributed Systems with an awesome list of readings</li> <li><a href="http://www.andrew.cmu.edu/course/15-749/READINGS/" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=start" rel="nofollow">18-447</a> <strong>Introduction to Computer Architecture</strong> <em>CMU</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Very comprehensive material on Computer Architecture - definitely more than just "introduction". Online material is very user-friendly, even the recitation videos available online. This is the Spring'15 version by Prof. <a href="http://users.ece.cmu.edu/~omutlu/" rel="nofollow">Onur Mutlu </a></li> <li><a href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=schedule" rel="nofollow">Lectures and Recitation</a></li> <li><a href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=homeworks" rel="nofollow">Homeworks</a> 7 HWs with answer set as well</li> <li><a href="http://www.ece.cmu.edu/~ece447/s15/doku.php?id=readings" rel="nofollow">Readings</a></li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Programming Languages / Compilers</h3><a id="user-content-programming-languages--compilers" class="anchor" aria-label="Permalink: Programming Languages / Compilers" href="#programming-languages--compilers"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="https://www.cs.swarthmore.edu/~jpolitz/cs75/s16/index.html" rel="nofollow">CS 75</a> <strong>Principles of Compiler Design</strong> <em>Swathmore College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Modelled after the influential paper on <a href="http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf" rel="nofollow">incremental approach to compiler design</a>, this course teaches how to build a compiler in OCaml</li> <li><a href="https://github.com/compilers-course-materials">Course on Github</a></li> <li><a href="https://github.com/compilers-course-materials/cs75-s16-lectures">Notes</a></li> </ul> </li> <li><a href="https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/index.html" rel="nofollow">CS 91</a> <strong>Introduction to Programming Languages</strong> <em>Swathmore College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Uses the <a href="https://www.pyret.org/" rel="nofollow">Pyret</a> programming language &amp; <a href="http://papl.cs.brown.edu/2014/" rel="nofollow">PAPL</a> book to understand the fundamentals of programming languages.</li> <li><a href="https://www.cs.swarthmore.edu/~jpolitz/cs91/s15/s_labs.html" rel="nofollow">Labs</a></li> </ul> </li> <li><a href="http://www.seas.upenn.edu/~cis194/" rel="nofollow">CIS 194</a> <strong>Introduction to Haskell</strong> <em>Penn Engineering</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Explore the joys of functional programming, using Haskell as a vehicle. The aim of the course will be to allow you to use Haskell to easily and conveniently write practical programs.</li> <li><a href="http://www.seas.upenn.edu/~cis194/spring13/index.html" rel="nofollow">Previous</a> semester also available, with more exercises</li> </ul> </li> <li><a href="http://cis198-2016s.github.io/" rel="nofollow">CIS 198</a> <strong>Rust Programming</strong> <em>UPenn</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course covers what makes Rust so unique and applies it to practical systems programming problems. Topics covered include traits and generics; memory safety (move semantics, borrowing, and lifetimes); Rust’s rich macro system; closures; and concurrency.</li> <li><a href="https://github.com/cis198-2016s/homework">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.umd.edu/class/spring2015/cmsc430/" rel="nofollow">CMSC 430</a> <strong>Introduction to Compilers</strong> <em>Univ of Maryland</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The goal of CMSC 430 is to arm students with the ability to design, implement, and extend a programming language. Throughout the course, students will design and implement several related languages, and will explore parsing, syntax querying, dataflow analysis, compilation to bytecode, type systems, and language interoperation.</li> <li><a href="http://www.cs.umd.edu/class/spring2015/cmsc430/Schedule.html" rel="nofollow">Lecture Notes</a></li> <li><a href="http://www.cs.umd.edu/class/spring2015/cmsc430/Projects.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://pradella.faculty.polimi.it/PL.html" rel="nofollow">Corsopl</a> <strong>Principles of Programming Languages</strong> <em>Politecnico di Milano</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> - Lecture Notes <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> - Readings <ul dir="auto"> <li>This course gives an overview of Scheme, Haskell and Erlang while analyzing the languages' similarities and differences. As a result, many important/prevalent concepts and how they manifest differently in different programming languages are explained. Among these are (purely) functional programming, object orientation, type inference and evaluation order.</li> <li>Thorough introduction to functional programming with no preknowledge in any functional language required.</li> </ul> </li> <li><a href="http://www.cs.princeton.edu/~dpw/courses/cos326-12/info.php" rel="nofollow">COS 326</a> <strong>Functional Programming</strong> <em>Princeton University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Covers functional programming concepts like closures, tail-call recursion &amp; parallelism using the OCaml programming language</li> <li><a href="http://www.cs.princeton.edu/~dpw/courses/cos326-12/lectures.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.princeton.edu/~dpw/courses/cos326-12/assignments.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://web.stanford.edu/class/cs143/" rel="nofollow">CS 143</a> <strong>Compiler construction</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS143 is a Stanford's course in the practical and theoretical aspects of compiler construction.</li> <li><a href="https://web.stanford.edu/class/cs143/" rel="nofollow">Home</a></li> <li><a href="https://web.stanford.edu/class/cs143/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="https://web.stanford.edu/class/cs143/" rel="nofollow">Lectures</a></li> <li><a href="https://web.stanford.edu/class/cs143/" rel="nofollow">Assignments</a></li> <li><a href="http://www.keithschwarz.com/cs143/WWW/sum2011/" rel="nofollow">CS143 - 2011</a></li> </ul> </li> <li><a href="https://sites.google.com/a/bodik.org/cs164/home" rel="nofollow">CS 164</a> <strong>Hack your language!</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to programming languages by designing and implementing domain-specific languages.</li> <li><a href="https://archive.org/details/ucberkeley-webcast-PL3A16CFC42CA6EF4F" rel="nofollow">Lecture Videos</a></li> <li><a href="https://bitbucket.org/cs164_overlord/" rel="nofollow">Code for Assignments</a></li> </ul> </li> <li><a href="http://cs.brown.edu/courses/cs173/2014/" rel="nofollow">CS 173</a> <strong>Programming Languages</strong> <em>Brown University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Course by Prof. Krishnamurthi (author of <a href="http://htdp.org/2003-09-26/Book/" rel="nofollow">HtDP</a>) and numerous other <a href="http://cs.brown.edu/courses/cs173/2012/book/" rel="nofollow">awesome</a> <a href="http://papl.cs.brown.edu/2014/index.html" rel="nofollow">books</a> on programming languages. Uses a custom designed <a href="http://www.pyret.org/" rel="nofollow">Pyret</a> programming language to teach the concepts. There was an <a href="http://cs.brown.edu/courses/cs173/2012/OnLine/" rel="nofollow">online class</a> hosted in 2012, which includes all lecture videos for you to enjoy.</li> <li><a href="http://cs.brown.edu/courses/cs173/2012/Videos/" rel="nofollow">Videos</a></li> <li><a href="http://cs.brown.edu/courses/cs173/2014/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://www.classes.cs.uchicago.edu/archive/2016/winter/22300-1/" rel="nofollow">CS 223</a> <strong>Purely Functional Data Structures In Elm</strong> <em>University of Chicago</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course teaches functional reactive programming and purely functional data structures based on Chris Okazaki's book and using the Elm programming language.</li> <li><a href="https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/Schedule.html" rel="nofollow">Lectures</a></li> <li><a href="https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/Schedule.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.scs.stanford.edu/14sp-cs240h/" rel="nofollow">CS 240h</a> <strong>Functional Systems in Haskell</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Building software systems in Haskell</li> <li><a href="http://www.scs.stanford.edu/14sp-cs240h/slides/" rel="nofollow">Lecture Slides</a></li> <li>3 Assignments: <a href="http://www.scs.stanford.edu/14sp-cs240h/labs/lab1.html" rel="nofollow">Lab1</a>, <a href="http://www.scs.stanford.edu/14sp-cs240h/labs/lab2.html" rel="nofollow">Lab2</a>, <a href="http://www.scs.stanford.edu/14sp-cs240h/labs/lab3.html" rel="nofollow">Lab3</a></li> </ul> </li> <li><a href="https://courses.engr.illinois.edu/cs421/fa2014/" rel="nofollow">CS 421</a> <strong>Programming Languages and Compilers</strong> <em>Univ of Illinois, Urbana-Champaign</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> Course that uses OCaml to teach functional programming and programming language design. <ul dir="auto"> <li><a href="https://courses.engr.illinois.edu/cs421/fa2014/lectures/index.html" rel="nofollow">Lectures</a></li> <li><a href="http://recordings.engineering.illinois.edu/ess/portal/section/631edaeb-2a33-4537-b7c8-0c1cba783a4f" rel="nofollow">Videos</a></li> <li><a href="https://courses.engr.illinois.edu/cs421/fa2014/mps/index.html" rel="nofollow">Assignments</a></li> <li><a href="https://courses.engr.illinois.edu/cs421/fa2014/exams/index.html" rel="nofollow">Exams</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/Courses/cs3110/2014fa/course_info.php" rel="nofollow">CS 3110</a> <strong>Data Structures and Functional Programming</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Another course that uses OCaml to teach alternative programming paradigms, especially functional and concurrent programming.</li> <li><a href="http://www.cs.cornell.edu/Courses/cs3110/2014fa/lecture_notes.php" rel="nofollow">Lecture Slides</a></li> <li><a href="http://www.cs.cornell.edu/Courses/cs3110/2014fa/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4120/2013fa/" rel="nofollow">CS 4120</a> <strong>Introduction to Compilers</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>An introduction to the specification and implementation of modern compilers. Topics covered include lexical scanning, parsing, type checking, code generation and translation, an introduction to optimization, and compile-time and run-time support for modern programming languages. As part of the course, students build a working compiler for an object-oriented language.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4120/2013fa/overview.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4120/2013fa/schedule.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4120/2013fa/homework.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://pl.barzilay.org/" rel="nofollow">CS 4400</a> <strong>Programming Languages</strong> <em>Northeastern University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is a course on the study, design, and implementation of programming languages.</li> <li>The course works at two simultaneous levels: first, we will use a programming language that can demonstrate a wide variety of programming paradigms. Second, using this language, we will learn about the mechanics behind programming languages by implementing our own language(s). The two level approach usually means that we will often see how to use a certain feature, and continue by implementing it.</li> <li><a href="https://pl.barzilay.org/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="https://pl.barzilay.org/resources.html" rel="nofollow">Lecture Notes/Resources</a></li> </ul> </li> <li><a href="http://www.cs.virginia.edu/~weimer/4610/" rel="nofollow">CS 4610</a> <strong>Programming Languages and Compilers</strong> <em>University of Virginia</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Course that uses OCaml to teach functional programming and programming language design. Each assignment is a part of an interpreter and compiler for an object-oriented language similar to Java, and you are required to use a different language for each assignment (i.e., choose 4 from Python, JS, OCaml, Haskell, Ruby).</li> <li><a href="http://www.cs.virginia.edu/~weimer/4610/lectures.html" rel="nofollow">Lecture Notes</a></li> <li><a href="http://www.cs.virginia.edu/~weimer/4610/pa.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS5114/2013sp/index.php" rel="nofollow">CS 5114</a> <strong>Network Programming Languages</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course provides an introduction to the languages used to program computer networks. It will examine recent proposals based on logic, functional, and distributed languages, as well as tools for establishing correctness using automatic solvers, model checkers, and proof assistants.</li> <li><a href="http://www.cs.cornell.edu/courses/CS5114/2013sp/syllabus.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS5114/2013sp/syllabus.php" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS5142/2013fa/" rel="nofollow">CS 5142</a> <strong>Scripting Languages</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Perl, PHP, JavaScript, VisualBasic -- they are often-requested skills for employment, but most of us do not have the time to find out what they are all about. In this course, you learn how to use scripting languages for rapid prototyping, web programming, data processing, and application extension. Besides covering traditional programming languages concepts as they apply to scripting (e.g., dynamic typing and scoping), this course looks at new concepts rarely found in traditional languages (e.g., string interpolation, hashes, and polylingual code). Through a series of small projects, you use different languages to achieve programming tasks that highlight the strengths and weaknesses of scripting. As a side effect, you practice teaching yourself new languages.</li> <li><a href="http://www.cs.cornell.edu/courses/CS5142/2013fa/" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS5142/2013fa/#schedule" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS5142/2013fa/#schedule" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://matt.might.net/teaching/compilers/spring-2015/" rel="nofollow">CS 5470</a> <strong>Compilers</strong> <em>University of Utah</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>If you're a fan of Prof Matt's writing on his <a href="http://matt.might.net/articles/" rel="nofollow">fantastic blog</a> you ought to give this a shot. The course covers the design and implementation of compilers, and it explores related topics such as interpreters, virtual machines and runtime systems. Aside from the Prof's witty take on <a href="http://matt.might.net/teaching/compilers/spring-2015/#collaboration" rel="nofollow">cheating</a> the page has tons of interesting links on programming languages, parsing and compilers.</li> <li><a href="https://www.dropbox.com/sh/zanwtoflw4pcfu8/5pdT6axS3y" rel="nofollow">Lecture Notes</a></li> <li><a href="http://matt.might.net/teaching/compilers/spring-2015/#projects" rel="nofollow">Projects</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS6118/2012fa/" rel="nofollow">CS 6118</a> <strong>Types and Semantics</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Types and Semantics is about designing and understand programming languages, whether they be domain specific or general purpose. The goal of this class is to provide a variety of tools for designing custom (programming) languages for whatever task is at hand. Part of that will be a variety of insights on how languages work along with experiences from working with academics and industry on creating new languages such as Ceylon and Kotlin. The class focuses on types and semantics and the interplay between them. This means category theory and constructive type theory (e.g. Coq and richer variations) are ancillary topics of the class. The class also covers unconventional semantic domains such as classical linear type theory in order to both break students from conventional thinking and to provide powerful targets capable of formalizing thinks like networking protocols, resource-sensitive computation, and concurrency constructs. The class project is to design and formalize a (programming) language for a purpose of the student's choosing, and assignments are designed to ensure students have had a chance to practice applying the techniques learned in class before culminating these skills in the class project.</li> <li><a href="http://www.cs.cornell.edu/courses/CS6118/2012fa/" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6118/2012fa/" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://pgbovine.net/cpython-internals.htm" rel="nofollow">CSC 253</a> <strong>CPython internals: A ten-hour codewalk through the Python interpreter source code</strong> <em>University of Rochester</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Nine lectures walking through the internals of CPython, the canonical Python interpreter implemented in C. They were from the <em>Dynamic Languages and Software Development</em> course taught in Fall 2014 at the University of Rochester.</li> </ul> </li> <li><a href="http://courses.cs.washington.edu/courses/cse341/16sp/" rel="nofollow">CSE 341</a> <strong>Programming Languages</strong> <em>University of Washington</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Covers non-imperative paradigms and languages such as Ruby, Racket, and ML and the fundamentals of programming languages.</li> <li><a href="https://courses.cs.washington.edu/courses/cse341/16sp/#lectures" rel="nofollow">Lectures and Videos</a></li> <li><a href="https://courses.cs.washington.edu/courses/cse341/16sp/#homeworks" rel="nofollow">Assignments and Tests</a></li> </ul> </li> <li><a href="http://courses.cs.washington.edu/courses/csep501/09au/lectures/video.html" rel="nofollow">CSE P 501</a> <strong>Compiler Construction</strong> <em>University of Washington</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Teaches understanding of how a modern compiler is structured and the major algorithms that are used to translate code from high-level to machine language. The best way to do this is to actually build a working compiler, so there will be a significant project to implement one that translates programs written in a core subset of Java into executable x86 assembly language. The compilers themselves will use scanner and parser generator tools and the default implementation language is Java.</li> <li><a href="http://courses.cs.washington.edu/courses/csep501/09au/lectures/video.html" rel="nofollow">Lectures</a></li> <li><a href="http://courses.cs.washington.edu/courses/csep501/09au/homework/index.html" rel="nofollow">Assignments, Tests, and Solutions</a></li> </ul> </li> <li><a href="http://cs.wheaton.edu/~tvandrun/dmfp/" rel="nofollow">DMFP</a> <strong>Discrete Mathematics and Functional Programming</strong> <em>Wheaton College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A course that teaches discrete maths concepts with functional programming</li> <li><a href="http://cs.wheaton.edu/~tvandrun/dmfp/" rel="nofollow">Lecture Videos</a></li> <li><a href="http://cs.wheaton.edu/~tvandrun/dmfp/source.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.itu.dk/people/sestoft/itu/PCPP/E2015/" rel="nofollow">PCPP</a> <strong>Practical Concurrent and Parallel Programming</strong> <em>IT University of Copenhagen</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In this MSc course you learn how to write correct and efficient concurrent and parallel software, primarily using Java, on standard shared-memory multicore hardware.</li> <li>The course covers basic mechanisms such as threads, locks and shared memory as well as more advanced mechanisms such as parallel streams for bulk data, transactional memory, message passing, and lock-free data structures with compare-and-swap.</li> <li>It covers concepts such as atomicity, safety, liveness and deadlock.</li> <li>It covers how to measure and understand performance and scalability of parallel programs.</li> <li>It covers tools and methods to find bugs in concurrent programs.</li> </ul> </li> <li><a href="https://groups.csail.mit.edu/mac/users/gjs/6.945/index.html" rel="nofollow">6.945</a> <strong>Adventures in Advanced Symbolic Programming</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Taught by Gerald Sussman of SICP fame, this class deals with concepts and techniques for the design an implementation of large software systems that can be adapted to uses not anticipated by the designer. Applications include compilers, computer-algebra systems, deductive systems, and some artificial intelligence applications.</li> <li><a href="https://groups.csail.mit.edu/mac/users/gjs/6.945/assignments.html" rel="nofollow">Assignments</a>: Extensive programming assignments, using MIT/GNU Scheme. Students should have significant programming experience in Scheme, Common Lisp, Haskell, CAML or other "functional" language.</li> <li><a href="https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://www.eli.sdsu.edu/courses/fall15/cs696/index.html" rel="nofollow">CS 696</a> <strong>Functional Design and Programming</strong> <em>San Diego State University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Covers functional programming basis using Clojure.</li> <li>Topics include testing, functional programming, immutable collections and concurrency.</li> <li>Also includes assignments covering Clojurescript, [Reagent](Reagent Github) etc.</li> </ul> </li> <li><a href="https://www.cl.cam.ac.uk/teaching/1516/L28/" rel="nofollow">L28</a> <strong>Advanced Functional Programming</strong> <em>University of Cambridge</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This module aims to teach students how to use the features of modern typed functional programming languages (e.g. OCaml, Haskell) to design and implement libraries and DSLs. It aims to demonstrate how such techniques can improve both correctness and efficiency. Students wishing to take the module should have some experience of a typed functional programming language and an understanding of type inference.</li> <li>This particular session was taught by a prominent OCaml programmer, open Source contributor &amp; author of real world OCaml - Dr Anil Madhavapeddy.</li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Algorithms</h3><a id="user-content-algorithms" class="anchor" aria-label="Permalink: Algorithms" href="#algorithms"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="http://datastructur.es/sp16/" rel="nofollow">CS 61B</a> <strong>Data Structures</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In this course, you will study advanced programming techniques including data structures, encapsulation, abstract data types, interfaces, and algorithms for sorting and searching, and you will get a taste of “software engineering”—the design and implementation of large programs.</li> <li><a href="http://datastructur.es/sp16/" rel="nofollow">Full Lecture Materials</a> Lecture of Spring 2016. This website contains full matrials including video links, labs, homeworks, projects. Very good for self-learner. Also a good start for Java. And it includes some other useful resources for Java Documentation, Data Structure Resources, Git/GitHub and Java Development Resources. <a href="http://datastructur.es/sp16/resources.html" rel="nofollow">Resources</a></li> <li><a href="http://www.cs.berkeley.edu/~jrs/61b/lab/index.html" rel="nofollow">Labs</a> The link to labs and projects is included in the website.</li> <li><a href="https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iC2Khb1B5NnbE7SHPQ1-W17" rel="nofollow">Lecture Videos</a></li> </ul> </li> <li><a href="http://web.stanford.edu/class/cs97si/" rel="nofollow">CS 97SI</a> <strong>Introduction to Competitive Programming</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Fantastic repository of theory and practice problems across various topics for students who are interested to participate in ACM-ICPC.</li> <li><a href="https://github.com/jaehyunp/stanfordacm">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://people.seas.harvard.edu/~minilek/cs224/fall14/index.html" rel="nofollow">CS 224</a> <strong>Advanced Algorithms</strong> <em>Harvard University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS 224 is an advanced course in algorithm design, and topics we will cover include the word RAM model, data structures, amortization, online algorithms, linear programming, semidefinite programming, approximation algorithms, hashing, randomized algorithms, fast exponential time algorithms, graph algorithms, and computational geometry.</li> <li><a href="http://people.seas.harvard.edu/~minilek/cs224/fall14/lec.html" rel="nofollow">Lecture Videos</a> (<a href="https://www.youtube.com/playlist?list=PL2SOU6wwxB0uP4rJgf5ayhHWgw7akUWSf" rel="nofollow">Youtube</a>)</li> <li><a href="http://people.seas.harvard.edu/~minilek/cs224/fall14/hmwk.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://theory.stanford.edu/~tim/w16/w16.html" rel="nofollow">CS 261</a> <strong>A Second Course in Algorithms</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Algorithms for network optimization: max-flow, min-cost flow, matching, assignment, and min-cut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NP-complete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to online algorithms.</li> <li><a href="http://theory.stanford.edu/~tim/w16/w16.html" rel="nofollow">Lecture Notes, Videos &amp; Assignments</a> (<a href="https://www.youtube.com/playlist?list=PLEGCF-WLh2RJh2yDxlJJjnKswWdoO8gAc" rel="nofollow">Youtube</a>)</li> </ul> </li> <li><a href="http://jeffe.cs.illinois.edu/teaching/algorithms/" rel="nofollow">CS 473/573</a> <strong>Fundamental Algorithms</strong> <em>Univ of Illinois, Urbana-Champaign</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Algorithms class covering recursion, randomization, amortization, graph algorithms, network flows and hardness. The lecture notes by Prof. Erikson are comprehensive enough to be a book by themselves. Highly recommended!</li> <li><a href="http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-algorithms.pdf" rel="nofollow">Lecture Notes</a></li> <li><a href="http://web.engr.illinois.edu/~jeffe/teaching/algorithms/all-hwex.pdf" rel="nofollow">Labs and Exams</a></li> </ul> </li> <li><a href="https://github.com/aaronbloomfield/pdr">CS 2150</a> <strong>Program &amp; Data Representation</strong> <em>University of Virginia</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This data structures course introduces C++, linked-lists, stacks, queues, trees, numerical representation, hash tables, priority queues, heaps, huffman coding, graphs, and x86 assembly.</li> <li><a href="http://aaronbloomfield.github.io/pdr/slides/" rel="nofollow">Lectures</a></li> <li><a href="http://aaronbloomfield.github.io/pdr/labs/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4820/2015sp/" rel="nofollow">CS 4820</a> <strong>Introduction to Analysis of Algorithms</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course develops techniques used in the design and analysis of algorithms, with an emphasis on problems arising in computing applications. Example applications are drawn from systems and networks, artificial intelligence, computer vision, data mining, and computational biology. This course covers four major algorithm design techniques (greedy algorithms, divide and conquer, dynamic programming, and network flow), computability theory focusing on undecidability, computational complexity focusing on NP-completeness, and algorithmic techniques for intractable problems, including identification of structured special cases, approximation algorithms, and local search heuristics.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4820/2015sp/lectures/" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4820/2015sp/syllabus/" rel="nofollow">Syllabus</a></li> </ul> </li> <li><a href="http://www-scf.usc.edu/~csci104/20142/lectures/" rel="nofollow">CSCI 104</a> <strong>Data Structures and Object Oriented Design</strong> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <em>University of Southern California (USC)</em> <ul dir="auto"> <li><a href="http://www-scf.usc.edu/~csci104/20142/lectures" rel="nofollow">Lectures</a></li> <li><a href="http://www-scf.usc.edu/~csci104/20142/labs" rel="nofollow">Labs</a></li> <li><a href="http://www-scf.usc.edu/~csci104/20142/assignments/" rel="nofollow">Assignments</a></li> <li><a href="http://www-scf.usc.edu/~csci104/20142/resources.html" rel="nofollow">Additional Resources</a></li> </ul> </li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/courses/csci135.php" rel="nofollow">CSCI 135</a> <strong>Software Design and Analysis I</strong> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <em>CUNY Hunter College</em> <ul dir="auto"> <li>It is currently an intensive introduction to program development and problem solving. Its emphasis is on the process of designing, implementing, and evaluating small-scale programs. It is not supposed to be a C++ programming course, although much of the course is spent on the details of C++. C++ is an extremely large and complex programming language with many features that interact in unexpected ways. One does not need to know even half of the language to use it well.</li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci135/csci135_36_fall12.php" rel="nofollow">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/courses/csci235.php" rel="nofollow">CSCI 235</a> <strong>Software Design and Analysis II</strong> <em>CUNY Hunter College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduces algorithms for a few common problems such as sorting. Practically speaking, it furthers the students' programming skills with topics such as recursion, pointers, and exception handling, and provides a chance to improve software engineering skills and to give the students practical experience for more productive programming.</li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci235/csci235_f14.php" rel="nofollow">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/courses/csci335.php" rel="nofollow">CSCI 335</a> <strong>Software Design and Analysis III</strong> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <em>CUNY Hunter College</em> <ul dir="auto"> <li>This includes the introduction of hashes, heaps, various forms of trees, and graphs. It also revisits recursion and the sorting problem from a higher perspective than was presented in the prequels. On top of this, it is intended to introduce methods of algorithmic analysis.</li> <li><a href="http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci335/csci335_s14.php" rel="nofollow">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://courses.cs.washington.edu/courses/cse331/15sp/" rel="nofollow">CSE 331</a> <strong>Software Design and Implementation</strong> <em>University of Washington</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Explores concepts and techniques for design and construction of reliable and maintainable software systems in modern high-level languages; program structure and design; program-correctness approaches, including testing.</li> <li><a href="http://courses.cs.washington.edu/courses/cse331/15sp/#all" rel="nofollow">Lectures, Assignments, and Exams</a></li> </ul> </li> <li><a href="http://www3.cs.stonybrook.edu/~skiena/373/" rel="nofollow">CSE 373</a> <strong>Analysis of Algorithms</strong> <em>Stony Brook University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Prof Steven Skiena's no stranger to any student when it comes to algorithms. His seminal <a href="http://www.algorist.com/" rel="nofollow">book</a> has been touted by many to be best for <a href="http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html" rel="nofollow">getting that job in Google</a>. In addition, he's also well-known for tutoring students in competitive <a href="http://www.programming-challenges.com/pg.php?page=index" rel="nofollow">programming competitions</a>. If you're looking to brush up your knowledge on Algorithms, you can't go wrong with this course.</li> <li><a href="http://www.cs.sunysb.edu/~algorith/video-lectures/" rel="nofollow">Lecture Videos</a></li> </ul> </li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/" rel="nofollow">ECS 122A</a> <strong>Algorithm Design and Analysis</strong> <em>UC Davis</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Taught by <a href="http://web.cs.ucdavis.edu/~gusfield/" rel="nofollow">Dan Gusfield</a> in 2010, this course is an undergraduate introduction to algorithm design and analysis. It features traditional topics, such as Big Oh notation, as well as an importance on implementing specific algorithms. Also featured are sorting (in linear time), graph algorithms, depth-first search, string matching, dynamic programming, NP-completeness, approximation, and randomization.</li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/syll122.pdf" rel="nofollow">Syllabus</a></li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/videolist.html" rel="nofollow">Lecture Videos</a></li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs122f10/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs222w11/" rel="nofollow">ECS 222A</a> <strong>Graduate Level Algorithm Design and Analysis</strong> <em>UC Davis</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is the graduate level complement to the ECS 122A undergraduate algorithms course by <a href="http://web.cs.ucdavis.edu/~gusfield/" rel="nofollow">Dan Gusfield</a> in 2011. It assumes an undergrad course has already been taken in algorithms, and, while going over some undergraduate algorithms topics, focuses more on increasingly complex and advanced algorithms.</li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs222f07/videolist.html" rel="nofollow">Lecture Videos</a></li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs222w11/syll11.pdf" rel="nofollow">Syllabus</a></li> <li><a href="http://web.cs.ucdavis.edu/~gusfield/cs222w11/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://courses.csail.mit.edu/iap/interview/index.php" rel="nofollow">6.INT</a> <strong>Hacking a Google Interview</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course taught in the MIT Independent Activities Period in 2009 goes over common solution to common interview questions for software engineer interviews at highly selective companies like Apple, Google, and Facebook. They cover time complexity, hash tables, binary search trees, and other common algorithm topics you should have already covered in a different course, but goes more in depth on things you wouldn't otherwise learn in class- like bitwise logic and problem solving tricks.</li> <li><a href="https://courses.csail.mit.edu/iap/interview/materials.php" rel="nofollow">Handouts</a></li> <li><a href="https://courses.csail.mit.edu/iap/interview/calendar.php" rel="nofollow">Topics Covered</a></li> </ul> </li> <li><a href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/index.htm" rel="nofollow">6.006</a> <strong>Introduction to Algorithms</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.</li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/" rel="nofollow">Lecture Videos</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/assignments/" rel="nofollow">Assignments</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/readings/" rel="nofollow">Readings</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/download-course-materials/" rel="nofollow">Resources</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/exams/" rel="nofollow">Old Exams</a></li> </ul> </li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/index.htm" rel="nofollow">6.046J/18.410J</a> <strong>Design and Analysis of Algorithms</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography. This course assumes that students know how to analyze simple algorithms and data structures from having taken <a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/" rel="nofollow">6.006</a>. It introduces students to the design of computer algorithms, as well as analysis of sophisticated algorithms.</li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-videos/" rel="nofollow">Lecture Videos</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-notes/" rel="nofollow">Lecture Notes</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/assignments/" rel="nofollow">Assignments</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/download-course-materials/" rel="nofollow">Resources</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/exams/" rel="nofollow">Old Exams</a></li> </ul> </li> <li><a href="https://courses.csail.mit.edu/6.851/spring21/index.html" rel="nofollow">6.851</a> <strong>Advanced Data Structures</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is an advanced DS course, you must be done with the <a href="https://courses.csail.mit.edu/6.854/current/" rel="nofollow">Advanced Algorithms</a> course before attempting this one.</li> <li><a href="https://courses.csail.mit.edu/6.851/spring21/lectures/" rel="nofollow">Lectures</a> Contains videos from sp2012 version, but there isn't much difference.</li> <li><a href="https://courses.csail.mit.edu/6.851/spring21/psets/" rel="nofollow">Assignments</a> contains the calendar as well.</li> </ul> </li> <li><a href="https://courses.csail.mit.edu/6.854/current/" rel="nofollow">6.854/18.415J</a> <strong>Advanced Algorithms</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Advanced course in algorithms by Dr. David Karger covering topics such as amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms.</li> <li><strong>Register</strong> on <a href="http://nb.mit.edu/subscribe?key=D3a8CYpoO2VcR1ZcfaxmR5KbyjCGXd3INNXvL3mxEakYJ7qGJw" rel="nofollow">NB</a> to access the <a href="http://nb.mit.edu/" rel="nofollow">problem set and lectures</a>.</li> </ul> </li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/index.htm" rel="nofollow">6.854J/18.415J</a> <strong>Advanced Algorithms</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is a first-year graduate course in algorithms. Emphasis is placed on fundamental algorithms and advanced methods of algorithmic design, analysis, and implementation. Techniques to be covered include amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms. Domains include string algorithms, network optimization, parallel algorithms, computational geometry, online algorithms, external memory, cache, and streaming algorithms, and data structures. The need for efficient algorithms arises in nearly every area of computer science. But the type of problem to be solved, the notion of what algorithms are "efficient,'' and even the model of computation can vary widely from area to area. In this second class in algorithms, we will survey many of the techniques that apply broadly in the design of efficient algorithms, and study their application in a wide range of application domains and computational models. The goal is for the class to be broad rather than deep. Our plan is to touch upon the following areas. This is a tentative list of topics that might be covered in the class; we will select material adaptively based on the background, interests, and rate of progress of the students.</li> <li><a href="https://www.youtube.com/playlist?list=PL6ogFv-ieghdoGKGg2Bik3Gl1glBTEu8c" rel="nofollow">Lecture Videos - Spring 2016</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/lecture-notes/" rel="nofollow">Lecture Notes</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/assignments/" rel="nofollow">Assignments</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/readings/" rel="nofollow">Readings</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/download-course-materials/" rel="nofollow">Resources</a></li> </ul> </li> <li><a href="http://www.cs.cmu.edu/afs/cs/academic/class/15451-f10/www/" rel="nofollow">15-451/651</a> <strong>Algorithms</strong> <em>Carnegie Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The required algorithms class that go in depth into all basic algorithms and the proofs behind them. This is one of the heavier algorithms curriculums on this page. Taught by Avrim Blum and <a href="http://en.wikipedia.org/wiki/Manuel_Blum" rel="nofollow">Manuel Blum</a> who has a Turing Award due to his contributions to algorithms. Course link includes a very comprehensive set of reference notes by Avrim Blum.</li> </ul> </li> <li><a href="http://www.cs.virginia.edu/~shelat/16s-4102/" rel="nofollow">16s-4102</a> <strong>Algorithms</strong> <em>University of Virginia</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li><a href="http://www.cs.virginia.edu/~shelat/16s-4102/" rel="nofollow">Lecture Videos &amp; Homeworks</a> (<a href="https://www.youtube.com/channel/UCxXYk53cSZof2bR_Ax0uJYQ/videos" rel="nofollow">Youtube</a>)</li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">CS Theory</h3><a id="user-content-cs-theory" class="anchor" aria-label="Permalink: CS Theory" href="#cs-theory"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="http://www.seas.upenn.edu/~cis500/cis500-f14/index.html" rel="nofollow">CIS 500</a> <strong>Software Foundations</strong> <em>University of Pennsylvania</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>An introduction to formal verification of software using the Coq proof assistant. Topics include basic concepts of logic, computer-assisted theorem proving, functional programming, operational semantics, Hoare logic, and static type systems.</li> <li><a href="http://www.seas.upenn.edu/~cis500/cis500-f14/index.html#schedule" rel="nofollow">Lectures and Assignments</a></li> <li><a href="http://www.cis.upenn.edu/~bcpierce/sf/current/index.html" rel="nofollow">Textbook</a></li> </ul> </li> <li><a href="http://web.stanford.edu/class/cs103/" rel="nofollow">CS 103</a> <strong>Mathematical Foundations of Computing</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS103 is a first course in discrete math, computability theory, and complexity theory. In this course, we'll probe the limits of computer power, explore why some problems are harder to solve than others, and see how to reason with mathematical certainty.</li> <li>Links to all lectures notes and assignments are directly on the course page</li> </ul> </li> <li><a href="https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/index.html" rel="nofollow">CS 173</a> <strong>Discrete Structures</strong> <em>Univ of Illinois Urbana-Champaign</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is an introduction to the theoretical side of computer science. In it, you will learn how to construct proofs, read and write literate formal mathematics, get a quick introduction to key theory topics and become familiar with a range of standard mathematics concepts commonly used in computer science.</li> <li><a href="http://web.engr.illinois.edu/~mfleck/building-blocks/" rel="nofollow">Textbook</a> Written by the professor. Includes Instructor's Guide.</li> <li><a href="https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/Homework/index.html" rel="nofollow">Assignments</a></li> <li><a href="https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/Exams/index.html" rel="nofollow">Exams</a></li> </ul> </li> <li><a href="http://www.cs.berkeley.edu/~sanjamg/classes/cs276-fall14/" rel="nofollow">CS 276</a> <strong>Foundations of Cryptography</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course discusses the complexity-theory foundations of modern cryptography, and looks at recent results in the field such as Fully Homomorphic Encryption, Indistinguishability Obfuscation, MPC and so on.</li> </ul> </li> <li><a href="http://www.cs.berkeley.edu/~luca/cs278-08/" rel="nofollow">CS 278</a> <strong>Complexity Theory</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A graduate level course on complexity theory that introduces P vs NP, the power of randomness, average-case complexity, hardness of approximation, and so on.</li> </ul> </li> <li><a href="https://courses.engr.illinois.edu/cs498374/fa2014/" rel="nofollow">CS 374</a> <strong>Algorithms &amp; Models of Computation (Fall 2014)</strong> <em>University of Illinois Urbana-Champaign</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS 498 section 374 (unofficially "CS 374") covers fundamental tools and techniques from theoretical computer science, including design and analysis of algorithms, formal languages and automata, computability, and complexity. Specific topics include regular and context-free languages, finite-state automata, recursive algorithms (including divide and conquer, backtracking, dynamic programming, and greedy algorithms), fundamental graph algorithms (including depth- and breadth-first search, topological sorting, minimum spanning trees, and shortest paths), undecidability, and NP-completeness. The course also has a strong focus on clear technical communication.</li> <li><a href="https://courses.engr.illinois.edu/cs498374/fa2014/work.html" rel="nofollow">Assignments/Exams</a></li> <li><a href="https://courses.engr.illinois.edu/cs498374/fa2014/lectures.html" rel="nofollow">Lecture Notes/Labs</a></li> <li><a href="http://recordings.engineering.illinois.edu/ess/portal/section/115f3def-7371-4e98-b72f-6efe53771b2a" rel="nofollow">Lecture videos</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS3110/2014fa/" rel="nofollow">CS 3110</a> <strong>Data Structures and Functional Programming</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS 3110 (formerly CS 312) is the third programming course in the Computer Science curriculum, following CS 1110/1112 and CS 2110. The goal of the course is to help students become excellent programmers and software designers who can design and implement software that is elegant, efficient, and correct, and whose code can be maintained and reused.</li> <li><a href="http://www.cs.cornell.edu/courses/CS3110/2014fa/course_info.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS3110/2014fa/lecture_notes.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS3110/2014fa/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/" rel="nofollow">CS 3220</a> <strong>Introduction to Scientific Computing</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In this one-semester survey course, we introduce numerical methods for solving linear and nonlinear equations, interpolating data, computing integrals, and solving differential equations, and we describe how to use these tools wisely (we hope!) when solving scientific problems.</li> <li><a href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/lectures.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/~bindel/class/cs3220-s12/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4300/2013fa/" rel="nofollow">CS 4300</a> <strong>Information Retrieval</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Studies the methods used to search for and discover information in large-scale systems. The emphasis is on information retrieval applied to textual materials, but there is some discussion of other formats.The course includes techniques for searching, browsing, and filtering information and the use of classification systems and thesauruses. The techniques are illustrated with examples from web searching and digital libraries.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures/introduction.pdf" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures.htm" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4300/2013fa/lectures.htm" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://www.dsteurer.org/toc13/" rel="nofollow">CS 4810</a> <strong>Introduction to Theory of Computing</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This undergraduate course provides a broad introduction to the mathematical foundations of computer science. We will examine basic computational models, especially Turing machines. The goal is to understand what problems can or cannot be solved in these models.</li> <li><a href="https://www.dsteurer.org/toc13/syllabus/" rel="nofollow">Syllabus</a></li> <li><a href="https://www.dsteurer.org/toc13/lectures/" rel="nofollow">Lectures</a></li> <li><a href="https://www.dsteurer.org/toc13/homework/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://complexity16.dsteurer.org/" rel="nofollow">CS 6810</a> <strong>Theory of Computing</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This graduate course gives a broad introduction to complexity theory, including classical results and recent developments. Complexity theory aims to understand the power of efficient computation (when computational resources like time and space are limited). Many compelling conceptual questions arise in this context. Most of these questions are (surprisingly?) difficult and far from being resolved. Nevertheless, a lot of progress has been made toward understanding them (and also why they are difficult). We will learn about these advances in this course. A theme will be combinatorial constructions with random-like properties, e.g., expander graphs and error-correcting codes. Some examples: <ul dir="auto"> <li>Is finding a solution inherently more difficult than verifying it?</li> <li>Do more computational resources mean more computing power?</li> <li>Is it easier to find approximate solutions than exact ones?</li> <li>Are randomized algorithms more powerful than deterministic ones?</li> <li>Is it easier to solve problems in the average case than in the worst case?</li> <li>Are quantum computers more powerful than classical ones?</li> </ul> </li> <li><a href="https://complexity16.dsteurer.org/syllabus/" rel="nofollow">Syllabus</a></li> <li><a href="https://complexity16.dsteurer.org/lectures/" rel="nofollow">Lectures</a></li> <li><a href="https://complexity16.dsteurer.org/homework/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.csce.uark.edu/~sgauch/3193/S11/index.html" rel="nofollow">CSCE 3193</a> <strong>Programming Paradigms</strong> <em>University of Arkansas (Fayetteville)</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Programming in different paradigms with emphasis on object oriented programming, network programming and functional programming. Survey of programming languages, event driven programming, concurrency, software validation.</li> <li><a href="http://www.csce.uark.edu/~sgauch/3193/S11/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.csce.uark.edu/~sgauch/3193/S11/notes/index.html" rel="nofollow">Notes</a></li> <li><a href="http://www.csce.uark.edu/~sgauch/3193/S11/hw/index.html" rel="nofollow">Assignments</a></li> <li><a href="http://www.csce.uark.edu/~sgauch/3193/S11/exams/index.html" rel="nofollow">Practice Exams</a></li> </ul> </li> <li><a href="https://stellar.mit.edu/S/course/6/sp15/6.045/index.html" rel="nofollow">6.045</a> <strong>Great Ideas in Theoretical Computer Science</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course provides a challenging introduction to some of the central ideas of theoretical computer science. Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing. It examines the classes of problems that can and cannot be solved by various kinds of machines. It tries to explain the key differences between computational models that affect their power.</li> <li><a href="https://stellar.mit.edu/S/course/6/sp15/6.045/courseMaterial/topics/topic1/syllabus/syllabus2015/syllabus2015.pdf" rel="nofollow">Syllabus</a></li> <li><a href="https://stellar.mit.edu/S/course/6/sp15/6.045/materials.html" rel="nofollow">Lecture Notes</a></li> <li><a href="http://stellar.mit.edu/S/course/6/sp15/6.045/special/videos/index.html" rel="nofollow">Lecture Videos</a></li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Introduction to CS</h3><a id="user-content-introduction-to-cs" class="anchor" aria-label="Permalink: Introduction to CS" href="#introduction-to-cs"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="https://inst.eecs.berkeley.edu/~cs10/fa14/" rel="nofollow">CS 10</a> <strong>The Beauty and Joy of Computing</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS10 is UCB's introductory computer science class, taught using the beginners' drag-and-drop language. Students learn about history, social implications, great principles, and future of computing. They also learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests.</li> <li><a href="http://snap.berkeley.edu" rel="nofollow">Snap*!*</a> (based on Scratch by MIT).</li> <li><a href="http://bjc.berkeley.edu" rel="nofollow">Curriculum</a></li> </ul> </li> <li><a href="https://cs50.harvard.edu/" rel="nofollow">CS 50</a> <strong>Introduction to Computer Science</strong> <em>Harvard University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS50x is Harvard College's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan.</li> <li><a href="http://cs50.tv/2017/fall/#about,lectures" rel="nofollow">Lectures</a></li> <li><a href="http://cs50.tv/2017/fall/#about,psets" rel="nofollow">Problem Sets</a></li> <li>The course can also be taken from <a href="https://www.edx.org/course/introduction-computer-science-harvardx-cs50x" rel="nofollow">edX</a>.</li> <li>The course's OpenCourseware resides <a href="http://cs50.tv" rel="nofollow">here</a></li> </ul> </li> <li><a href="http://cs61a.org/" rel="nofollow">CS 61A</a> <strong>Structure and Interpretation of Computer Programs [Python]</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In CS 61A, we are interested in teaching you about programming, not about how to use one particular programming language. We consider a series of techniques for controlling program complexity, such as functional programming, data abstraction, and object-oriented programming. Mastery of a particular programming language is a very useful side effect of studying these general techniques. However, our hope is that once you have learned the essence of programming, you will find that picking up a new programming language is but a few days' work.</li> <li><a href="http://www.infocobuild.com/education/audio-video-courses/computer-science/cs61a-spring2014-berkeley.html" rel="nofollow">Lecture Videos</a></li> <li><a href="http://cs61a.org/by_type.html" rel="nofollow">Lecture Resources by Type</a></li> <li><a href="http://cs61a.org/by_topic.html" rel="nofollow">Lecture Resources by Topic</a></li> <li><a href="http://cs61a.org/articles/resources.html" rel="nofollow">Additional Resources</a></li> <li><a href="http://cs61a.org/problems/" rel="nofollow">Practice Problems</a></li> <li><a href="http://cs61a.org/extra.html" rel="nofollow">Extra Lectures</a></li> </ul> </li> <li><a href="http://berkeley-cs61as.github.io/" rel="nofollow">CS 61AS</a> <strong>Structure &amp; Interpretation of Computer Programs [Racket]</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A self-paced version of the CS61 Course but in Racket / Scheme. 61AS is a great introductory course that will ease you into all the amazing concepts that future CS courses will cover, so remember to keep an open mind, have fun, and always respect the data abstraction</li> <li><a href="https://www.youtube.com/course?category=University%2FEngineering%2FComputer%2520Science%2FProgramming%2520Languages&amp;list=EC6D76F0C99A731667" rel="nofollow">Lecture Videos</a></li> <li><a href="http://berkeley-cs61as.github.io/textbook.html" rel="nofollow">Assignments and Notes</a></li> </ul> </li> <li><a href="http://online.stanford.edu/course/computer-science-101-self-paced" rel="nofollow">CS 101</a> <strong>Computer Science 101</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. Participants play and experiment with short bits of "computer code" to bring to life to the power and limitations of computers.</li> <li>Lectures videos will available for free after registration.</li> </ul> </li> <li><a href="https://see.stanford.edu/Course/CS106A" rel="nofollow">CS 106A</a> <strong>Programming Methodology</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is the largest of the introductory programming courses and is one of the largest courses at Stanford. Topics focus on the introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Programming Methodology teaches the widely-used Java programming language along with good software engineering principles.</li> <li><a href="https://see.stanford.edu/Course/CS106A" rel="nofollow">Lecture Videos</a></li> <li><a href="https://see.stanford.edu/Course/CS106A" rel="nofollow">Assignments</a></li> <li><a href="http://see.stanford.edu/materials/icspmcs106a/ProgrammingMethodologyAllMaterials.zip" rel="nofollow">All materials in a zip file</a></li> </ul> </li> <li><a href="https://see.stanford.edu/Course/CS106B" rel="nofollow">CS 106B</a> <strong>Programming Abstractions</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java.</li> <li><a href="https://see.stanford.edu/Course/CS106B" rel="nofollow">Lectures</a></li> <li><a href="https://see.stanford.edu/Course/CS106B" rel="nofollow">Assignments</a></li> <li><a href="http://see.stanford.edu/materials/icspacs106b/ProgrammingAbstractionsAllMaterials.zip" rel="nofollow">All materials in a zip file</a></li> </ul> </li> <li><a href="https://see.stanford.edu/Course/CS107" rel="nofollow">CS 107</a> <strong>Programming Paradigms</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Topics: Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. The functional paradigm (using LISP) and concurrent programming (using C and C++)</li> <li><a href="https://see.stanford.edu/Course/CS107" rel="nofollow">Lectures</a></li> <li><a href="https://see.stanford.edu/Course/CS107" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://otfried.org/courses/cs109/index.html" rel="nofollow">CS 109</a> <strong>Programming Practice Using Scala</strong> <em>KAIST</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course introduces basic concepts of programming and computer science, such as dynamic and static typing, dynamic memory allocation, objects and methods, binary representation of numbers, using an editor and compiler from the command line, running programs with arguments from the command line, using libraries, and the use of basic data structures such as arrays, lists, sets, and maps. We will use Scala for this course.</li> <li>[Lectures] (<a href="http://otfried.org/courses/cs109/index.html" rel="nofollow">http://otfried.org/courses/cs109/index.html</a>)</li> <li>[Assignments] (<a href="http://otfried.org/courses/cs109/index.html" rel="nofollow">http://otfried.org/courses/cs109/index.html</a>)</li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS1109/2013su/" rel="nofollow">CS 1109</a> <strong>Fundamental Programming Concepts</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course provides an introduction to programming and problem solving using a high-level programming language. It is designed to increase your knowledge level to comfortably continue to courses CS111x. Our focus will be on generic programming concepts: variables, expressions, control structures, loops, arrays, functions, pseudocode and algorithms. You will learn how to analyze problems and convert your ideas into solutions interpretable by computers. We will use MATLAB; because it provides a productive environment, and it is widely used by all engineering communities.</li> <li><a href="http://www.cs.cornell.edu/courses/CS1109/2013su/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1109/2013su/calendar.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1109/2013su/calendar.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS1110/2014fa/" rel="nofollow">CS 1110</a> <strong>Introduction to Computing Using Python</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Programming and problem solving using Python. Emphasizes principles of software development, style, and testing. Topics include procedures and functions, iteration, recursion, arrays and vectors, strings, an operational model of procedure and function calls, algorithms, exceptions, object-oriented programming, and GUIs (graphical user interfaces). Weekly labs provide guided practice on the computer, with staff present to help. Assignments use graphics and GUIs to help develop fluency and understanding.</li> <li><a href="http://www.cs.cornell.edu/courses/CS1110/2014fa/about/grading.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1110/2014fa/lectures/index.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1110/2014fa/assignments/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS1112/2014fa/" rel="nofollow">CS 1112</a> <strong>Introduction to Computing Using Matlab</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Programming and problem solving using MATLAB. Emphasizes the systematic development of algorithms and programs. Topics include iteration, functions, arrays and vectors, strings, recursion, algorithms, object-oriented programming, and MATLAB graphics. Assignments are designed to build an appreciation for complexity, dimension, fuzzy data, inexact arithmetic, randomness, simulation, and the role of approximation. NO programming experience is necessary; some knowledge of Calculus is required.</li> <li><a href="http://www.cs.cornell.edu/courses/CS1112/2014fa/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1112/2014fa/syllabus.html#schedule" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1112/2014fa/Exercises/exercises.html" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1112/2014fa/Projects/projects.html" rel="nofollow">Projects</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS1115/2013fa/" rel="nofollow">CS 1115</a> <strong>Introduction to Computational Science and Engineering Using Matlab Graphical User Interfaces</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Programming and problem solving using MATLAB. Emphasizes the systematic development of algorithms and programs. Topics include iteration, functions, arrays and vectors, strings, recursion, algorithms, object-oriented programming, and MATLAB graphics. Assignments are designed to build an appreciation for complexity, dimension, fuzzy data, inexact arithmetic, randomness, simulation, and the role of approximation. NO programming experience is necessary; some knowledge of Calculus is required.</li> <li><a href="http://www.cs.cornell.edu/courses/CS1115/2013fa/syllabus.htm" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1115/2013fa/lecture_slides.htm" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1115/2013fa/projects_and_exams.htm" rel="nofollow">Projects</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS1130/2014sp/" rel="nofollow">CS 1130</a> <strong>Transition to OO Programming</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to object-oriented concepts using Java. Assumes programming knowledge in a language like MATLAB, C, C++, or Fortran. Students who have learned Java but were not exposed heavily to OO programming are welcome.</li> <li><a href="http://www.cs.cornell.edu/courses/CS1130/2014sp/about/overview.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1130/2014sp/web-lectures/index.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1130/2014sp/assignments/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS1133/2013fa/" rel="nofollow">CS 1133</a> <strong>Transition to Python</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to the Python programming language. Covers the basic programming constructs of Python, including assignment, conditionals, iteration, functions, object-oriented design, arrays, and vectorized computation. Assumes programming knowledge in a language like Java, Matlab, C, C++, or Fortran.</li> <li><a href="http://www.cs.cornell.edu/courses/CS1133/2013fa/about/overview.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1133/2013fa/lectures/index.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS1133/2013fa/assignments/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.eng.utah.edu/~cs1410-20/" rel="nofollow">CS 1410-2</a> and <a href="http://www.eng.utah.edu/~cs2420-20/" rel="nofollow">CS2420-20</a> <strong>Computer Science I and II for Hackers</strong> <em>University of Utah</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>An intro course in the spirit of SICP designed by <a href="http://www.cs.utah.edu/~mflatt/" rel="nofollow">Professor Matthew Flatt</a> (one of the lead designers of Racket and author of HtDP). Mostly Racket and C, and a bit of Java, with explanations on how high level functional programming concepts relate to the design of OOP programs. Do this one before SICP if SICP is a bit too much...</li> <li><a href="http://www.eng.utah.edu/~cs1410-20/schedule.html" rel="nofollow">Lectures and Assignments 1</a></li> <li><a href="http://www.eng.utah.edu/~cs2420-20/schedule.html" rel="nofollow">Lectures and Assignments 2</a></li> <li><a href="http://htdp.org/2003-09-26/Book/curriculum.html" rel="nofollow">Textbook</a></li> <li><a href="http://racket-lang.org/" rel="nofollow">Racket Language</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS2110/2014fa/index.html" rel="nofollow">CS 2110</a> <strong>Object-Oriented Programming and Data Structures</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS 2110 is an intermediate-level programming course and an introduction to computer science. Topics include program design and development, debugging and testing, object-oriented programming, proofs of correctness, complexity analysis, recursion, commonly used data structures, graph algorithms, and abstract data types. Java is the principal programming language. The course syllabus can easily be extracted by looking at the link to <a href="http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html" rel="nofollow">lectures</a>.</li> <li><a href="http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS2110/2014fa/lecturenotes.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS2110/2014fa/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://courses2.cit.cornell.edu/info4302_2012fa/" rel="nofollow">CS 4302</a> <strong>Web Information Systems</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will introduce you to technologies for building data-centric information systems on the World Wide Web, show the practical applications of such systems, and discuss their design and their social and policy context by examining cross-cutting issues such as citizen science, data journalism and open government. Course work involves lectures and readings as well as weekly homework assignments, and a semester-long project in which the students demonstrate their expertise in building data-centric Web information systems.</li> <li><a href="http://courses2.cit.cornell.edu/info4302_2012fa/course_information.php" rel="nofollow">Syllabus</a></li> <li><a href="http://courses2.cit.cornell.edu/info4302_2012fa/lectures.php" rel="nofollow">Lectures</a></li> <li><a href="http://courses2.cit.cornell.edu/info4302_2012fa/homeworks.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.csce.uark.edu/~sgauch/2004/S14/index.html" rel="nofollow">CSCE 2004</a> <strong>Programming Foundations I</strong> <em>University of Arkansas (Fayetteville)</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introductory course for students majoring in computer science or computer engineering. Software development process: problem specification, program design, implementation, testing and documentation. Programming topics: data representation, conditional and iterative statements, functions, arrays, strings, file I/O, and classes. Using C++ in a UNIX environment.</li> <li><a href="http://www.csce.uark.edu/~sgauch/2004/S14/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.csce.uark.edu/~sgauch/2004/S14/notes/index.html" rel="nofollow">Notes</a></li> <li><a href="http://www.csce.uark.edu/~sgauch/2004/S14/hw/index.html" rel="nofollow">Assignments</a></li> <li><a href="http://www.csce.uark.edu/~sgauch/2004/S14/index.html" rel="nofollow">Practice Exams</a></li> </ul> </li> <li><a href="http://cse1.net/lectures" rel="nofollow">CSCI E-1</a> <strong>Understanding Computers and the Internet</strong> <em>Harvard University Extension College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is all about understanding: understanding what's going on inside your computer when you flip on the switch, why tech support has you constantly rebooting your computer, how everything you do on the Internet can be watched by others, and how your computer can become infected with a worm just by being turned on. Designed for students who use computers and the Internet every day but don't fully understand how it all works, this course fills in the gaps. Through lectures on hardware, software, the Internet, multimedia, security, privacy, website development, programming, and more, this course "takes the hood off" of computers and the Internet so that students understand how it all works and why. Through discussions of current events, students are exposed also to the latest technologies.</li> <li><a href="http://cse1.net/lectures" rel="nofollow">Lecture Videos</a></li> <li><a href="http://cse1.net/syllabus" rel="nofollow">Syllabus</a></li> <li><a href="http://cse1.net/recaps" rel="nofollow">Notes / Recaps</a></li> <li><a href="http://cse1.net/psets" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.hmc.edu/csforall/" rel="nofollow">CS-for-all</a> <strong>CS for All</strong> <em>Harvey Mudd College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This book (and course) takes a unique approach to “Intro CS.” In a nutshell, our objective is to provide an introduction to computer science as an intellectually rich and vibrant field rather than focusing exclusively on computer programming. While programming is certainly an important and pervasive element of our approach, we emphasize concepts and problem-solving over syntax and programming language features.</li> <li><a href="https://www.cs.hmc.edu/twiki/bin/view/ModularCS1" rel="nofollow">Lectures and Other resources</a></li> </ul> </li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/index.htm" rel="nofollow">6.001</a> <strong>Structure and Interpretation of Computer Programs</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Teaches big-picture computing concepts using the Scheme programming language. Students will implement programs in a variety of different programming paradigms (functional, object-oriented, logical). Heavy emphasis on function composition, code-as-data, control abstraction with continuations, and syntactic abstraction through macros. An excellent course if you are looking to build a mental framework on which to hang your programming knowledge.</li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures" rel="nofollow">Lectures</a></li> <li><a href="http://mitpress.mit.edu/sicp/full-text/book/book.html" rel="nofollow">Textbook</a> (<a href="https://github.com/sarabander/sicp">epub</a>, <a href="https://github.com/sarabander/sicp-pdf">pdf</a>)</li> <li><a href="http://www.neilvandyke.org/racket-sicp/" rel="nofollow">IDE</a></li> </ul> </li> <li><a href="http://web.mit.edu/6.005/www/fa16/" rel="nofollow">6.005</a> <strong>Software Construction, Fall 2016</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course introduces fundamental principles and techniques of software development. Students learn how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; state machines; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions.</li> <li><a href="http://web.mit.edu/6.005/www/fa16/" rel="nofollow">Lectures Notes/Assignments</a></li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Machine Learning</h3><a id="user-content-machine-learning" class="anchor" aria-label="Permalink: Machine Learning" href="#machine-learning"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="https://github.com/oxford-cs-deepnlp-2017/">DEEPNLP</a> <strong>Deep Learning for Natural Language Processing</strong> <em>University of Oxford</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is an applied course focussing on recent advances in analysing and generating speech and text using recurrent neural networks. We introduce the mathematical definitions of the relevant machine learning models and derive their associated optimisation algorithms. The course covers a range of applications of neural networks in NLP including analysing latent dimensions in text, transcribing speech to text, translating between languages, and answering questions. This course is organised by Phil Blunsom and delivered in partnership with the <strong>DeepMind Natural Language Research Group</strong>.</li> <li><a href="https://github.com/oxford-cs-deepnlp-2017/lectures">Lectures</a></li> <li>Assignments are available on the organisation page titled as "practicals"</li> </ul> </li> <li><a href="http://web.stanford.edu/class/cs20si/index.html" rel="nofollow">CS20si</a> <strong>Tensorflow for Deep Learning Research</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will cover the fundamentals and contemporary usage of the Tensorflow library for deep learning research. We aim to help students understand the graphical computational model of Tensorflow, explore the functions it has to offer, and learn how to build and structure models best suited for a deep learning project. Through the course, students will use Tensorflow to build models of different complexity, from simple linear/logistic regression to convolutional neural network and recurrent neural networks with LSTM to solve tasks such as word embeddings, translation, optical character recognition. Students will also learn best practices to structure a model and manage research experiments.</li> <li><a href="https://github.com/chiphuyen/tf-stanford-tutorials">Assignments</a> available on Github.</li> </ul> </li> <li><a href="http://www.cs.columbia.edu/~jebara/4771/index.html" rel="nofollow">COMS 4771</a> <strong>Machine Learning</strong> <em>Columbia University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Course taught by <a href="http://www.cs.columbia.edu/~jebara/resume.html" rel="nofollow">Tony Jebara</a> introduces topics in Machine Learning for both generative and discriminative estimation. Material will include least squares methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines, and kernel methods.</li> <li><a href="http://www.cs.columbia.edu/~jebara/4771/handouts.html" rel="nofollow">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://cs109.github.io/2015/" rel="nofollow">CS 109</a> <strong>Data Science</strong> <em>Harvard University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Learning from data in order to gain useful predictions and insights. This course introduces methods for five key facets of an investigation: data wrangling, cleaning, and sampling to get a suitable data set; data management to be able to access big data quickly and reliably; exploratory data analysis to generate hypotheses and intuition; prediction based on statistical methods such as regression and classification; and communication of results through visualization, stories, and interpretable summaries.</li> <li><a href="http://cm.dce.harvard.edu/2015/01/14328/publicationListing.shtml" rel="nofollow">Lectures</a></li> <li><a href="http://cs109.github.io/2014/pages/schedule.html" rel="nofollow">Slides</a></li> <li><a href="http://cs109.github.io/2014/pages/homework.html" rel="nofollow">Labs and Assignments</a></li> <li><a href="http://cs109.github.io/2014/" rel="nofollow">2014 Lectures</a></li> <li><a href="http://cm.dce.harvard.edu/2014/01/14328/publicationListing.shtml" rel="nofollow">2013 Lectures</a> <em>(slightly better)</em></li> </ul> </li> <li><a href="https://work.caltech.edu/telecourse.html" rel="nofollow">CS 156</a> <strong>Learning from Data</strong> <em>Caltech</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is an introductory course in machine learning (ML) that covers the basic theory, algorithms, and applications. ML is a key technology in Big Data, and in many financial, medical, commercial, and scientific applications. It enables computational systems to adaptively improve their performance with experience accumulated from the observed data. ML has become one of the hottest fields of study today, taken up by undergraduate and graduate students from 15 different majors at Caltech. This course balances theory and practice, and covers the mathematical as well as the heuristic aspects.</li> <li><a href="https://work.caltech.edu/lectures.html" rel="nofollow">Lectures</a></li> <li><a href="https://work.caltech.edu/homeworks.html" rel="nofollow">Homework</a></li> <li><a href="https://work.caltech.edu/textbook.html" rel="nofollow">Textbook</a></li> </ul> </li> <li><a href="http://www.eecs189.org/" rel="nofollow">CS 189</a> <strong>Introduction To Machine Learning</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introductory ML course covering a wide range of topics: ranging from least squares to convolutional neural networks</li> <li><a href="http://www.eecs189.org/" rel="nofollow">Notes</a></li> <li><a href="http://www.eecs189.org/" rel="nofollow">Homework</a></li> </ul> </li> <li><a href="http://cs224d.stanford.edu/" rel="nofollow">CS 224d</a> <strong>Deep Learning for Natural Language Processing</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Natural language processing (NLP) is one of the most important technologies of the information age. Understanding complex language utterances is also a crucial part of artificial intelligence. Applications of NLP are everywhere because people communicate most everything in language: web search, advertisement, emails, customer service, language translation, radiology reports, etc. There are a large variety of underlying tasks and machine learning models powering NLP applications. Recently, deep learning approaches have obtained very high performance across many different NLP tasks. These models can often be trained with a single end-to-end model and do not require traditional, task-specific feature engineering. In this spring quarter course students will learn to implement, train, debug, visualize and invent their own neural network models. The course provides a deep excursion into cutting-edge research in deep learning applied to NLP.</li> <li><a href="http://cs224d.stanford.edu/syllabus.html" rel="nofollow">Syllabus</a></li> <li><a href="http://cs224d.stanford.edu/syllabus.html" rel="nofollow">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://people.seas.harvard.edu/~minilek/cs229r/fall15/index.html" rel="nofollow">CS 229r</a> <strong>Algorithms for Big Data</strong> <em>Harvard University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Big data is data so large that it does not fit in the main memory of a single machine, and the need to process big data by efficient algorithms arises in Internet search, network traffic monitoring, machine learning, scientific computing, signal processing, and several other areas. This course will cover mathematically rigorous models for developing such algorithms, as well as some provable limitations of algorithms operating in those models.</li> <li><a href="http://people.seas.harvard.edu/~minilek/cs229r/fall15/lec.html" rel="nofollow">Lectures</a> (<a href="https://www.youtube.com/playlist?list=PL2SOU6wwxB0v1kQTpqpuu5kEJo2i-iUyf" rel="nofollow">Youtube</a>)</li> <li><a href="http://people.seas.harvard.edu/~minilek/cs229r/fall15/hmwk.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://cs231n.stanford.edu/" rel="nofollow">CS 231n</a> <strong>Convolutional Neural Networks for Visual Recognition</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. This course is a deep dive into details of the deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. During the 10-week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision.</li> <li><a href="http://cs231n.stanford.edu/syllabus.html" rel="nofollow">Lecture Notes</a></li> <li><a href="https://www.youtube.com/watch?v=NfnWJUyUJYU&amp;list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC" rel="nofollow">Lecture Videos</a></li> <li><a href="http://cs231n.github.io/" rel="nofollow">Github Page</a></li> </ul> </li> <li><a href="http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/" rel="nofollow">CS 287</a> <strong>Advanced Robotics</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course introduces the math and algorithms underneath state-of-the-art robotic systems. The majority of these techniques are heavily based on probabilistic reasoning and optimization---two areas with wide applicability in modern Artificial Intelligence. An intended side-effect of the course is to generally strengthen your expertise in these two areas.</li> <li><a href="http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/#syllabus" rel="nofollow">Lectures Notes</a></li> <li><a href="http://www.cs.berkeley.edu/~pabbeel/cs287-fa13/#assignments" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.nr.com/CS395T/" rel="nofollow">CS 395T</a> <strong>Statistical and Discrete Methods for Scientific Computing</strong> <em>University of Texas</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Practical course in applying modern statistical techniques to real data, particularly bioinformatic data and large data sets. The emphasis is on efficient computation and concise coding, mostly in MATLAB and C++. Topics covered include probability theory and Bayesian inference; univariate distributions; Central Limit Theorem; generation of random deviates; tail (p-value) tests; multiple hypothesis correction; empirical distributions; model fitting; error estimation; contingency tables; multivariate normal distributions; phylogenetic clustering; Gaussian mixture models; EM methods; maximum likelihood estimation; Markov Chain Monte Carlo; principal component analysis; dynamic programming; hidden Markov models; performance measures for classifiers; support vector machines; Wiener filtering; wavelets; multidimensional interpolation; information theory.</li> <li><a href="http://wpressutexas.net/forum/" rel="nofollow">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4780/2014fa/" rel="nofollow">CS 4780</a> <strong>Machine Learning</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will introduce you to technologies for building data-centric information systems on the World Wide Web, show the practical applications of such systems, and discuss their design and their social and policy context by examining cross-cutting issues such as citizen science, data journalism and open government. Course work involves lectures and readings as well as weekly homework assignments, and a semester-long project in which the students demonstrate their expertise in building data-centric Web information systems.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4780/2014fa/" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4780/2014fa/" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4786/2015sp/index.htm" rel="nofollow">CS 4786</a> <strong>Machine Learning for Data Science</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>An introductory course in machine learning, with a focus on data modeling and related methods and learning algorithms for data sciences. Tentative topic list: <ul dir="auto"> <li>Dimensionality reduction, such as principal component analysis (PCA) and the singular value decomposition (SVD), canonical correlation analysis (CCA), independent component analysis (ICA), compressed sensing, random projection, the information bottleneck. (We expect to cover some, but probably not all, of these topics).</li> <li>Clustering, such as k-means, Gaussian mixture models, the expectation-maximization (EM) algorithm, link-based clustering. (We do not expect to cover hierarchical or spectral clustering.).</li> <li>Probabilistic-modeling topics such as graphical models, latent-variable models, inference (e.g., belief propagation), parameter learning.</li> <li>Regression will be covered if time permits.</li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4786/2015sp/assignments.htm" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4786/2015sp/lectures.htm" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/info" rel="nofollow">CVX 101</a> <strong>Convex Optimization</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course concentrates on recognizing and solving convex optimization problems that arise in applications. Topics addressed include the following. Convex sets, functions, and optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Optimality conditions, duality theory, theorems of alternative, and applications. Interior-point methods. Applications to signal processing, statistics and machine learning, control and mechanical engineering, digital and analog circuit design, and finance.</li> <li><a href="http://web.stanford.edu/~boyd/cvxbook/" rel="nofollow">Textbook</a></li> <li><a href="https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/courseware/7206c57866504e83821d00b5d3f80793/" rel="nofollow">Lectures and Assignments</a></li> </ul> </li> <li><a href="http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule" rel="nofollow">DS-GA 1008</a> <strong>Deep Learning</strong> <em>New York University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This increasingly popular course is taught through the Data Science Center at NYU. Originally introduced by <a href="http://yann.lecun.com/" rel="nofollow">Yann Lecun</a>, it is now led by <a href="http://www.harchaoui.eu/" rel="nofollow">Zaid Harchaoui</a>, although Prof. Lecun is rumored to still stop by from time to time. It covers the theory, technique, and tricks that are used to achieve very high accuracy for machine learning tasks in computer vision and natural language processing. The assignments are in Lua and hosted on Kaggle.</li> <li><a href="http://cilvr.cs.nyu.edu/doku.php?id=deeplearning2015:schedule" rel="nofollow">Course Page</a></li> <li><a href="http://techtalks.tv/deep-learning-nyu-spring-2015/" rel="nofollow">Recorded Lectures</a></li> </ul> </li> <li><a href="http://www.ee.columbia.edu/~cylin/course/bigdata/" rel="nofollow">EECS E6893 &amp; EECS E6895</a> <strong>Big Data Analytics &amp; Advanced Big Data Analytics</strong> <em>Columbia University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Students will gain knowledge on analyzing Big Data. It serves as an introductory course for graduate students who are expecting to face Big Data storage, processing, analysis, visualization, and application issues on both workplaces and research environments.</li> <li>Taught by <a href="http://researcher.watson.ibm.com/researcher/view.php?person=us-chingyung" rel="nofollow">Dr. Ching-Yung Lin</a></li> <li><a href="http://www.ee.columbia.edu/~cylin/course/bigdata/" rel="nofollow">Course Site</a></li> <li>Assignments - Assignments are present in the Course Slides</li> </ul> </li> <li><a href="http://llcao.net/cu-deeplearning15/index.html" rel="nofollow">EECS E6894</a> <strong>Deep Learning for Computer Vision and Natural Language Processing</strong> <em>Columbia University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This graduate level research class focuses on deep learning techniques for vision and natural language processing problems. It gives an overview of the various deep learning models and techniques, and surveys recent advances in the related fields. This course uses Theano as the main programming tool. GPU programming experiences are preferred although not required. Frequent paper presentations and a heavy programming workload are expected.</li> <li><a href="http://llcao.net/cu-deeplearning15/reading.html" rel="nofollow">Readings</a></li> <li><a href="http://llcao.net/cu-deeplearning15/programming_problem.html" rel="nofollow">Assignments</a></li> <li><a href="http://llcao.net/cu-deeplearning15/index.html" rel="nofollow">Lecture Notes</a></li> </ul> </li> <li><a href="http://stanford.edu/class/ee103/" rel="nofollow">EE103</a> <strong>Introduction to Matrix Methods</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course covers the basics of matrices and vectors, solving linear equations, least-squares methods, and many applications. It'll cover the mathematics, but the focus will be on using matrix methods in applications such as tomography, image processing, data fitting, time series prediction, finance, and many others. EE103 is based on a book that <a href="http://stanford.edu/~boyd/" rel="nofollow">Stephen Boyd</a> and <a href="http://www.seas.ucla.edu/~vandenbe/" rel="nofollow">Lieven Vandenberghe</a> are currently writing. Students will use a new language called <a href="http://julialang.org/" rel="nofollow">Julia</a> to do computations with matrices and vectors.</li> <li><a href="http://stanford.edu/class/ee103/lectures.html" rel="nofollow">Lectures</a></li> <li><a href="http://stanford.edu/class/ee103/mma.html" rel="nofollow">Book</a></li> <li><a href="http://stanford.edu/class/ee103/homework.html" rel="nofollow">Assignments</a></li> <li><a href="http://stanford.edu/class/ee103/julia_files" rel="nofollow">Code</a></li> </ul> </li> <li><a href="http://course.fast.ai/ml.html" rel="nofollow">Fast.ai Introduction to Machine Learning for Coders</a> <em>Fast.ai / University of San Francisco</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>There are around 24 hours of lessons, and you should plan to spend around 8 hours a week for 12 weeks to complete the material. The course is based on lessons recorded at the University of San Francisco for the Masters of Science in Data Science program. We assume that you have at least one year of coding experience, and either remember what you learned in high school math, or are prepared to do some independent study to refresh your knowledge.</li> <li><a href="http://course.fast.ai/lessonsml1/lessonsml1.html" rel="nofollow">Lecture Videos</a></li> <li><a href="https://medium.com/@hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236" rel="nofollow">Lecture Notes</a></li> <li><a href="https://github.com/fastai/fastai/tree/master/courses/ml1">Jupyter Notebooks</a></li> </ul> </li> <li><a href="http://www.ischool.berkeley.edu/courses/i290-abdt" rel="nofollow">Info 290</a> <strong>Analyzing Big Data with Twitter</strong> <em>UC Berkeley school of information</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In this course, UC Berkeley professors and Twitter engineers provide lectures on the most cutting-edge algorithms and software tools for data analytics as applied to Twitter's data. Topics include applied natural language processing algorithms such as sentiment analysis, large scale anomaly detection, real-time search, information diffusion and outbreak detection, trend detection in social streams, recommendation algorithms, and advanced frameworks for distributed computing.</li> <li><a href="http://www.ischool.berkeley.edu/newsandevents/audiovideo/webcast/21963" rel="nofollow">Lecture Videos</a></li> <li><a href="http://blogs.ischool.berkeley.edu/i290-abdt-s12/" rel="nofollow">Previous Years coursepage</a></li> </ul> </li> <li><a href="https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/" rel="nofollow">Machine Learning: 2014-2015</a> <em>University of Oxford</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course focusses on neural networks and uses the <a href="https://github.com/torch/torch7/wiki/Cheatsheet">Torch</a> deep learning library (implemented in Lua) for exercises and assignments. Topics include: logistic regression, back-propagation, convolutional neural networks, max-margin learning, siamese networks, recurrent neural networks, LSTMs, hand-writing with recurrent neural networks, variational autoencoders and image generation and reinforcement learning</li> <li><a href="https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/" rel="nofollow">Lectures and Assignments</a></li> <li><a href="https://github.com/oxford-cs-ml-2015/">Source code</a></li> </ul> </li> <li><a href="https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about" rel="nofollow">StatLearning</a> <strong>Intro to Statistical Learning</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is an introductory-level course in supervised learning, with a focus on regression and classification methods. The syllabus includes: linear and polynomial regression, logistic regression and linear discriminant analysis; cross-validation and the bootstrap, model selection and regularization methods (ridge and lasso); nonlinear models, splines and generalized additive models; tree-based methods, random forests and boosting; support-vector machines.</li> <li>The lectures cover all the material in <a href="http://www-bcf.usc.edu/~gareth/ISL/" rel="nofollow">An Introduction to Statistical Learning, with Applications in R</a> which is a more approachable version of the <a href="http://statweb.stanford.edu/~tibs/ElemStatLearn/" rel="nofollow">Elements of Statistical Learning</a> (or ESL) book.</li> </ul> </li> <li><a href="http://www.cs.cmu.edu/~ninamf/courses/601sp15/" rel="nofollow">10-601</a> <strong>Machine Learning</strong> <em>Carnegie Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course covers the theory and practical algorithms for machine learning from a variety of perspectives. It covers topics such as Bayesian networks, decision tree learning, Support Vector Machines, statistical learning methods, unsupervised learning and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, margin-based learning, and Occam's Razor. Short programming assignments include hands-on experiments with various learning algorithms. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in machine learning.</li> <li>Taught by one of the leading experts on Machine Learning - <strong>Tom Mitchell</strong></li> <li><a href="http://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cmu.edu/~tom/10701_sp11/proj.shtml" rel="nofollow">Project Ideas and Datasets</a></li> </ul> </li> <li><a href="http://www.cs.cmu.edu/~epxing/Class/10708-14/index.html" rel="nofollow">10-708</a> <strong>Probabilistic Graphical Models</strong> <em>Carnegie Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Many of the problems in artificial intelligence, statistics, computer systems, computer vision, natural language processing, and computational biology, among many other fields, can be viewed as the search for a coherent global conclusion from local information. The probabilistic graphical models framework provides a unified view for this wide range of problems, enabling efficient inference, decision-making and learning in problems with a very large number of attributes and huge datasets. This graduate-level course will provide you with a strong foundation for both applying graphical models to complex problems and for addressing core research topics in graphical models.</li> <li><a href="http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html" rel="nofollow">Lecture Videos</a></li> <li><a href="http://www.cs.cmu.edu/~epxing/Class/10708-14/homework.html" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html" rel="nofollow">Lecture notes</a></li> <li><a href="http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://deeplearning.cs.cmu.edu/" rel="nofollow">11-785</a> <strong>Deep Learning</strong> <em>Carnegie Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course presents the subject through a series of seminars and labs, which will explore it from its early beginnings, and work themselves to some of the state of the art. The seminars will cover the basics of deep learning and the underlying theory, as well as the breadth of application areas to which it has been applied, as well as the latest issues on learning from very large amounts of data. We will concentrate largely, although not entirely, on the connectionist architectures that are most commonly associated with it. <em>Lectures</em> and <em>Reading Notes</em> are available on the page.</li> </ul> </li> <li><a href="http://web.stanford.edu/class/cs246/" rel="nofollow">CS246</a> <strong>Mining Massive Data Sets</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course will discuss data mining and machine learning algorithms for analyzing very large amounts of data. The emphasis will be on Map Reduce as a tool for creating parallel algorithms that can process very large amounts of data.</li> <li><a href="http://www.mmds.org/#mooc" rel="nofollow">Lecture Videos</a></li> <li><a href="http://web.stanford.edu/class/cs246/handouts.html" rel="nofollow">Assignments</a></li> <li><a href="http://web.stanford.edu/class/cs246/handouts.html" rel="nofollow">Lecture notes</a></li> <li><a href="http://www.mmds.org/#book" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://web.stanford.edu/class/cs276/index.html" rel="nofollow">CS276</a> <strong>Information Retrieval and Web Search</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Basic and advanced techniques for text-based information systems: efficient text indexing; Boolean and vector space retrieval models; evaluation and interface issues; Web search including crawling, link-based algorithms, and Web metadata; text/Web clustering, classification; text mining.</li> <li><a href="http://web.stanford.edu/class/cs276/index.html#syllabus" rel="nofollow">Lecture notes</a></li> <li><a href="http://web.stanford.edu/class/cs276/index.html#books" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="https://github.com/yandexdataschool/Practical_RL">Practical_RL</a> <strong>Reinforcement Learning in the Wild</strong> <em>Yandex SDA</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A course on reinforcement learning in the wild. Taught on-campus in HSE and Yandex SDA (russian) and maintained to be friendly to online students (both english and russian).</li> <li><a href="https://github.com/yandexdataschool/Practical_RL#syllabus">Syllabus</a></li> </ul> </li> <li><a href="http://uvadlc.github.io/" rel="nofollow">UvA DEEP LEARNING</a> <strong>UvA Deep Learning Course</strong> <em>University of Amsterdam</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is taught in the MSc program in Artificial Intelligence of the University of Amsterdam. In this course we study the theory of deep learning, namely of modern, multi-layered neural networks trained on big data. The course focuses particularly on computer vision and language modelling, which are perhaps two of the most recognizable and impressive applications of the deep learning theory.</li> <li><a href="http://uvadlc.github.io/#lecture" rel="nofollow">Lecture Videos &amp; Notes</a></li> <li><a href="http://uvadlc.github.io/#practicals" rel="nofollow">Practicals</a></li> <li><a href="http://uvadlc.github.io/#other-links" rel="nofollow">Readings</a></li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Security</h3><a id="user-content-security" class="anchor" aria-label="Permalink: Security" href="#security"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/" rel="nofollow">CIS 4930 / CIS 5930</a> <strong>Offensive Computer Security</strong> <em>Florida State University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Course taught by <a href="http://ww2.cs.fsu.edu/~redwood/" rel="nofollow">W. Owen Redwood</a> and <a href="http://www.cs.fsu.edu/~liux/" rel="nofollow">Xiuwen Liu</a>. It covers a wide range of computer security topics, starting from Secure C Coding and Reverse Engineering to Penetration Testing, Exploitation and Web Application Hacking, both from the defensive and the offensive point of view.</li> <li><a href="http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/lectures.html" rel="nofollow">Lectures and Videos</a></li> <li><a href="http://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://crypto.stanford.edu/cs155/" rel="nofollow">CS 155</a> <strong>Computer and Network Security</strong> <em>Stanford</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Principles of computer systems security. Attack techniques and how to defend against them. Topics include: network attacks and defenses, operating system holes, application security (web, email, databases), viruses, social engineering attacks, privacy, and digital rights management. Course projects focus on building reliable code. Recommended: Basic Unix. Primarily intended for seniors and first-year graduate students.</li> </ul> </li> <li><a href="http://www-inst.eecs.berkeley.edu/~cs161/sp15/" rel="nofollow">CS 161</a> <strong>Computer Security</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.</li> </ul> </li> <li><a href="https://courseware.stanford.edu/pg/courses/331628/cs259-winter-2013" rel="nofollow">CS 259</a> <strong>Security Modeling and Analysis</strong> <em>Stanford</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course will cover a variety of contemporary network protocols and other systems with security properties. The course goal is to give students hands-on experience in using automated tools and related techniques to analyze and evaluate security mechanisms. To understand security properties and requirements, we will look at several network protocols and their properties, including secrecy, authentication, key establishment, and fairness. In parallel, the course will look at several models and tools used in security analysis and examine their advantages and limitations. In addition to fully automated finite-state model checking techniques, we will also study other approaches, such as constraint solving, process algebras, protocol logics, probabilistic model checking, game theory, and executable models based on logic programming.</li> </ul> </li> <li><a href="http://www.icir.org/vern/cs261n-Sp14/" rel="nofollow">CS 261</a> <strong>Internet/Network Security</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This class aims to provide a thorough grounding in network security suitable for those interested in conducting research in the area, as well as students more generally interested in either security or networking. We will also look at broader issues relating to Internet security for which networking plays a role. Topics include: denial-of-service; capabilities; network intrusion detection; worms; forensics; scanning; traffic analysis / inferring activity; architecture; protocol issues; legality and ethics; web attacks; anonymity; honeypots; botnets; spam; the underground economy; research pitfalls. The course is taught with an emphasis on seminal papers rather than bleeding-edge for a given topic.</li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS5430/2013sp/" rel="nofollow">CS 5430</a> <strong>System Security</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer" href="/prakhar1989/awesome-courses/blob/master"><img src="/prakhar1989/awesome-courses/raw/master" width="20" height="20" alt="Readings" title="Readings" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course discusses security for computers and networked information systems. We focus on abstractions, principles, and defenses for implementing military as well as commercial-grade secure systems.</li> <li><a href="http://www.cs.cornell.edu/courses/CS5430/2013sp/01.intro.html" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS5430/2013sp/02.outline.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS5430/2013sp/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://github.com/RPISEC/MBE">CSCI 4968</a> <strong>Modern Binary Exploitation</strong> <em>Rensselaer Polytechnic Institute</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This repository contains the materials as developed and used by <a href="http://rpis.ec" rel="nofollow">RPISEC</a> to teach Modern Binary Exploitation at <a href="http://rpi.edu" rel="nofollow">Rensselaer Polytechnic Institute</a> in Spring 2015. This was a university course developed and run solely by students to teach skills in vulnerability research, reverse engineering, and binary exploitation.</li> <li><a href="http://security.cs.rpi.edu/courses/binexp-spring2015/lectures/" rel="nofollow">Lectures Notes</a></li> <li><a href="https://github.com/RPISEC/MBE/tree/master/src">Labs</a></li> <li><a href="https://github.com/RPISEC/MBE/tree/master/src">Projects</a></li> </ul> </li> <li><a href="https://github.com/RPISEC/Malware">CSCI 4976</a> <strong>Malware Analysis</strong> <em>Rensselaer Polytechnic Institute</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This repository contains the materials as developed and used by <a href="http://rpis.ec" rel="nofollow">RPISEC</a> to teach Malware Analysis at <a href="http://rpi.edu" rel="nofollow">Rensselaer Polytechnic Institute</a> in Fall 2015. This was a university course developed and run solely by students, primarily using the</li> </ul> </li> <li><a href="https://www.eecs.umich.edu/courses/eecs588/" rel="nofollow">EECS 588</a> <strong>Computer &amp; Network Security</strong> <em>University of Michigan</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Taught by <a href="https://jhalderm.com/" rel="nofollow">J. Alex Halderman</a> who has analyzed the security of Electronic Voting Machines in the <a href="https://jhalderm.com/pub/papers/dcvoting-fc12.pdf" rel="nofollow">US</a> and <a href="https://jhalderm.com/pub/papers/ivoting-ccs14.pdf" rel="nofollow">over</a> <a href="https://jhalderm.com/pub/papers/evm-ccs10.pdf" rel="nofollow">seas</a>.</li> <li>This intensive research seminar covers foundational work and current topics in computer systems security.</li> <li><a href="https://www.eecs.umich.edu/courses/eecs588/readings.html" rel="nofollow">Readings</a> <a href="http://www.amazon.com/Practical-Malware-Analysis-Dissecting-Malicious/dp/1593272901" rel="nofollow">Practical Malware Analysis</a> book by Michael Sikorski and Andrew Honig, to teach skills in reverse engineering, malicious behaviour, malware, and anti-analysis techniques.</li> <li><a href="https://github.com/RPISEC/Malware/tree/master/Lectures">Lectures Notes</a></li> <li><a href="https://github.com/RPISEC/Malware/tree/master/Labs">Labs</a></li> <li><a href="https://github.com/RPISEC/Malware/tree/master/Projects">Projects</a></li> </ul> </li> <li><a href="https://courses.csail.mit.edu/6.857/2015/" rel="nofollow">6.857</a> <strong>Computer and Network Security</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Emphasis on applied cryptography and may include: basic notion of systems security, cryptographic hash functions, symmetric cryptography (one-time pad, stream ciphers, block ciphers), cryptanalysis, secret-sharing, authentication codes, public-key cryptography (encryption, digital signatures), public-key attacks, web browser security, biometrics, electronic cash, viruses, electronic voting, Assignments include a group final project. Topics may vary year to year. <a href="https://courses.csail.mit.edu/6.857/2015/handouts" rel="nofollow">Lecture Notes</a> <a href="https://courses.csail.mit.edu/6.857/2015/references" rel="nofollow">References</a></li> </ul> </li> <li><a href="http://css.csail.mit.edu/6.858/2014/" rel="nofollow">6.858</a> <strong>Computer Systems Security</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer" href="/prakhar1989/awesome-courses/blob/master"><img src="/prakhar1989/awesome-courses/raw/master" width="20" height="20" alt="Readings" title="Readings" style="max-width: 100%;"></a> <ul dir="auto"> <li>Design and implementation of secure computer systems. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications.</li> <li>Taught by <a href="http://research.microsoft.com/en-us/people/mickens/" rel="nofollow">James Mickens</a> and <a href="http://people.csail.mit.edu/nickolai/" rel="nofollow">Nickolai Zeldovich</a></li> <li><a href="http://css.csail.mit.edu/6.858/2014/schedule.html" rel="nofollow">Video Lectures and Labs</a></li> <li><a href="http://css.csail.mit.edu/6.858/2014/quiz.html" rel="nofollow">Quizzes</a></li> <li><a href="http://css.csail.mit.edu/6.858/2014/reference.html" rel="nofollow">Readings</a></li> <li><a href="http://css.csail.mit.edu/6.858/2014/projects.html" rel="nofollow">Final Projects</a></li> </ul> </li> <li><a href="https://courseware.stanford.edu/pg/courses/334553/18636-spring-2013" rel="nofollow">18-636</a> <strong>Browser Security</strong> <em>Stanford</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The Web continues to grow in popularity as platform for retail transactions, financial services, and rapidly evolving forms of communication. It is becoming an increasingly attractive target for attackers who wish to compromise users' systems or steal data from other sites. Browser vendors must stay ahead of these attacks by providing features that support secure web applications. This course will study vulnerabilities in existing web browsers and the applications they render, as well as new technologies that enable web applications that were never before possible. The material will be largely based on current research problems, and students will be expected to criticize and improve existing defenses. Topics of study include (but are not limited to) browser encryption, JavaScript security, plug-in security, sandboxing, web mashups, and authentication.</li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Artificial Intelligence</h3><a id="user-content-artificial-intelligence" class="anchor" aria-label="Permalink: Artificial Intelligence" href="#artificial-intelligence"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="http://ai.berkeley.edu/home.html" rel="nofollow">CS 188</a> <strong>Introduction to Artificial Intelligence</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decision-theoretic modeling paradigm. By the end of this course, you will have built autonomous agents that efficiently make decisions in fully informed, partially observable and adversarial settings. Your agents will draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.</li> <li><a href="http://ai.berkeley.edu/lecture_videos.html" rel="nofollow">Lectures</a></li> <li><a href="http://ai.berkeley.edu/project_overview.html" rel="nofollow">Projects</a></li> <li><a href="http://ai.berkeley.edu/exams.html" rel="nofollow">Exams</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4700/2014fa/" rel="nofollow">CS 4700</a> <strong>Foundations of Artificial Intelligence</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object and face detection and recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, and mobile computer vision. This is a project-based course, in which you will implement several computer vision algorithms throughout the semester.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4700/2014fa/" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4700/2014fa/" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS6700/2013sp/" rel="nofollow">CS 6700</a> <strong>Advanced Artificial Intelligence</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The design of systems that are among top 10 performers in the world (human, computer, or hybrid human-computer).</li> <li><a href="http://www.cs.cornell.edu/courses/CS6700/2013sp/lectures/CS6700-Overview_v2.pptx" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6700/2013sp/" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6700/2013sp/" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/index.htm" rel="nofollow">6.868J</a> <strong>The Society of Mind</strong> <em>MIT</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is an introduction, by Prof. <a href="http://www.nytimes.com/2016/01/26/business/marvin-minsky-pioneer-in-artificial-intelligence-dies-at-88.html?_r=0" rel="nofollow">Marvin Minsky</a>, to the theory that tries to explain how minds are made from collections of simpler processes. It treats such aspects of thinking as vision, language, learning, reasoning, memory, consciousness, ideals, emotions, and personality. It incorporates ideas from psychology, artificial intelligence, and computer science to resolve theoretical issues such as wholes vs. parts, structural vs. functional descriptions, declarative vs. procedural representations, symbolic vs. connectionist models, and logical vs. common-sense theories of learning.</li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/video-lectures/" rel="nofollow">Lectures</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/assignments/" rel="nofollow">Assignments</a></li> <li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-868j-the-society-of-mind-fall-2011/readings/" rel="nofollow">Readings</a></li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Computer Graphics</h3><a id="user-content-computer-graphics" class="anchor" aria-label="Permalink: Computer Graphics" href="#computer-graphics"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="http://crcv.ucf.edu/courses/CAP5415/" rel="nofollow">CAP 5415</a> <strong>Computer Vision</strong> <em>University of Central Florida</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>An introductory level course covering the basic topics of computer vision, and introducing some fundamental approaches for computer vision research.</li> <li><a href="http://crcv.ucf.edu/videos/Lecture_Videos/" rel="nofollow">Lectures and Videos</a></li> <li><a href="http://crcv.ucf.edu/courses/CAP5415/Fall2014/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=CIS_581:_Computer_Vision_%26_Computational_Photography" rel="nofollow">CIS 581</a> <strong>Computer Vision and Computational Photography</strong> <em>University of Pennsylvania</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>An introductory course in computer vision and computational photography focusing on four topics: image features, image morphing, shape matching, and image search.</li> <li><a href="https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=Schedule" rel="nofollow">Lectures</a></li> <li><a href="https://alliance.seas.upenn.edu/~cis581/wiki/index.php?title=Projects" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://15462.courses.cs.cmu.edu/fall2015" rel="nofollow">CMU 462</a> <strong>Computer Graphics</strong> <em>Carnegie Mellon University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course provides a comprehensive introduction to computer graphics. Focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves &amp; surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis.</li> <li><a href="http://15462.courses.cs.cmu.edu/fall2015/reading" rel="nofollow">Lectures and Readings</a></li> <li><a href="http://15462.courses.cs.cmu.edu/fall2015/exercises" rel="nofollow">Assignments and Quizes</a></li> </ul> </li> <li><a href="https://github.com/ut-cs378-vision-2014fall/course-info">CS 378</a> <strong>3D Reconstruction with Computer Vision</strong> <em>UTexas</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In this lab-based class, we'll dive into practical applications of 3D reconstruction, combining hardware and software to build our own 3D environments from scratch. We'll use open-source frameworks like OpenCV to do the heavy lifting, with the focus on understanding and applying state-of-the art approaches to geometric computer vision</li> <li><a href="https://github.com/ut-cs378-vision-2014fall/course-info/tree/master/meeting-notes">Lectures</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#" rel="nofollow">CS 4620</a> <strong>Introduction to Computer Graphics</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The study of creating, manipulating, and using visual images in the computer.</li> <li><a href="http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#asgn" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cornell.edu/Courses/CS4620/2014fa/index.shtml#exams" rel="nofollow">Exams</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4670/2015sp/" rel="nofollow">CS 4670</a> <strong>Introduction to Computer Vision</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object and face detection and recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, and mobile computer vision. This is a project-based course, in which you will implement several computer vision algorithms throughout the semester.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4670/2015sp/projects/projects.html" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4670/2015sp/lectures/lectures.html" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="https://canvas.instructure.com/courses/904706" rel="nofollow">CS 6670</a> <strong>Computer Vision</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to computer vision. Topics include edge detection, image segmentation, stereopsis, motion and optical flow, image mosaics, 3D shape reconstruction, and object recognition. Students are required to implement several of the algorithms covered in the course and complete a final project.</li> <li><a href="https://canvas.instructure.com/courses/904706/assignments/syllabus" rel="nofollow">Syllabus</a></li> <li><a href="https://canvas.instructure.com/courses/904706" rel="nofollow">Lectures</a></li> <li><a href="https://canvas.instructure.com/courses/904706/assignments" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://cs.brown.edu/courses/csci1230/index.html" rel="nofollow">CSCI 1230</a> <strong>Introduction to Computer Graphics</strong> <em>Brown University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course offers an in-depth exploration of fundamental concepts in 2D and 3D computer graphics. It introduces 2D raster graphics techniques, including scan conversion, simple image processing, interaction techniques and user interface design. The bulk of the course is devoted to 3D modeling, geometric transformations, and 3D viewing and rendering.</li> <li><a href="http://cs.brown.edu/courses/csci1230/lectures.html" rel="nofollow">Lectures</a></li> <li><a href="http://cs.brown.edu/courses/csci1230/labs.html" rel="nofollow">Labs</a></li> <li><a href="http://cs.brown.edu/courses/csci1230/demos.html" rel="nofollow">Demos</a></li> </ul> </li> <li><a href="https://mrl.nyu.edu/~perlin/courses/fall2015/" rel="nofollow">CSCI-GA.2270-001</a> <strong>Graduate Computer Graphics</strong> <em>New York University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Step-by-step study computer graphics, with reading and homework at each lecture (Fall2015)</li> <li><a href="https://mrl.nyu.edu/~perlin/courses/fall2015/" rel="nofollow">Lectures</a></li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc</h3><a id="user-content-misc" class="anchor" aria-label="Permalink: Misc" href="#misc"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="http://am207.github.io/2016/index.html" rel="nofollow">AM 207</a> <strong>Monte Carlo Methods and Stochastic Optimization</strong> <em>Harvard University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course introduces important principles of Monte Carlo techniques and demonstrates the power of these techniques with simple (but very useful) applications. All of this in Python!</li> <li><a href="http://cm.dce.harvard.edu/2015/02/24104/publicationListing.shtml" rel="nofollow">Lecture Videos</a></li> <li><a href="http://am207.github.io/2016/homework.html" rel="nofollow">Assignments</a></li> <li><a href="http://am207.github.io/2016/lectures.html" rel="nofollow">Lecture Notes</a></li> </ul> </li> <li><a href="http://ocw.tufts.edu/Course/75" rel="nofollow">CS 75</a> <strong>Introduction to Game Development</strong> <em>Tufts University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The course taught by <a href="http://mchow01.github.io" rel="nofollow">Ming Y. Chow</a> teaches game development initially in PyGame through Python, before moving on to addressing all facets of game development. Topics addressed include game physics, sprites, animation, game development methodology, sound, testing, MMORPGs and online games, and addressing mobile development in Android, HTML5, and iOS. Most to all of the development is focused on PyGame for learning principles</li> <li><a href="http://ocw.tufts.edu/Course/75/Learningunits" rel="nofollow">Text Lectures</a></li> <li><a href="http://ocw.tufts.edu/Course/75/Assignments" rel="nofollow">Assignments</a></li> <li><a href="http://ocw.tufts.edu/Course/75/Labs" rel="nofollow">Labs</a></li> </ul> </li> <li><a href="https://cs50.github.io/games/" rel="nofollow">CS 50</a> <strong>Intro to Game Developement</strong> <em>Harvard University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course picks up where Harvard College’s <a href="https://cs50.harvard.edu/" rel="nofollow">CS50</a> leaves off, focusing on the development of 2D and 3D interactive games. Students explore the design of such childhood games as Super Mario Bros., Legend of Zelda, and Portal in a quest to understand how video games themselves are implemented. Via lectures and hands-on projects, the course explores principles of 2D and 3D graphics, animation, sound, and collision detection using frameworks like Unity and <a href="https://love2d.org/" rel="nofollow">LÖVE 2D</a>, as well as languages like Lua and C#. By class’s end, students will have programmed several of their own games and gained a thorough understanding of the basics of game design and development.</li> <li><a href="https://cs50.github.io/games/assignments" rel="nofollow">Assignments</a></li> <li><a href="https://cs50.github.io/games/lectures" rel="nofollow">Lecture Videos</a></li> </ul> </li> <li><a href="https://github.com/mikeizbicki/ucr-cs100">CS 100</a> <strong>Open Source Software Construction</strong> <em>UC Riverside</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is a course on how to be a hacker. Your first four homework assignments walk you through the process of building your own unix shell. You'll be developing it as an open source project, and you will collaborate with each other at various points.</li> <li><a href="https://github.com/mikeizbicki/ucr-cs100">Github Page</a></li> <li><a href="https://github.com/mikeizbicki/ucr-cs100/tree/2015winter/assignments">Assignments</a></li> </ul> </li> <li><a href="http://web.stanford.edu/class/archive/cs/cs108/cs108.1092/" rel="nofollow">CS 108</a> <strong>Object Oriented System Design</strong> <em>Stanford</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Software design and construction in the context of large OOP libraries. Taught in Java. Topics: OOP design, design patterns, testing, graphical user interface (GUI) OOP libraries, software engineering strategies, approaches to programming in teams.</li> </ul> </li> <li><a href="https://inst.eecs.berkeley.edu/~cs168/fa15/" rel="nofollow">CS 168</a> <strong>Computer Networks</strong> <em>UC Berkeley</em><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is an undergraduate level course covering the fundamental concepts of networking as embodied in the Internet. The course will cover a wide range of topics; see the lecture schedule for more details. While the class has a textbook, we will not follow its order of presentation but will instead use the text as a reference when covering each individual topic. The course will also have several projects that involve programming (in Python).</li> <li>You should know programming, data structures, and software engineering. In terms of mathematics, your algebra should be very solid, you need to know basic probability, and you should be comfortable with thinking abstractly. The TAs will spend very little time reviewing material that is not specific to networking. We assume that you either know the material covered in those courses, or are willing to learn the material as necessary. We won't cover any of this material in lecture.</li> </ul> </li> <li><a href="http://web.stanford.edu/class/cs193a/lectures.shtml" rel="nofollow">CS 193a</a> <strong>Android App Development, Spring 2016</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Course Description: This course provides an introduction to developing applications for the Android mobile platform.</li> <li>Prerequisite: CS 106B or equivalent. Java experience highly recommended. OOP highly recommmended.</li> <li>Devices: Access to an Android phone and/or tablet recommended but not required.</li> <li>Videos: Videos list can be found <a href="http://web.stanford.edu/class/cs193a/videos.shtml" rel="nofollow">here</a></li> <li>Other materials: Some codes, handsout, homework ..... and lecture notes are not downloadable on the site due to login requirement. Please head to my Github repo <a href="https://github.com/VoLuong/Materials-CS193A-Android-App-Development-Standford">here</a> to download them.</li> </ul> </li> <li><a href="https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550" rel="nofollow">CS 193p</a> <strong>Developing Applications for iOS</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Updated for iOS 7. Tools and APIs required to build applications for the iPhone and iPad platform using the iOS SDK. User interface designs for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Objective-C programming language. Other topics include: object-oriented database API, animation, multi-threading and performance considerations.</li> <li>Prerequisites: C language and object-oriented programming experience</li> <li>Recommended: <a href="https://itunes.apple.com/us/course/programming-abstractions/id495054099" rel="nofollow">Programming Abstractions</a></li> <li><a href="https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099" rel="nofollow">Updated courses for iOS8 - Swift</a></li> <li><a href="https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961" rel="nofollow">Updated courses for iOS9 - Swift</a></li> </ul> </li> <li><a href="https://see.stanford.edu/Course/CS223A" rel="nofollow">CS 223A</a> <strong>Introduction to Robotics</strong> <em>Stanford University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>The purpose of this course is to introduce you to basics of modeling, design, planning, and control of robot systems. In essence, the material treated in this course is a brief survey of relevant results from geometry, kinematics, statics, dynamics, and control.</li> </ul> </li> <li><a href="http://www.cs.berkeley.edu/~brewer/cs262/" rel="nofollow">CS 262a</a> <strong>Advanced Topics in Computer Systems</strong> <em>UC Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS262a is the first semester of a year-long sequence on computer systems research, including operating systems, database systems, and Internet infrastructure systems. The goal of the course is to cover a broad array of research topics in computer systems, and to engage you in top-flight systems research. The first semester is devoted to basic thematic issues and underlying techniques in computer systems, while the second semester goes deeper into topics related to scalable, parallel and distributed systems. The class is based on a discussion of important research papers and a research project.</li> <li><strong>Parts</strong>: Some Classics, Persistent Storage, Concurrency, Higher-Level Models, Virtual Machines, Cloud Computing, Parallel and Distributed Computing, Potpourri.</li> <li>Prerequisites: The historical prerequisite was to pass an entrance exam in class, which covered undergraduate operating systems material (similar to <a href="https://cs162.eecs.berkeley.edu/" rel="nofollow">UCB's CS162</a>). There is no longer an exam. However, if you have not already taken a decent undergrad OS class, you should talk with me before taking this class. The exam had the benefit of "paging in" the undergrad material, which may have been its primary value (since the pass rate was high).</li> <li><a href="http://www.cs.berkeley.edu/~brewer/cs262/" rel="nofollow">Readings &amp; Lectures</a></li> </ul> </li> <li><a href="http://inst.eecs.berkeley.edu/~cs294-101/sp15/" rel="nofollow">CS 294</a> <strong>Cutting-edge Web Technologies</strong> <em>Berkeley</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Want to learn what makes future web technologies tick? Join us for the class where we will dive into the internals of many of the newest web technologies, analyze and dissect them. We will conduct survey lectures to provide the background and overview of the area as well as invite guest lecturers from various leading projects to present their technologies.</li> </ul> </li> <li><a href="http://video.bilkent.edu.tr/course_videos.php?courseid=10" rel="nofollow">CS 411</a> <strong>Software Architecture Design</strong> <em>Bilkent University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course teaches the basic concepts, methods and techniques for designing software architectures. The topics include: rationale for software architecture design, modeling software architecture design, architectural styles/patterns, architectural requirements analysis, comparison and evaluation of architecture design methods, synthesis-based software architecture design, software product-line architectures, domain modeling, domain engineering and application engineering, software architecture implementation, evaluating software architecture designs.</li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS3152/2014sp/" rel="nofollow">CS 3152</a> <strong>Introduction to Computer Game Development</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A project-based course in which programmers and designers collaborate to make a computer game. This course investigates the theory and practice of developing computer games from a blend of technical, aesthetic, and cultural perspectives. Technical aspects of game architecture include software engineering, artificial intelligence, game physics, computer graphics, and networking. Aesthetic and cultural include art and modeling, sound and music, game balance, and player experience.</li> <li><a href="http://www.cs.cornell.edu/courses/CS3152/2014sp/about/faq.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS3152/2014sp/lectures/index.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS3152/2014sp/assignments/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4152/2014sp/" rel="nofollow">CS 4152</a> <strong>Advanced Topics in Computer Game Development</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Project-based follow-up course to CS/INFO 3152. Students work in a multidisciplinary team to develop a game that incorporates innovative game technology. Advanced topics include 3D game development, mobile platforms, multiplayer gaming, and nontraditional input devices. There is a special emphasis on developing games that can be submitted to festivals and competitions, or that can be commercialized.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4152/2014sp/about/faq.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4152/2014sp/sessions/index.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4152/2014sp/assignments/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4154/2014fa/" rel="nofollow">CS 4154</a> <strong>Analytics-driven Game Design</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A project-based course in which programmers and designers collaborate to design, implement, and release a video game online through popular game portals. In this course, students will use the internet to gather data anonymously from players. Students will analyze this data in order to improve their game over multiple iterations. Technical aspects of this course include programming, database architecture, and statistical analysis.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4154/2014fa/about/faq.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4154/2014fa/lectures/index.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4154/2014fa/assignments/index.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://courses.cit.cornell.edu/physics4481-7681_2018fa/" rel="nofollow">CS 4812</a> <strong>Quantum Information Processing</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Hardware that exploits quantum phenomena can dramatically alter the nature of computation. Though constructing a working quantum computer is a formidable technological challenge, there has been much recent experimental progress. In addition, the theory of quantum computation is of interest in itself, offering strikingly different perspectives on the nature of computation and information, as well as providing novel insights into the conceptual puzzles posed by the quantum theory. The course is intended both for physicists, unfamiliar with computational complexity theory or cryptography, and also for computer scientists and mathematicians, unfamiliar with quantum mechanics. The prerequisites are familiarity (and comfort) with finite dimensional vector spaces over the complex numbers, some standard group theory, and ability to count in binary.</li> <li><a href="https://courses.cit.cornell.edu/physics4481-7681_2018fa/" rel="nofollow">Syllabus</a></li> <li><a href="https://courses.cit.cornell.edu/physics4481-7681_2018fa/" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS4860/2012fa/" rel="nofollow">CS 4860</a> <strong>Applied Logic</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>In addition to basic first-order logic, when taught by Computer Science this course involves elements of Formal Methods and Automated Reasoning. Formal Methods is concerned with proving properties of algorithms, specifying programming tasks and synthesizing programs from proofs. We will use formal methods tools such as interactive proof assistants (see <a href="http://www.nuprl.org" rel="nofollow">www.nuprl.org</a>). We will also spend two weeks on constructive type theory, the language used by the Coq and Nuprl proof assistants.</li> <li><a href="http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS4860/2012fa/schedule.php" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS5150/2014fa/overview.html" rel="nofollow">CS 5150</a> <strong>Software Engineering</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Introduction to the practical problems of specifying, designing, building, testing, and delivering reliable software systems</li> <li><a href="http://www.cs.cornell.edu/courses/CS5150/2014fa/materials.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS5150/2014fa/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/~bindel/class/cs5220-f11/" rel="nofollow">CS 5220</a> <strong>Applications of Parallel Computers</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>How do we solve the large-scale problems of science quickly on modern computers? How do we measure the performance of new or existing simulation codes, and what things can we do to make them run faster? How can we best take advantage of features like multicore processors, vector units, and graphics co-processors? These are the types of questions we will address in CS 5220, Applications of Parallel Computers. Topics include: <ul dir="auto"> <li>Single-processor architecture, caches, and serial performance tuning</li> <li>Basics of parallel machine organization</li> <li>Distributed memory programming with MPI</li> <li>Shared memory programming with OpenMP</li> <li>Parallel patterns: data partitioning, synchronization, and load balancing</li> <li>Examples of parallel numerical algorithms</li> <li>Applications from science and engineering</li> </ul> </li> <li><a href="http://www.cs.cornell.edu/~bindel/class/cs5220-f11/lectures.html" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/~bindel/class/cs5220-f11/assignments.html" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="https://sites.google.com/site/cs5540sp2013/" rel="nofollow">CS 5540</a> <strong>Computational Techniques for Analyzing Clinical Data</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS5540 is a masters-level course that covers a wide range of clinical problems and their associated computational challenges. The practice of medicine is filled with digitally accessible information about patients, ranging from EKG readings to MRI images to electronic health records. This poses a huge opportunity for computer tools that make sense out of this data. Computation tools can be used to answer seemingly straightforward questions about a single patient's test results (“Does this patient have a normal heart rhythm?”), or to address vital questions about large populations (“Is there any clinical condition that affects the risks of Alzheimer”). In CS5540 we will look at many of the most important sources of clinical data and discuss the basic computational techniques used for their analysis, ranging in sophistication from current clinical practice to state-of-the-art research projects.</li> <li><a href="https://sites.google.com/site/cs5540sp2013/home/course-description" rel="nofollow">Syllabus</a></li> <li><a href="https://sites.google.com/site/cs5540sp2013/lectures" rel="nofollow">Lectures</a></li> <li><a href="https://sites.google.com/site/cs5540sp2013/assignments" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://courses2.cit.cornell.edu/cs5724/" rel="nofollow">CS 5724</a> <strong>Evolutionary Computation</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course will cover advanced topics in evolutionary algorithms and their application to open-ended computational design. The field of evolutionary computation tries to address large-scale optimization and planning problems through stochastic population-based methods. It draws inspiration from evolutionary processes in nature and in engineering, and also serves as abstract models for these phenomena. Evolutionary processes are generally weak methods that require little information about the problem domain and hence can be applied across a wide variety of applications. They are especially useful for open-ended problem domains for which little formal knowledge exists and the number of parameters is undefined, such as for the general engineering design process. This course will provide insight to a variety of evolutionary computation paradigms, such as genetic algorithms, genetic programming, and evolutionary strategies, as well as governing dynamics of co-evolution, arms races and mediocre stable states. New methods involving symbiosis models and pattern recognition will also be presented. The material will be intertwined with discussions of representations and results for design problems in a variety of problem domains including software, electronics, and mechanics.</li> <li><a href="http://courses2.cit.cornell.edu/cs5724/" rel="nofollow">Syllabus</a></li> <li><a href="http://courses2.cit.cornell.edu/cs5724/schedule.htm" rel="nofollow">Lectures</a></li> <li><a href="http://courses2.cit.cornell.edu/cs5724/" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS6452/2012sp/index.php" rel="nofollow">CS 6452</a> <strong>Datacenter Networks and Services</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS6452 focuses on datacenter networks and services. The emerging demand for web services and cloud computing have created need for large scale data centers. The hardware and software infrastructure for datacenters critically determines the functionality, performance, cost and failure tolerance of applications running on that datacenter. This course will examine design alternatives for both the hardware (networking) infrastructure, and the software infrastructure for datacenters.</li> <li><a href="http://www.cs.cornell.edu/courses/CS6452/2012sp/lectures.php" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6452/2012sp/lectures.php" rel="nofollow">Lectures</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS6630/2012sp/about.stm" rel="nofollow">CS 6630</a> <strong>Realistic Image Synthesis</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>CS6630 is an introduction to physics-based rendering at the graduate level. Starting from the fundamentals of light transport we will look at formulations of the Rendering Equation, and a series of Monte Carlo methods, from sequential sampling to multiple importance sampling to Markov Chains, for solving the equation to make pictures. We'll look at light reflection from surfaces and scattering in volumes, illumination from luminaries and environments, and diffusion models for translucent materials. We will build working implementations of many of the algorithms we study, and learn how to make sure they are actually working correctly. It's fun to watch integrals and probability distributions transform into photographs of a slightly too perfect synthetic world.</li> <li><a href="http://www.cs.cornell.edu/courses/CS6630/2012sp/about.stm" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6630/2012sp/schedule.stm" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#" rel="nofollow">CS 6640</a> <strong>Computational Photography</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>A course on the emerging applications of computation in photography. Likely topics include digital photography, unconventional cameras and optics, light field cameras, image processing for photography, techniques for combining multiple images, advanced image editing algorithms, and projector-camera systems.cornell.edu/courses/CS6630/2012sp/about.stm)</li> <li><a href="http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#schedule" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6640/2012fa/index.shtml#hw" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS6650/2013fa/" rel="nofollow">CS 6650</a> <strong>Computational Motion</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Covers computational aspects of motion, broadly construed. Topics include the computer representation, modeling, analysis, and simulation of motion, and its relationship to various areas, including computational geometry, mesh generation, physical simulation, computer animation, robotics, biology, computer vision, acoustics, and spatio-temporal databases. Students implement several of the algorithms covered in the course and complete a final project. This offering will also explore the special role of motion processing in physically based sound rendering.</li> </ul> </li> <li><a href="http://www.cs.cornell.edu/courses/CS6840/2014sp/" rel="nofollow">CS 6840</a> <strong>Algorithmic Game Theory</strong> <em>Cornell University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Algorithmic Game Theory combines algorithmic thinking with game-theoretic, or, more generally, economic concepts. The course will study a range of topics at this interface</li> <li><a href="http://www.cs.cornell.edu/courses/CS6840/2014sp/" rel="nofollow">Syllabus</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6840/2014sp/" rel="nofollow">Lectures</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6840/2014sp/" rel="nofollow">Assignments</a></li> <li><a href="http://www.cs.cornell.edu/courses/CS6840/2014sp/" rel="nofollow">Readings</a></li> </ul> </li> <li><a href="http://courses.cs.washington.edu/courses/cse154/14au/" rel="nofollow">CSE 154</a> <strong>Web Programming</strong> <em>University of Washington</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course is an introduction to programming for the World Wide Web. Covers use of HTML, CSS, PHP, JavaScript, AJAX, and SQL.</li> <li><a href="http://courses.cs.washington.edu/courses/cse154/14au/lectures.shtml#today" rel="nofollow">Lectures</a></li> <li><a href="http://courses.cs.washington.edu/courses/cse154/14au/homework.shtml" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://ucsb-bren.github.io/esm296-4f/" rel="nofollow">ESM 296-4F</a> <strong>GIS &amp; Spatial Analysis</strong> <em>UC Santa Barbara</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Taught by <a href="http://www.bren.ucsb.edu/people/Faculty/james_frew.htm" rel="nofollow">James Frew</a>, <a href="http://mgel.env.duke.edu/people/ben-best/" rel="nofollow">Ben Best</a>, and <a href="http://www.centerforoceansolutions.org/team/lisa-wedding" rel="nofollow">Lisa Wedding</a></li> <li>Focuses on specific computational languages (e.g., Python, R, shell) and tools (e.g., GDAL/OGR, InVEST, MGET, ModelBuilder) applied to the spatial analysis of environmental problems</li> <li><a href="http://ucsb-bren.github.io/esm296-4f/" rel="nofollow">GitHub </a> (includes lecture materials and labs)</li> </ul> </li> <li><a href="http://philipmjohnson.github.io/ics314f13/" rel="nofollow">ICS 314</a> <strong>Software Engineering</strong> <em>University of Hawaii</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Taught by <a href="http://philipmjohnson.org/" rel="nofollow">Philip Johnson</a></li> <li>Introduction to software engineering using the <a href="http://philipmjohnson.org/essays/ase-initial-results.html" rel="nofollow">"Athletic Software Engineering" pedagogy</a></li> <li><a href="http://philipmjohnson.github.io/ics314f13/readings/" rel="nofollow">Readings</a></li> <li><a href="http://philipmjohnson.github.io/ics314f13/experiences/" rel="nofollow">Experiences</a></li> <li><a href="http://philipmjohnson.github.io/ics314f13/assessments/" rel="nofollow">Assessments</a></li> </ul> </li> <li><a href="http://hfoss-fossrit.rhcloud.com" rel="nofollow">IGME 582</a> <strong>Humanitarian Free &amp; Open Source Software Development</strong> <em>Rochester Institute of Technology</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This course provides students with exposure to the design, creation and production of Open Source Software projects. Students will be introduced to the historic intersections of technology and intellectual property rights and will become familiar with Open Source development processes, tools and practices.</li> </ul> </li> <li><a href="http://www.informatics.indiana.edu/rocha/i-bic/" rel="nofollow">I485 / H400</a> <strong>Biologically Inspired Computation</strong> <em>Indiana University</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>Course taught by <a href="http://www.informatics.indiana.edu/rocha/lr_form.html" rel="nofollow">Luis Rocha</a> about the multi-disciplinary field algorithms inspired by naturally occurring phenomenon. This course provides introduces the following areas: L-systems, Cellular Automata, Emergence, Genetic Algorithms, Swarm Intelligence and Artificial Immune Systems. It's aim is to cover the fundamentals and enable readers to build up a proficiency in applying various algorithms to real-world problems.</li> <li><a href="http://www.informatics.indiana.edu/rocha/i-bic/#materials" rel="nofollow">Lectures</a></li> <li><a href="http://www.informatics.indiana.edu/rocha/i-bic/#labs" rel="nofollow">Assignments</a></li> </ul> </li> <li><a href="http://www.schneems.com/ut-rails/" rel="nofollow">Open Sourced Elective: Database and Rails</a> <strong>Intro to Ruby on Rails</strong> <em>University of Texas</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>An introductory course in Ruby on Rails open sourced by University of Texas' CS Adjunct Professor, Richard Schneeman.</li> <li><a href="http://www.schneems.com/ut-rails/" rel="nofollow">Lectures</a></li> <li><a href="http://www.schneems.com/ut-rails/" rel="nofollow">Assignments</a></li> <li><a href="https://www.youtube.com/playlist?list=PL7A85FD7803A8CB1F" rel="nofollow">Videos</a></li> </ul> </li> <li><a href="http://mlecture.uni-bremen.de/ml/index.php?option=com_content&amp;view=article&amp;id=233" rel="nofollow">SCICOMP</a> <strong>An Introduction to Efficient Scientific Computation</strong> <em>Universität Bremen</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is a graduate course in scientific computing created and taught by <a href="http://colorfulengineering.org/" rel="nofollow">Oliver Serang</a> in 2014, which covers topics in computer science and statistics with applications from biology. The course is designed top-down, starting with a problem and then deriving a variety of solutions from scratch.</li> <li>Topics include memoization, recurrence closed forms, string matching (sorting, hash tables, radix tries, and suffix tries), dynamic programming (e.g. Smith-Waterman and Needleman-Wunsch), Bayesian statistics (e.g. the envelope paradox), graphical models (HMMs, Viterbi, junction tree, belief propagation), FFT, and the probabilistic convolution tree.</li> <li><a href="https://www.youtube.com/user/fillwithlight/videos" rel="nofollow">Lecture videos on Youtube</a> and for direct <a href="http://mlecture.uni-bremen.de/ml/index.php?option=com_content&amp;view=article&amp;id=233" rel="nofollow">download</a></li> </ul> </li> <li><a href="http://www.ini740.rocks/F20" rel="nofollow">14-740</a> <strong>Fundamentals of Computer Networks</strong> <em>CMU</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67"><img src="https://camo.githubusercontent.com/d5cc955b906bb8c74d5dde82850fe4c61f518e99c294c020fcb7647f00aec50d/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663466392e706e67" width="20" height="20" alt="Lecture Videos" title="Lecture Videos" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4f9.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67"><img src="https://camo.githubusercontent.com/bf7f4f6ff0be65e8a28853a6650df73274b03686157d07cf5d563bd43d9a55a7/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464612e706e67" width="20" height="20" alt="Readings" title="Readings" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4da.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a> <ul dir="auto"> <li>This is an introductory course on Networking for graduate students. It follows a top-down approach to teaching Computer Networks, so it starts with the Application layer which most of the students are familiar with and as the course unravels we learn more about transport, network and link layers of the protocol stack.</li> <li>As far as prerequisites are concerned - basic computer, programming and probability theory background is required.</li> <li>The course site contains links to the lecture videos, reading material and assignments.</li> </ul> </li> </ul> <hr> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Statistics</h3><a id="user-content-statistics" class="anchor" aria-label="Permalink: Statistics" href="#statistics"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li> <p dir="auto"><a href="https://andrewpbray.github.io/reg/index.html" rel="nofollow">STAT 340</a> <strong>Applied Regression Methods</strong> <em>Smith College</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67"><img src="https://camo.githubusercontent.com/9e03aff31a9e6e81a2088b90a3a141543e1fa04b878a7f622735f04fcc704b6f/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663462622e706e67" width="20" height="20" alt="Assignments" title="Assignments" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4bb.png" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67"><img src="https://camo.githubusercontent.com/957755586f03751a257fc9a8244a7cc994280d987bf86896600fa697d65922ca/68747470733a2f2f6173736574732d63646e2e6769746875622e636f6d2f696d616765732f69636f6e732f656d6f6a692f756e69636f64652f31663464642e706e67" width="20" height="20" alt="Lecture Notes" title="Lecture Notes" data-canonical-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f4dd.png" style="max-width: 100%;"></a></p> </li> <li> <p dir="auto">This course covers the beautiful and useful tool of regression, which is the central technique of statistical modeling. By the end of this course you will be able to:</p> <ul dir="auto"> <li>Discern research questions and data that are well-suited to regression analysis.</li> <li>Conduct thorough exploratory data analysis of data in multiple dimensions.</li> <li>Understand the mathematical foundations of regression.</li> <li>Perform regression analysis in a modern computing environment.</li> <li>Interpret your model and communicate what it implies.</li> </ul> </li> <li> <p dir="auto"><a href="https://andrewpbray.github.io/reg/syllabus.html" rel="nofollow">Syllabus</a></p> </li> <li> <p dir="auto"><a href="https://andrewpbray.github.io/reg/index.html" rel="nofollow">Lecture Notes</a></p> </li> </ul> </article></div></div></div></div></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-partial> <input type="hidden" data-csrf="true" value="txsbGzjJWkyMQz/ARGQLyPzuzp/O/xkKWTCSsdijBp0YnbAvZ/yFtg8IxekVoYuIknQE35aDE5FeZy6jafT/EA==" /> </div> <div data-view-component="true" class="Layout-sidebar"> <div class="BorderGrid about-margin" data-pjax> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <div class="hide-sm hide-md"> <h2 class="mb-3 h4">About</h2> <p class="f4 my-3"> 📚 List of awesome university courses for learning Computer Science! </p> <h3 class="sr-only">Topics</h3> <div class="my-3"> <div class="f6"> <a href="/topics/computer-science" title="Topic: computer-science" data-view-component="true" class="topic-tag topic-tag-link"> computer-science </a> <a href="/topics/awesome" title="Topic: awesome" data-view-component="true" class="topic-tag topic-tag-link"> awesome </a> <a href="/topics/courses" title="Topic: courses" data-view-component="true" class="topic-tag topic-tag-link"> courses </a> <a href="/topics/awesome-list" title="Topic: awesome-list" data-view-component="true" class="topic-tag topic-tag-link"> awesome-list </a> </div> </div> <h3 class="sr-only">Resources</h3> <div class="mt-2"> <a class="Link--muted" data-analytics-event="{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:readme&quot;}" href="#readme-ov-file"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book mr-2"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> Readme </a> </div> <include-fragment src="/prakhar1989/awesome-courses/hovercards/citation/sidebar_partial?tree_name=master"> </include-fragment> <div class="mt-2"> <a href="/prakhar1989/awesome-courses/activity" data-view-component="true" class="Link Link--muted"><svg text="gray" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-2"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span class="color-fg-muted">Activity</span></a> </div> <h3 class="sr-only">Stars</h3> <div class="mt-2"> <a href="/prakhar1989/awesome-courses/stargazers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <strong>59.6k</strong> stars</a> </div> <h3 class="sr-only">Watchers</h3> <div class="mt-2"> <a href="/prakhar1989/awesome-courses/watchers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye mr-2"> <path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path> </svg> <strong>2.3k</strong> watching</a> </div> <h3 class="sr-only">Forks</h3> <div class="mt-2"> <a href="/prakhar1989/awesome-courses/forks" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <strong>8.2k</strong> forks</a> </div> <div class="mt-2"> <a class="Link--muted" href="/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fprakhar1989%2Fawesome-courses&amp;report=prakhar1989+%28user%29"> Report repository </a> </div> </div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/prakhar1989/awesome-courses/releases" data-view-component="true" class="Link--primary no-underline Link">Releases</a></h2> <div class="text-small color-fg-muted">No releases published</div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/users/prakhar1989/packages?repo_name=awesome-courses" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter ml-1">0</span></a></h2> <div class="text-small color-fg-muted" > No packages published <br> </div> </div> </div> <div class="BorderGrid-row" hidden> <div class="BorderGrid-cell"> <include-fragment src="/prakhar1989/awesome-courses/used_by_list" accept="text/fragment+html"> </include-fragment> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/prakhar1989/awesome-courses/graphs/contributors" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Contributors <span title="134" data-view-component="true" class="Counter ml-1">134</span></a></h2> <include-fragment src="/prakhar1989/awesome-courses/contributors_list?count=134&amp;current_repository=awesome-courses&amp;items_to_show=14" aria-busy="true" aria-label="Loading contributors"> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> </ul> </include-fragment> <div data-view-component="true" class="mt-3"> <a text="small" href="/prakhar1989/awesome-courses/graphs/contributors" data-view-component="true" class="Link--inTextBlock Link">+ 120 contributors</a></div> </div> </div> </div> </div> </div></div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> &copy; 2025 GitHub,&nbsp;Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10