Description

CS200 revisits and extends the principles of programming and discrete math concepts that are introduced in CS161 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.

Students are required to complete programming assignments, which are more extensive than those in CS161, written assignments that explore discrete math concepts, two midterm exams, one final exam, quizzes, and recitation exercises.

Throughout this course, all students and instructors are expected to respect each other's questions, comments, and answers in class, and to honor each others efforts outside of class by not copying each others work. You are expected to be familiar with the CS Department policy on cheating and with the CS Department Code of Ethics. This course will adhere to the CSU Academic Integrity Policy as found in the General Catalog and the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.

Prerequisites

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

Instructors

Office Hours Contact
Chuck Anderson Computer Science, Room 444 CSB 444, Mondays 9-11, Thursdays 11-1 anderson@cs.colostate.edu
970-491-7491
Jake Lee Computer Science, Room 235, Desk 8 CSB 120, Thursdays 11:00-12:00, 1:00-2:00 lemin@cs.colostate.edu
Yili Jin Computer Science, Room 235, Desk 6 CSB 120, Monday 11:00-12:00, Thursday 5:00-7:00, Friday 5:00-6:00 jin@cs.colostate.edu
Amanda Handler Computer Science, Room 252 CSB 120, Wednesdays 3:00 - 5:00 ahandler@rams.colostate.edu
Thad Johnston Computer Science, Room 252 CSB 120, Thursdays 3:00 - 5:00 thaddeus@rams.colostate.edu

Time and Place

Lectures:

Day Time Instructor Room
Tuesday 9:30 am - 10:45 am Chuck Plant Science C 101
Thursday 9:30 am - 10:45 am Chuck Plant Science C 101

Recitations:

CRN Section Number Day Time Instructor Room
62922 L01 Tuesday 2:00 pm - 03:40 pm Thad Computer Science 225
62923 L02 Monday 9:00 am - 10:40 am Jake Computer Science 225
62924 L03 Friday 11:00 am - 12:40 pm Thad Computer Science 225
67473 L04 Monday 3:00 pm - 04:40 pm Amanda Computer Science 225
71714 L05 Wednesday 1:00 pm - 02:40 pm Yili Computer Science 225
72763 L06 Friday 3:00 pm - 04:40 pm Amanda Computer Science 225

Textbooks

Data Abstraction and Problem Solving with Java, 3rd edition, 2011, Janet Prichard, Frank Carrano

Discrete Mathematics and Its Applications, 6th or 7th edition, Kenneth H. Rosen

Both are required.

Discussion Board

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.

The Discussions tab takes you to our Piazza Q&A page

Grading

Check your grade often on RamCT.

Your grade will be a weighted average of your individual scores from programming and written assignments, quizzes, tests, and in-class participation. The percentage of each of these in your overall course grade are as follows:

  • 30% for approximately five programming assignments,
  • 20% for approximately five written assignments,
  • 20% for two midterm exams, 10% each,
  • 10% for one final exam,
  • 10% for quizzes,
  • 10% for recitation attendance and exercises.

The calculation of the final letter grade will be made as follows:

  • A 90 - 100%
  • B 80 - 89.9%
  • C 70 - 79.9%
  • D 60 - 69.9%
  • F below 60%

These ranges for a letter grade might be shifted a little lower, but will not be raised.

Late assignments will not be accepted, unless you make arrangements with the instructor at least two days before the due date.

Recent changes RSS feed CC Attribution-Share Alike 3.0 Unported Driven by DokuWiki