Description

Instructor:
Wim Bohm
Office: 470 CS Building
Office Hours: MW 9-10
Email: bohm@cs.colostate.edu
GTA:
Upulee Kanewala
Office Hours: CSB 120: Tuesday 1 PM - 3 PM, Thursday 9 AM - 11 AM, Friday 3 PM -5 PM
Email: upuleegk@cs.colostate.edu
GTA:
Rahul Dutta
Office Hours: Monday 1 PM - 3 PM
Email: duttar@cs.colostate.edu
Lecture Time and Place:
11:00AM-12:15PM, Tue, Thur, EngrG 100

CS 200 revisits and extends the principles of programming and discrete math concepts that are introduced in CS 161 and applies them to the development, analysis, and implementation of data structures and efficient software. The course is taught using the Java Programming Language and an Object Oriented approach to data structures and algorithms. Specific topics in data structures/algorithms include advanced sorting, queues, stacks, hash tables, trees, and graphs. Advanced topics from theory include complexity analysis, relations, and mathematical induction.

Extensive practice through programming exercises and written assignments that explore discrete math concepts are principal activities of the course.

Prerequisites

CS161 (Object Oriented Problem Solving) AND [MATH160 or MATH141 or MATH155] (all with a C or better)

Textbook

Data Abstraction and Problem Solving with Java, 3rd edition, 2011, Frank Carrano, Janet Prichard
Discrete Mathematics and Its Applications, 7th edition, Kenneth H. Rosen

UTAs

  • Daniel Ball (daniel.s.ball@gmail.com)

Lab Times and Places

  1. 11:00AM-12:40PM, Mon, CSB225 (Rahul)
  2. 2:00PM-3:40PM, Tue, CSB225 (Daniel)
  3. 2:00PM-3:40PM, Thu, CSB225 (Daniel)
  4. 12:00AM-1:40PM, Wed, CSB225 (Upulee)
  5. 9:00AM-10:40AM, Mon, CSB225 (Rahul)

Grading

Here are the formally graded elements of the course and associated weighting:

Activity Weight
Programming Assignments 20 %
Written Assignments 10 %
Quizzes 10 %
Recitations 10 %
Midterm 20 %
Final Exam 30 %

Programming assignments will be done individually.

Plagiarism in coding: This is a difficult issue. It is impossible to prevent "borrowing" code from web sources, especially for well established algorithms and data structures. In most cases, we have structured the programming assignments such that any borrowed code will need to be modified. If you have started your program using code from another source, you need to make that clear in your comments.

Sources that are acceptable are: the textbook and reliable Web repositories. Sources that are not acceptable: other students in the class (other than your partner!), friends who have taken CS200 before, tutors, paid programmers found on programmer for hire web sites...

When code has been taken from an acceptable source and modified, a comment must be added that explains the provenance (origin and creator) of the code. It is only fair to give credit where it is due. Failure to do so may result in a charge of academic dishonesty.

Quizzes are given during lectures class; no quizzes will be given in those weeks in which a midterm exam is being given. No makeups will be given for quizzes, but the lowest quiz grade will be dropped.

Exams will be given during the lecture class except for programming components which will be given during the assigned laboratory section.

Exams and written assignments will be done individually and grades assigned on an individual basis. Further, students not already familiar with the CSU Honor Pledge should review this clear and simple pledge and always adhere to it.

The assignment of letter grades will be made as follows:

Letter Grade Point Range
A >= 90%
A- >= 88%
B+ >= 86%
B >= 80%
B- >= 78%
C+ >= 76%
C >= 70%
D >= 60%
F < 60%

Late and Makeup Policy

Midterm and Finals: Make-up exams are only given for extraordinary circumstances (e.g., illness, family emergency, won lots of money in the lottery). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.

Projects: Unless otherwise specified, programming assignments are to be submitted electronically through Checkin. Specifics will be included in each assignment. Always check the assignment page for due dates. Late assignments submitted within 48 hours of the time required will receive a 10% late penalty. Electronic submission is closed 48 hours after assignments are due; students not having submitted programs receive an automatic zero on the assignment.

Important Dates

MidtermTuesday March 10
Final Exam TBA

Any written midterms and the final exam will be held in the same classroom as regular lectures. Programming midterms will be held in recitattion. While no change to the midterm dates is anticipated, the instructor reserves the right to change these dates with a weeks notice.

Professional Conduct

All students are expected to conduct themselves professionally. We (the instructors and GTAs) assume you are familiar with the policies in the student information sheet for the department and the Conduct Code for the department. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular: