csu logo green Department of Computer Science

CS 200 SPRING
Algorithms and Data Structures 2012

-Home -Syllabus -Schedule -Assignments -Grading Policy -Course Policy -Code of Conduct -RamCT
Syllabus

Instructor: Sangmi Lee Pallicakra
Office: CSB Room 456
Office Hours: Monday 3:00 ~ 5:00 PM
Email: sangmi (at cs dot colostate dot edu)
Tel: +1.970.492.4153
Fax: +1.970.491.2466

Lecture Times and Location
Monday, Wednesday, and Friday 2:00 ~ 2:50 PM
Engineering, Room 120

Recitation Times and Locations
Session 1: Monday 11:00 AM ~ 12:40 PM, CSB 225
Session 2: Tuesday 2:00 PM ~ 3:40 PM, CSB 225
Session 3: Thursday 2:00 PM ~ 3:40 PM, CSB 225
Session 4: Wednesday Noon ~ 1:40 PM, CSB225

Teaching Assistant
Keegan Patmore
Office Hours: Tuesday 4:00 ~ 6:00 PM and Thursday Noon ~ 2:00 PM (at CS120)
Email: cs200 (at cs dot colostate dot edu)

Tutors: TBA

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, hashing, trees, and graphs. Advanced topics from theory include complexity analysis, relations, trees and graphs. The course requires more comprehensive programing than CS161.

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

Topics
· Linear Data Structures: Stacks and Queues
· Advanced Sorting
· Trees
· Graphs
· Hash Tables
· OO: inheritance, polymorphism, abstract classes
· Relations
· Computational Complexity

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

Course Structure
The course consists of lectures and recitations. Students will be assessed by three exams (2 mid-semester exams and 1 final exam), quizzes, and assignments. There are two types of assignments: programming and written assignments. A total of 5 programming assignments and 5 written assignments are planned for this semester. Not that this is a plan, and thus is subject to change! Lecture slides, and assignments (programming and written) will be made available on the web page of CS200. Programming assignments must be submitted via checkin, unless otherwise noted on an assignment or by the instructor. All quizzes will be in class. Grades will be posted on RamCT.

Important course announcements (e.g., change in assignment due dates) will be posted on the course web page. Students should check the RamCT site and the course web page at least twice a week for new announcements. Electronic bulletin boards on which students can post questions to the TA will be available via RamCT. Please act professionally when posting on the bulletin board. That is, do not use improper or derogatory language in your posts (including improper or derogatory acronyms or symbols!). Please see the Professional Conduct section of this syllabus.


Late and Makeup Policy
Mid-semester and Final Exams: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). 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.

No make-ups will be given for missed quizzes.

Programming assignments are to be submitted electronically using checkin system. Always check the assignment page for due dates.Assignments can be submitted up to a maximum of 24 hours past the deadline. There will be a deduction of 10 % (of the total score for the assignment) No submissions will be accepted 24 hours after the due date and you will be given a 0 for that assignment.

Written assignments are to be submitted in class. These may be handwritten, but must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. Late assignments are accepted in class(lecture) on the first lecture after the original due date, and will receive a 10% late penalty.

We will try our best to return assignments will within 5 working days after the end of the late period.

Grading Information
Please check the grading policy page.

Professional Conduct
All students are expected to conduct themselves professionally. We (the instructor and GTA) assume you are familiar with the policies in the student information sheet 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.
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, instructor, GTA and any tutors). In particular:
* Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
* If you plan to use a laptop during class, please sit at the back of the classroom and turn off any sound from the machine. The tap-tap of the keyboard and the images showing on a screen can be distracting to those sitting around you. Also, be aware if you IM during class, that giggles, snorts or other reactions to what you are reading can be heard by the class and instructor and may be completely inappropriate with what is going on in the classroom.
* Laptops must be shut during exams and quizzes.

Important Dates
Jan. 17 Spring Classes Begin
Feb. 24 Midterm Exam -1 (in class)
Mar. 19 End of course withdrawal period
Mar. 30 Midterm Exam - 2 (in class)
May 4 Classes End
May 10 Final Exam

CSU Academic Calendar