Computer Science 235 :: Data Structures and Algorithms

CS235 Policies - Spring 2008


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 Java 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. If you are not sure if you should stay in the class, talk to your instructor.

Course Objectives

The learning objectives of CS 235 are to:

  1. Become familiar with the fundamental data types of computing (lists, stacks, queues, priority queues, sets, maps, trees, etc.)
  2. Become familiar with the major techniques for implementing the fundamental data types (linked lists, binary search trees, hashing, heaps, etc.)
  3. Learn to use language-provided data structure libraries
  4. Learn basic algorithm analysis
  5. Understand how recursion works and how to write recursive algorithms
  6. Become familiar with the fundamental sorting and searching algorithms of computing and how to analyze them
  7. Learn to write programs that require ~500 lines of code

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.

Class Attendance

Class attendance is strongly encouraged. In addition to the lectures, class is also the primary forum for conducting administrative business. Changes to assignments, due dates, exam dates, etc. will be discussed in class. You will be accountable for all administrative information presented in class. If you miss class, it is your job to find out what announcements were made in your absence.


The official textbook for the course is Data Structures & Problem Solving using Java, Third Edition by Mark Allen Weiss. It is available in the BYU Bookstore. Each lecture has an associated reading assignment from the textbook (see the class schedule for details). These reading assignments are mandatory, and you will be accountable for all material in the readings, even if it is not covered in class.


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


Homework will help to prepare you for the midterms and finals. Each homework is due on the day recorded on the the schedule. NO LATE HOMEWORK WILL BE ACCEPTED!


One of the most important learning activities in this course is the programming projects. The projects are heavily weighted because much of the learning occurs while doing the projects.

Project Late Policy

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.

If a project is late but is passed off within a week after the due date, the project is given 80% of the total credit. If a project is passed off within two weeks after the due date the project is given 60% of the total credit. Any project passed off beyond two weeks late is given a score of 0.


Grade Weighting

Projects 55%
Midterm Exam 20%
Final Exam 20%
Homework 5%

Letter Grades

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

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.


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.


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.