Table of Contents

Description

The course covers fundamental ideas in discrete mathematics and their application to computer science. Topics include but are not limited to:

The course is a blend of basic theoretical concepts in computer science and hands-on applications of those ideas in programming.

Learning Outcomes

Use Mathematical Structures to Solve Programming Problems

Contributes to 2 program outcomes

Write Code From Diverse Program Components

Contributes to 4 program outcomes

Full details are found in the Computer Science learning outcomes.

Prerequisites

You must complete CS 235 with a passing grade before taking CS 236. Please see the program requirements for further details.

Text Book

Discrete Mathematics and Its Application, 7/e, ISBN: 0073383090, Copyright year: 2012.

Grading Scale

See Learning Suite for details. The instructor reserves the right to alter the grading scale in favor of the students.

Grade Composition

Learning Activities

The learning activities are intended to help you learn the major course topics and achieve the learning outcomes. A diligent student should receive most all points on the learning activities; they exist to provide an opportunity for practice and feedback on core topics. The course is easily passed if you engage fully in the learning activities (i.e., earn most all of the available points).

Homework

Homework assignments are due in learningsuite as an uploaded PDF file before 11:59:00 PM on the day it is due. Late homework will not be accepted except under circumstances as decided by the professor. The student will need to talk to the professor to determine if his/her situation allows a late submission of the homework. The professor will decide an acceptable due date for the late work and if any deductions will be applied, as well as how the homework will be turned in. Homework submitted after the last day of class is not accepted. As most (all) homework is math based, conversion to PDF is best done with a copier or as pictures with a smartphone. Only homework in PDF format uploaded to learningsuite is accepted.

Projects

The goals of writing code in this class are (a) to help you understand some of the mathematical abstractions in the class by implementing them in code and (b) to help you learn a little about relational databases. The projects are intended to bridge the gap between what is in the lectures/textbook and what you need to do in actual code.

Please review the project standards that define build standards, interfaces, code quality, and performance requirements for all projects. These will be strictly enforced. Key aspects are here for convenience:

Project Grading: Each project has a possible score of 100 points with 10 of the 100 points awarded for the programming style with the rest allocated to passing private test cases. The TAs are instructed to show enough of any failed test case to facilitate debugging. The 100 points is further divided into the equal parts depending on each project, which each part contributing 50 points.

Bonuses (incentives for early completion and correct output):

Deductions:

Partial Credit for Projects:

Project Submission/Pass-off: Pass-off projects directly to a TA during normal TA hours after the solution is uploaded to learningsuite which is where the TAs will obtain the code. TAs help students on a first-come/first-serve basis and are under no obligation to stay later than designated hours.

Quizzes

At the instructor's discretion, there may be in-class quizzes. These are both assessment and learning activities. The frequency and topic of the quizzes depend on the instructor. It is not possible to make up a missed in-class quiz unless it is due to emergency, illness, or in coordination with the instructor as a planned absence.

TA Support Policy

The TA Help Policy is intended to help you gain deeper learning of the course material by providing time and space for you to independently interact with the book, homework, and projects. It also assists in making sure that all may receive feedback and guidance in a timely way.

Please review and re-review the policy before visiting the TAs and expectations are reasonable. The student has the primary responsibility for debugging, testing, and providing solutions. That responsibility may not be shifted to the TAs. Concerns with the TA support policy should be addressed directly with the course instructors.

Learning Assessments

The are two midterms and a final in the course. The final is comprehensive. These exams are intended to assess what you have learned. All of these will be given in the testing center. If you miss the midterm, for whatever reason, then contact the professor as soon as possible to discuss options.

Cheating is not Cool

The goal of the learning activities is to help students learn. Students can easily abort that learning by not completing their own work and rather submitting work by others. Solutions to all of the projects and homework can be found with very little effort. Indulging in the temptation to cheat, for any reason, leads to sorrow either in a failed learning assessment, a guilty conscience followed by an unpleasant conversation with the instructor, or some other consequence that is unwelcome. The outcome of an individual taken in cheating is at the discretion of the instructor.

Students are encouraged to work on homework and projects as groups. The proper way to do group work is for each student in the group to have made an honest effort to solve each problem prior to meeting with the group. Then the group discusses places where students are struggling in an effort to help each other master challenging concepts. Students should then individually complete the problems on their own. Copying work, even in a group setting, aborts learning, is not ethical, and is not cool.

The following are specific examples of non-compliance (note that this list is not exhaustive):

And finally, I cannot tell you all the things whereby ye may cheat; for there are divers ways and means, even so many that I cannot number them. But this much I can tell you, that if ye do not watch yourselves and observe to do your own work, and learn the material, even unto the end of the semester, ye must fail. And now, O student, remember and fail not.

Study Habits

Read before coming to class. Even if all you do is read bold headings and words in italics, you will learn more in lecture than coming to class without having read.

Read before coming to class. Lecture is one of five learning activities in this class, with the other four being homework assignments, projects, exams, and studying the textbook. Studying the textbook before class will enable you to learn more during the lecture.

Read before coming to class. It is more difficult to read the textbook before you come to class than to read it after, but you will learn and retain more if you read before class than if you wait until after class to read the assigned material. Additionally, reading before class will ultimately save you study time because it is a more effective way to learn.

Attend help sessions and talk with TAs. The TAs are great. Their availability can be viewed by going to Teaching Assistants.

Teaching Philosophy

Education is the great conversion process under which abstract knowledge becomes useful and a productive activity.— Gordon B. Hinckley in Standing For Something.

Preventing & Responding to Sexual Misconduct

In accordance with Title IX of the Education Amendments of 1972, Brigham Young University prohibits unlawful sex discrimination against any participant in its education programs or activities. The university also prohibits sexual harassment—including sexual violence—committed by or against students, university employees, and visitors to campus. As outlined in university policy, sexual harassment, dating violence, domestic violence, sexual assault, and stalking are considered forms of “Sexual Misconduct” prohibited by the university.

University policy requires all university employees in a teaching, managerial, or supervisory role to report all incidents of Sexual Misconduct that come to their attention in any way, including but not limited to face-to-face conversations, a written class assignment or paper, class discussion, email, text, or social media post. Incidents of Sexual Misconduct should be reported to the Title IX Coordinator at t9coordinator@byu.edu or (801) 422-8692. Reports may also be submitted through EthicsPoint at https://titleix.byu.edu/report or 1-888-238-1062 (24-hours a day).

BYU offers confidential resources for those affected by Sexual Misconduct, including the university’s Victim Advocate, as well as a number of non-confidential resources and services that may be helpful. Additional information about Title IX, the university’s Sexual Misconduct Policy, reporting requirements, and resources can be found at http://titleix.byu.edu or by contacting the university’s Title IX Coordinator.

University Policies

This course adheres strictly to all university policies. You are advised to review and be familiar with these policies as part of the course.