Description

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.

Personnel

Instructor: Jack Applin
Email: his-last-name@ColoState.Edu
Office: CSB 246
Office Hours:
  • Monday 3:00–4:00ᴘᴍ, CSB 246
  • Wednesday 9:00–10:00ᴀᴍ, CSB 215, CS200 only
  • Wednesday 10:00–11:00ᴀᴍ, CSB 246

GTA: Kushagra “Kush” Tiwary
Email: his-first-name@CS.ColoState.Edu
Office Hours: Tuesday 5:00–6:00ᴘᴍ, Wednesday 8:00–10:00ᴀᴍ, Friday 11:00ᴀᴍ–noon, CSB 120

GTA: Swapnil Sneham
Email: her-last-name@CS.ColoState.Edu
Office Hours: Monday 4:00–6:00ᴘᴍ, Tuesday noon–1:00ᴘᴍ, Thursday 8:00–9:00ᴀᴍ, CSB 120

Prerequisites

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

Textbooks

Times and Places

What Where When Who
Lecture Clark A 103 MWF 2:00– 2:50 Jack
L01 CSB 225 Mon 11:00– 12:40 Kush
L02 CSB 225 Tue 2:00– 3:40 Swapnil
L03 CSB 225 Thu 2:00– 3:40 Swapnil
L04 CSB 225 Wed 12:00– 1:40 Swapnil
L05 CSB 225 Mon 9:00– 10:40 Kush

Grading

  • 20%: Programming Assignments
  • 10%: Written Assignments
  • 10%: Quizzes
  • 10%: Recitations
  • 25%: Midterm
  • 25%: Final Exam

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, 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 lecture; no quizzes will be given in those weeks in which a midterm exam is being given.

Exams will be given during the lecture class except for programming components which, if given, 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:

  • ≥90%: A
  • ≥80%: B
  • ≥70%: C
  • ≥60%: D
  • <60%: F

Late and Makeup Policy

Midterm and Final Exam: 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 24 hours of the time required will receive a 10% late penalty. Electronic submission is closed 24 hours after assignments are due; students not having submitted programs receive an automatic zero on the assignment.

Important Dates

  • Last Drop: February 3
  • Last Withdraw: March 21
  • Midterm: Wednesday, March 9th during class
  • Final Exam: Tuesday, May 10th 4:10–6:10pm

The written midterm and the final exam will be held in the same classroom as regular lectures. While no change to the midterm dates is anticipated, the instructor reserves the right to change these dates with a week’s notice.

Professional Conduct

All students are expected to conduct themselves professionally. We (the instructors and TAs) 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, TAs and any tutors). In particular:

Don’t distract the students. I can’t force you to learn, but you must allow others to do so.