{"id":444,"date":"2021-05-29T21:27:50","date_gmt":"2021-05-29T21:27:50","guid":{"rendered":"https:\/\/sites.rutgers.edu\/wes-cowan\/?page_id=444"},"modified":"2021-05-30T20:37:29","modified_gmt":"2021-05-30T20:37:29","slug":"cs-205-intro-to-discrete-math-and-logic","status":"publish","type":"page","link":"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/","title":{"rendered":"CS 205: Intro to Discrete Math and Logic"},"content":{"rendered":"<p>The purpose of this course is to formalize many topics and ways of thinking in computer science that are frequently discussed in rather casual terms. Taking a mathematical approach to these ideas facilitates not only communication, but also understanding (ideally). On an abstract level, this course is about how to think logically, and how to identify and analyze the important parts of a problem to yield confident, correct results. On a more technical level, this course covers a number of mathematical structures and ideas of interest that occur frequently in computer science.<\/p>\n<p>Discrete mathematics has a very different feel and flavor than that of other fields such as calculus, focusing instead on conceptualizing and manipulating discrete objects. These include logical propositions, finite sets, combinations and permutations, and, at a higher level, graphs. These objects are important for modeling and analyzing real-world objects that are of interest programmatically (e.g., computation as functions, relationships as graphs, etc).<\/p>\n<h5><strong>Textbook<\/strong><\/h5>\n<p>The usual text for this course is <em>Discrete Mathematics and Its Applications<\/em> by Kenneth Rosen, the custom edition for Rutgers University. Additional notes may be made available as necessary.<\/p>\n<h5><strong>Topics<\/strong><\/h5>\n<ul>\n<li>Logic, Propositional Logic, Predicates and Quantifiers, Applications<\/li>\n<li>Inferences, Proofs<\/li>\n<li>Sets, Set Operations, Applications, Proofs Involving Sets<\/li>\n<li>Induction (Strong\/Weak), Proofs Involving<\/li>\n<li>Functions, Boolean Functions, Sequences, Summations<\/li>\n<li>Recursion<\/li>\n<li>Cardinality<\/li>\n<li>Algorithms, Growth and Complexity, Recursive Algorithms<\/li>\n<li>Integers, Representation, Divisibility, Modular Arithmetic<\/li>\n<li>Integer Algorithms<\/li>\n<li>Primes, Greatest Common Divisor<\/li>\n<li>Solving Congruences<\/li>\n<li>State Machines, Turing Machines, Automata<\/li>\n<\/ul>\n<h5><strong>Notes (Coming Soon)<\/strong><\/h5>\n<ul>\n<li>Math as Art<\/li>\n<li>Logic Primer<\/li>\n<li>Set Primer<\/li>\n<li>Induction Notes + Examples<\/li>\n<li>Halting Problem Notes<\/li>\n<li>Diagonal Slash Notes<\/li>\n<li>Algorithm Notes<\/li>\n<li>Diophantine Equations<\/li>\n<li>Things Worth Knowing, Cheat Sheet<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The purpose of this course is to formalize many topics and ways of thinking in computer science that are frequently discussed in rather casual terms. Taking a mathematical approach to &hellip; <a href=\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/\" class=\"\">Read More<\/a><\/p>\n","protected":false},"author":1613,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-444","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CS 205: Intro to Discrete Math and Logic - Wes Cowan<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CS 205: Intro to Discrete Math and Logic - Wes Cowan\" \/>\n<meta property=\"og:description\" content=\"The purpose of this course is to formalize many topics and ways of thinking in computer science that are frequently discussed in rather casual terms. Taking a mathematical approach to &hellip; Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/\" \/>\n<meta property=\"og:site_name\" content=\"Wes Cowan\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-30T20:37:29+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/\",\"url\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/\",\"name\":\"CS 205: Intro to Discrete Math and Logic - Wes Cowan\",\"isPartOf\":{\"@id\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/#website\"},\"datePublished\":\"2021-05-29T21:27:50+00:00\",\"dateModified\":\"2021-05-30T20:37:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CS 205: Intro to Discrete Math and Logic\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/#website\",\"url\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/\",\"name\":\"Wes Cowan\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sites.rutgers.edu\/wes-cowan\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CS 205: Intro to Discrete Math and Logic - Wes Cowan","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/","og_locale":"en_US","og_type":"article","og_title":"CS 205: Intro to Discrete Math and Logic - Wes Cowan","og_description":"The purpose of this course is to formalize many topics and ways of thinking in computer science that are frequently discussed in rather casual terms. Taking a mathematical approach to &hellip; Read More","og_url":"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/","og_site_name":"Wes Cowan","article_modified_time":"2021-05-30T20:37:29+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/","url":"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/","name":"CS 205: Intro to Discrete Math and Logic - Wes Cowan","isPartOf":{"@id":"https:\/\/sites.rutgers.edu\/wes-cowan\/#website"},"datePublished":"2021-05-29T21:27:50+00:00","dateModified":"2021-05-30T20:37:29+00:00","breadcrumb":{"@id":"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sites.rutgers.edu\/wes-cowan\/cs-205-intro-to-discrete-math-and-logic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sites.rutgers.edu\/wes-cowan\/"},{"@type":"ListItem","position":2,"name":"CS 205: Intro to Discrete Math and Logic"}]},{"@type":"WebSite","@id":"https:\/\/sites.rutgers.edu\/wes-cowan\/#website","url":"https:\/\/sites.rutgers.edu\/wes-cowan\/","name":"Wes Cowan","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sites.rutgers.edu\/wes-cowan\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/pages\/444"}],"collection":[{"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/users\/1613"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/comments?post=444"}],"version-history":[{"count":5,"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/pages\/444\/revisions"}],"predecessor-version":[{"id":512,"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/pages\/444\/revisions\/512"}],"wp:attachment":[{"href":"https:\/\/sites.rutgers.edu\/wes-cowan\/wp-json\/wp\/v2\/media?parent=444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}