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.
CS161 (Object Oriented Problem Solving) AND CS160 or MATH141 or MATH155 (all with a C or better)
| 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 |
| 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 |
| 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 |
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.
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
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:
The calculation of the final letter grade will be made as follows:
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.