BYU CS Logo
Computing That Serves

CS 236

Course Offerings

Section # Semester Instructor Website Description
1 Fall 2017 Christophe Giraud-Carrier https://learningsuite.byu.edu/view/G-Xm8Mu-TH8C.html
2 Fall 2017 Scott Woodfield https://wiki.cs.byu.edu/cs-236/start
3 Fall 2017 Scott Woodfield https://wiki.cs.byu.edu/cs-236/start
4 Fall 2017 Scott Woodfield https://wiki.cs.byu.edu/cs-236/start
Section # Semester Instructor Website Description
1 Winter 2018 Cory Barker
2 Winter 2018 Cory Barker
3 Winter 2018 Cory Barker
5 Winter 2018 Scott Woodfield
1 Fall 2017 Christophe Giraud-Carrier https://learningsuite.byu.edu/view/G-Xm8Mu-TH8C.html
2 Fall 2017 Scott Woodfield https://wiki.cs.byu.edu/cs-236/start
3 Fall 2017 Scott Woodfield https://wiki.cs.byu.edu/cs-236/start
4 Fall 2017 Scott Woodfield https://wiki.cs.byu.edu/cs-236/start
1 Spring-Summer 2017 Frank Jones https://cswiki.cs.byu.edu/cs-236/start
1 Spring-Summer 2017 Faculty Adjunct https://cswiki.cs.byu.edu/cs-236/
1 Winter 2017 Frank Jones https://cs.byu.edu/CS236%3A%20https%3A//cswiki.cs.byu.edu/cs-236/start
2 Winter 2017 Frank Jones https://cs.byu.edu/CS236%3A%20https%3A//cswiki.cs.byu.edu/cs-236/start
3 Winter 2017 Cory Barker https://faculty.cs.byu.edu/~barker/cs236/index.php
4 Winter 2017 Cory Barker https://faculty.cs.byu.edu/~barker/cs236/index.php
5 Winter 2017 Cory Barker https://faculty.cs.byu.edu/~barker/cs236/index.php
1 Fall 2016 Christophe Giraud-Carrier https://wiki.cs.byu.edu/cs-236/start
2 Fall 2016 Christophe Giraud-Carrier https://wiki.cs.byu.edu/cs-236/start
3 Fall 2016 Eric Mercer https://wiki.cs.byu.edu/cs-236/start
4 Fall 2016 Eric Mercer https://wiki.cs.byu.edu/cs-236/start
1 Spring-Summer 2016 Cory Barker
1 Winter 2016 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
2 Winter 2016 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
3 Winter 2016 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
4 Winter 2016 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
1 Fall 2015 Christophe Giraud-Carrier http://wiki.cs.byu.edu/cs-236/start
2 Fall 2015 Christophe Giraud-Carrier http://wiki.cs.byu.edu/cs-236/start
3 Fall 2015 Eric Mercer http://wiki.cs.byu.edu/cs-236/start
4 Fall 2015 Eric Mercer http://wiki.cs.byu.edu/cs-236/start
1 Spring-Summer 2015 Christophe Giraud-Carrier https://learningsuite.byu.edu/view/zAWRTOZiIFd_.html
1 Spring-Summer 2015 Cory Barker
1 Winter 2015 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
2 Winter 2015 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
3 Winter 2015 Eric Mercer http://wiki.cs.byu.edu/cs-236/start
4 Winter 2015 Eric Mercer http://wiki.cs.byu.edu/cs-236/start
1 Fall 2014 Christophe Giraud-Carrier https://learningsuite.byu.edu/view/BcpTo00YiqxM.html
2 Fall 2014 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
3 Fall 2014 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
4 Fall 2014 Cory Barker http://beta.cs.byu.edu/~cs236/index.php
1 Spring-Summer 2014 Cory Barker
1 Winter 2014 Michael A. Goodrich https://facwiki.cs.byu.edu/cs236/index.php/Main_Page
2 Winter 2014 Michael A. Goodrich https://facwiki.cs.byu.edu/cs236/index.php/Main_Page
3 Winter 2014 Eric Mercer https://facwiki.cs.byu.edu/cs236/index.php/Main_Page Too much fun
4 Winter 2014 Eric Mercer https://facwiki.cs.byu.edu/cs236/index.php/Main_Page More fun than sense
1 Fall 2013 Christophe Giraud-Carrier https://learningsuite.byu.edu/view/eBvc3UCTMEdi.html Discrete Structures
2 Fall 2013 Christophe Giraud-Carrier https://learningsuite.byu.edu/view/eBvc3UCTMEdi.html Discrete Structures
3 Fall 2013 Cory Barker
4 Fall 2013 Cory Barker
1 Summer 2013 Cory Barker
1 Spring 2013 Scott Woodfield
1 Winter 2013 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2013MWF/
2 Winter 2013 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2013MWF/
3 Winter 2013 Michael A. Goodrich
4 Winter 2013 Michael A. Goodrich
1 Fall 2012 Christophe Giraud-Carrier http://students.cs.byu.edu/~cs236ta/fall2012/
2 Fall 2012 Christophe Giraud-Carrier http://students.cs.byu.edu/~cs236ta/fall2012/
3 Fall 2012 Cory Barker
4 Fall 2012 Cory Barker
1 Summer 2012 Cory Barker
1 Spring 2012 Scott Woodfield http://students.cs.byu.edu/~cs236ta/spring2012
1 Winter 2012 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2012/
2 Winter 2012 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2012/
3 Winter 2012 Michael A. Goodrich http://students.cs.byu.edu/~cs236ta/winter2012/
4 Winter 2012 Michael A. Goodrich http://students.cs.byu.edu/~cs236ta/winter2012/
1 Fall 2011 Scott Woodfield http://students.cs.byu.edu/~cs236ta/fall2011
2 Fall 2011 Scott Woodfield http://students.cs.byu.edu/~cs236ta/fall2011
3 Fall 2011 Scott Woodfield http://students.cs.byu.edu/~cs236ta/fall2011
4 Fall 2011 Christophe Giraud-Carrier http://students.cs.byu.edu/~cs236ta/fall2011/
1 Summer 2011 cs grad http://students.cs.byu.edu/~cs236ta/summer2011/
1 Spring 2011 Cory Barker
1 Winter 2011 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2011/
2 Winter 2011 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2011/
3 Winter 2011 Christophe Giraud-Carrier http://students.cs.byu.edu/~cs236ta/winter2011/
1 Fall 2010 Cory Barker https://beta.cs.byu.edu/~cs236/fall2010/
2 Fall 2010 Cory Barker https://beta.cs.byu.edu/~cs236/fall2010/
3 Fall 2010 Cory Barker https://beta.cs.byu.edu/~cs236/fall2010/
1 Summer 2010 cs grad http://students.cs.byu.edu/~cs236ta/summer2010/
1 Spring 2010 David W. Embley http://students.cs.byu.edu/~cs236ta/spring2010/
2 Winter 2010 Cory Barker https://seth.cs.byu.edu/~cs236/winter2010/
3 Winter 2010 Cory Barker https://seth.cs.byu.edu/~cs236/winter2010/
1 Fall 2009 Scott Woodfield http://students.cs.byu.edu/~cs236ta
2 Fall 2009 Kevin Seppi http://students.cs.byu.edu/~cs236ta/2009/fall2009/
3 Fall 2009 Kevin Seppi http://students.cs.byu.edu/~cs236ta/2009/fall2009/
1 Summer 2009 cs grad http://sedna.cs.byu.edu/~bricks/CS236Summer09/
1 Spring 2009 Cory Barker http://code.cs.byu.edu/~cs236/spring2009
1 Winter 2009 Scott Woodfield http://students.cs.byu.edu/~cs236ta
2 Winter 2009 David W. Embley http://students.cs.byu.edu/~cs236ta/
3 Winter 2009 David W. Embley http://students.cs.byu.edu/~cs236ta/
1 Fall 2008 Scott Woodfield http://students.cs.byu.edu/~cs236ta
2 Fall 2008 Kevin Seppi http://students.cs.byu.edu/~cs236ta/
2 Fall 2008 Kevin Seppi http://students.cs.byu.edu/~cs236ta/
3 Fall 2008 Kevin Seppi http://students.cs.byu.edu/~cs236ta/
1 Summer 2008 cs grad http://students.cs.byu.edu/~cs236ta/
1 Spring 2008 cs grad http://students.cs.byu.edu/~cs236ta/
1 Winter 2008 Scott Woodfield http://students.cs.byu.edu/~cs236ta
2 Winter 2008 David W. Embley http://students.cs.byu.edu/~cs236ta/
3 Winter 2008 David W. Embley http://students.cs.byu.edu/~cs236ta/
1 Fall 2007 Scott Woodfield http://students.cs.byu.edu/~cs236ta
1 Fall 2007 Scott Woodfield http://students.cs.byu.edu/~cs236ta
2 Fall 2007 Kevin Seppi http://students.cs.byu.edu/~cs236ta/
2 Fall 2007 Kevin Seppi http://students.cs.byu.edu/~cs236ta/
3 Fall 2007 Kevin Seppi http://students.cs.byu.edu/~cs236ta/
1 Summer 2007 cs grad http://students.cs.byu.edu/~cs236ta/
1 Spring 2007 Scott Woodfield http://students.cs.byu.edu/~cs236ta
1 Winter 2007 Scott Woodfield http://students.cs.byu.edu/~cs236ta/winter2007
2 Winter 2007 Kevin Seppi http://students.cs.byu.edu/~cs236ta/winter2007/
3 Winter 2007 Kevin Seppi http://students.cs.byu.edu/~cs236ta/winter2007/
1 Fall 2006 David W. Embley http://students.cs.byu.edu/~cs236ta/fall2006/
1 Fall 2006 David W. Embley http://students.cs.byu.edu/~cs236ta/fall2006/
2 Fall 2006 David W. Embley http://students.cs.byu.edu/~cs236ta/fall2006/
3 Fall 2006 Scott Woodfield http://students.cs.byu.edu/~cs236ta/fall2006/
1 Summer 2006 Cory Barker http://code.cs.byu.edu/~cs236/summer2006/
1 Spring 2006 Scott Woodfield
1 Winter 2006 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2006/
2 Winter 2006 David W. Embley http://students.cs.byu.edu/~cs236ta/winter2006/
3 Winter 2006 Scott Woodfield http://students.cs.byu.edu/~cs236ta/winter2006
1 Fall 2005 Scott Woodfield http://students.cs.byu.edu/~cs236ta/fall2005/
2 Fall 2005 Kevin Seppi http://students.cs.byu.edu/~cs236ta/fall2005/
3 Fall 2005 David W. Embley http://students.cs.byu.edu/~cs236ta/fall2005/

