Computer Science 235

CS 235 Course Policies

Summer 2017

Prerequisites

You must complete CS 142 with a passing grade before taking CS 235. We make the following assumptions in CS 235:

  1. You have previously taken and passed an introductory programming course
  2. You know the C++ programming language
  3. You understand the basic principles of object-oriented programming (classes, objects, methods, inheritance, etc.)
If you have not satisfied these prerequisites, you should drop the class.

Objectives

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

  1. Use the fundamental data types of computing (lists, sets, maps, stacks, queues, priority queues).
  2. Understand the major techniques for implementing the fundamental data types (linked lists, binary search trees, hash tables, heaps) and implement several of them.
  3. Properly select and use data structures from language-provided data structure libraries.
  4. Apply basic algorithm analysis.
  5. Understand how recursion works and write programs using recursion to solve problems.
  6. Make informed decisions about which sorting and searching algorithms to use in specific circumstances.
  7. Write programs with a size of about 500 lines of code.

Reading

The textbook for the course is Objects, Abstraction, Data Structures and Design Using C++ by Elliot Koffman and Paul Wolfgang. (ISBN: 978-0-471-46755-7) We will cover much of the text following the provided schedule. You are responsible for reading the material for a given day prior to that day's lecture. Because class time is limited, we may not cover everything in the text. However, except where specifically noted otherwise, you are responsible for everything in the reading schedule.

Exams

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

The midterm exam will be available in the testing center for five days. You must take the exam on one of those five days, no exceptions. The first two days are normal testing days. The remaining three days are late days, reserved for unexpected circumstances and UAC accommodations. The testing center will charge a fee on the late days. You need to take the exam on a normal testing day so that if an unexpected circumstance arises such as illness or injury, you will be able to complete the exam on a late day.

The final exam will be available in the classroom on the day and at the time given by the university final exam schedule. You must arrive for the final exam by the scheduled starting time for the exam. Students who arrive late for the exam may not be allowed to complete the exam.

Homework

Homework assignments are due in the box at the TA office by the time the building closes on the due date. Please don't submit homework in class. Please submit each homework on a separate piece of 8.5 by 11 inch paper.

Late homework is not accepted.

Email submissions are not accepted.

Projects

Project Submission

Pass off your project in-person with 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 the scheduled hours to pass off assignments.

Each unsuccessful pass-off attempt results in a deduction of 5 points from the project score.

Project pass-offs are only run during scheduled TA work hours. Project pass-offs are not run outside of scheduled TA work hours.

Don't Publish Project Code

Do not publish your project code on github or any other public site. If you publish your code and another student copies any part of your code, your project score will be reduced by 20 points. Please note that github provides free private repositories for students. You are welcome to store your code in a private github repository. You can find more information at this link: https://education.github.com/pack

Late Projects

For a project submission to be on time, the code must have passed the passoff tests and you must have completed the pass-off interview with a TA by the time the last TA leaves on the posted due date. The date of completion is the date of pass-off with a TA, not the date of file upload to the server.

Projects may be submitted late (with points deducted) within two weeks of the due date of the project. Beyond two weeks after the project due date, late projects are no longer accepted.

Late projects are given a deduction of 5 points per weekday. (Weekends are not counted. Holidays that fall on weekdays are counted.) Late points are calculated based on the date of pass-off with a TA, not the date of file upload to the server.

Late work submitted after 5:00pm on the last day of classes is not accepted.

Limit on Late Projects

Late projects are accepted within a two-week window after the project due date. After two weeks beyond the project due date, late projects are no longer accepted. Project submission for a given project will be disabled two weeks after the due date for that project.

Grading

Grade Weighting

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

Midterm Exam 30%
Final Exam 30%
Projects 30%
Homework 10%

Letter Grades

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

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

Retaking CS Classes

Students are allowed only one retake of any class. If a student withdraws from or fails a class a second time, the student will not be allowed to register for any CS course for one semester (or one term, if in spring or summer). This policy does not apply to classes dropped before the add/drop deadline.

After one semester (or term), a student must petition to be allowed to take CS courses again. The petition must provide evidence of a substantive change that makes success in future CS classes much more likely. For example, a student may have demonstrated success in technology, math, or science-based courses. The petition will be reviewed by the undergraduate advisor.

Petitions for non-academic (e.g., medical or military) exceptions to the one semester/term waiting period may be granted according to university policies. Information about filing a petition can be found here: cs.byu.edu/retake-policy

Cheating

All work you submit for this course must be your own individual work. You are not to work in groups. Do not submit work copied from someone else even if you modify it. Do not allow others to copy your work. If you are caught violating this policy your grade for the course will be an E and you will be reported to the honor code office.

The following are specific examples of violations of this policy (note that this list is not exhaustive):

Computers and Accounts

The Computer Science Dept. provides computers that you may use for your programming projects. There are MS-Windows and Linux computer labs on the first floor and in the basement of the Talmage Building. You will need a Computer Science Dept. computer account in order to access these machines. (This account is different than your Route-Y account.) If you do not already have a Computer Science Dept. account, go to the web page at the following link to create or enable your account.

CS Account Setup

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 Account Policies for more information regarding appropriate lab, computer, and account use. You will be held accountable for understanding and abiding by these policies.

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.

Preventing Sexual Misconduct

As required by Title IX of the Education Amendments of 1972, the university prohibits sex discrimination against any participant in its education programs or activities. Title IX 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 any university employee in a teaching, managerial, or supervisory role to report incidents of Sexual Misconduct that come to their attention through various forms including face-to-face conversation, a written class assignment or paper, class discussion, email, text, or social media post. If you encounter Sexual Misconduct, please contact the Title IX Coordinator at t9coordinator@byu.edu or 801-422-2130 or Ethics Point at https://titleix.byu.edu/report-concern or 1-888-238-1062 (24-hours). Additional information about Title IX and resources available to you can be found at titleix.byu.edu.

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.

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.