CS 236 :: Policies

Home Policies Schedule Class Notes Projects Homework TA Schedule

Prerequisites

You must complete Computer Science 235 with a passing grade before taking Computer Science 236.

Objectives

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

  1. Use mathematics in the context of computer science. (In particular, you will be able to use the discrete structures of mathematics in support of computer programming, and you will be able to articulate how computer science concepts are formalized in the discrete structures of mathematics.)
  2. Write better programs by using discrete mathematical structures as the basis for many common programming problems (e.g., grammars for parsing, predicate calculus for logic programming, sets and algebras for relational databases, graphs and topological sorting for automating optimization).
  3. Demonstrate ability to build large programs by writing and integrating code from a diverse spectrum of program components

Course Outline

The course covers fundamental ideas in discrete mathematics and their application to computer science. Topics include grammars, languages, and parsing; propositional logic; proofs and proof techniques; predicate calculus; sets, relations, and functions; relational and deductive databases; graphs and graph algorithms. The course is a blend of basic theoretical concepts in computer science and a hands-on application of those ideas.

Reading

There is no required textbook for this class. If you will be helped by supplementary reading, it is strongly recommended that you consider "Logic and Discrete Mathematics" by Grassmann and Tremblay. Other textbooks which discuss discrete mathematics may be useful, but the class follows this text very closely.

Homework

Homework assignments are due in the box by the TA office by the time the building closes on the due date. Late assignments will not be accepted.

Email submissions are not accepted (except in special circumstances as approved by the instructor).

Exams

Exams consist of a Midterm and a comprehensive Final. The Midterm is given in the testing center and is not timed. The Final is given in class during the scheduled time.

Projects

All projects must be implemented in Java.

Projects must be submitted by the last day of classes.

In additional to following basic coding practices, your code must pass a code quality evaluation (Checkstyle) to receive credit.

Making your program easy to understand is especially important in this class, because you will need to revisit old projects later in the class, revise them, and integrate them together.

Project Submission

You have a Subversion repository for this class. Submit your project code by loading it into your Subversion repository. Then, pass off your project directly to a TA during normal TA hours. If an assignment is due on a particular day, it must be passed off before the end of the scheduled TA hours on that day. It is strongly recommended that you pass off your assignments early. Do not wait until the last hour of the last day. Assignments are passed off on a first-come/first-serve basis, and a TA is under no obligation to stay later than his or her designated hours to pass off assignments.

Project Late Policy

Early pass-offs earn a bonus of an extra 1 point per school day with a maximum of 3 points extra. Bonus points are only given for submissions that pass all the test cases.

Late pass-offs are given a deduction of 10 points per school day.

The biggest penalty for turning in late projects is the fact that you will automatically be behind for the next one. This has a way of getting worse as the semester goes on---especially in this class where the assignments build on one another. Late work beyond the last day of class cannot be accepted.

Grading

Your final score will be calculated based on the following percentages:

Projects 50%
Midterm Exam 20%
Final Exam 20%
Homework 10%

Once your final score is calculated your letter grade will be given according to the following scale:

	A  93-100%	B- 80-82%	D+ 67-69%
	A- 90-92%	C+ 77-79%	D  63-66%
	B+ 87-89%	C  73-76%	D- 60-62%
	B  83-86%	C- 70-72%	F  00-59%

Expectation for Individual Work

All work you submit for this course must be your own individual work. You are not to work in groups. Do not turn in work copied from someone else even if you modify it. If you are caught submitting work that is not your own, you will fail the course and be reported to the honor code office.

The following are specific examples of violations of this policy (note that this list is not exhaustive): copying homework answers; allowing someone to copy your homework; using a copy of a homework answer key or solutions manual; using parts of another person's code to complete an assignment; using another person's test cases to help you debug your code; allowing someone else to use parts of your code to complete an assignment; copying solutions or parts of solutions from group-work notes or TA-consultation notes; and accepting help from a TA or classmate without really internalizing the material yourself so that you cannot fully claim the work you turn in as your own.

Missing Class

Occassionally circumstances prevent a student from attending the first part of class. Class attendance is not required; however, if a student is not able to attend class assignemnts still need to be turned in by the due date. It is preferred that students turn homework in on paper--if this is not possible then emailing the homework to the TAs by the due date is acceptable. Likewise, all projects need to be submitted through SVN by the due date.

For those students who are unable to attend class, remember that every class period two classes worth of material is covered. Thus, if you miss two weeks of class, you will have missed over 25% of the class.

Career Services

The Computer Science Department is working to prepare students for influential positions in industry. In order to accomplish this goal, we encourage students to begin preparation for their future careers early in their educational experience. The Department and University offer services and resources that will be invaluable in this preparation. Among these is the University's career and internship placement site eRecruiting(www.byu.erecruiting.com), which gives students access to all of the corporate recruiters who come to BYU. For career advisement students may visit "The Vault" (www.byu.edu/ccc/placement/vault.php), a site with information on careers, salary ranges, resume writing, and preparation for the work environment. Students may also visit the department's career advisor or the Undergraduate Secretary, 3361 TMCB.

Honor Code Standards

In keeping with the principles of the BYU Honor Code, students are expected to be honest in all of their academic work. Academic honesty means, most fundamentally, that any work you present as your own must in fact be your own work and not that of another. Violations of this principle may result in a failing grade in the course and additional disciplinary action by the university.

Students are also expected to adhere to the Dress and Grooming Standards. Adherence demonstrates respect for yourself and others and ensures an effective learning and working environment. It is the university's expectation, and my own expectation in class, that each student will abide by all Honor Code standards. Please call the Honor Code Office at 422-2847 if you have questions about those standards.

Harassment

Harassment of any kind is inappropriate at BYU. Specifically, BYU's policy against sexual harassment extends not only to employees of the university but to students as well. If you encounter sexual harassment, gender-based discrimination, or other inappropriate behavior, please talk to your professor, contact the Equal Employment Office at 422-5895 or 367-5689, or contact the Honor Code Office at 422-2847.

Disabilities

BYU is committed to providing reasonable accommodation to qualified persons with disabilities. If you have any disability that may adversely affect your success in this course, please contact the University Accessibility Center at 422-2767. Services deemed appropriate will be coordinated with the student and instructor by that office.

Appropriate Computer Use

Abuse of BYU computers, networks, or facilities involving either pornography or illegal activity will result in loss of all Computer Science accounts and removal from all CS classes. Please refer to the Computer Science Dept. Lab Rules and Policies for more information regarding appropriate lab, computer, and account use. You will be held accountable for understanding and abiding by these policies.

Children in the Classroom

The serious study of the physical and mathematical sciences requires uninterrupted concentration and focus in the classroom. Having small children in class is often a distraction that degrades the educational experience for the entire class. Please make other arrangements for child care rather than bringing children to class with you. If there are extenuating circumstances, please talk with your instructor in advance.