Short Summary: 

Discrete Structures

Credits: 

3

Prerequisites: 

Language: 

C++

Discrete Structures

 

Introduction to grammars and parsing; predicate and propositional logic; proof techniques; sets, functions, relations, relational data model; graphs and graph algorithms.

 


This document is not a syllabus. Instead, for ALL offerings of this course, this document states the purpose, expected objectives, and topics for the course. Faculty members teaching this course should adhere to these objectives and topics. Students taking this course can expect to achieve the objectives and cover the topics specified, and faculty members teaching follow-on courses can expect students to have been appropriately exposed to the prerequisite material as stated.  The “hours” for topics listed below reflect the approximate number of 50-minute class periods (or equivalent) devoted to each topic.

Purpose

CS 236 teaches fundamental ideas in discrete mathematics and their application to computer science.  The course is a blend of basic theoretical concepts in computer science and a hands-on application of those ideas.

Learning Outcomes

At the end of this course, students should be able to:

  1. Understand and be conversant with basic discrete mathematical structures (finite state machines, regular expressions, grammars, propositional calculus, proof techniques, predicate calculus, sets, relations, functions, graphs).
  2. Write complex programs by using mathematical concepts as the basis for solving programming problems (finite state machines for lexical analysis; grammars for parsing; propositional and predicate calculus for logic programming; sets and algebras for relational databases; algebras, graphs, and topological sorting for optimizing datalog query processing).
  3. Incrementally build sophisticated programs by a systematic design process based on discrete mathematics.
  4. Design a solution for a programming problem and justify the design as one that is maintainable and extendable by other programmers who understand and are conversant with discrete mathematical structures.

Topics

  • Grammars, languages, and parsing    (6 hours)
  • Propositional logic                               (5 hours)
  • Proofs and proof techniques               (3 hours)
  • Predicate calculus                               (6 hours)
  • Sets, relations, and functions              (6 hours)
  • Relational and deductive databases   (4 hours)
  • Graphs and graph algorithms             (8 hours)