CS 341 Data Structures                                                                                    Spring 2011

Instructor: Chi-Cheng Lin Office: ST132 Telephone: 285-7145
E-mail: clin@winona.edu Instructor Web site: http://cs.winona.edu/lin/ 
Office Hours: Monday 12:20PM - 3:50PM; Wednesday 12:20PM - 1:00PM & 2:00 - 3:50PM; Thursday 11:00AM - 3:00PM; and by appointment

Textbook: Frank M. Carrano and Janet Pritchard, Data Abstraction and Problem Solving with Java: Walls and Mirrors (3rd edition), Addison-Wesley, 2010.

Description: This course provides students with a detailed study of advanced data structures and algorithms, including concepts and techniques of design efficiency and complexity of algorithms. Topics include linear structures, search trees, hash functions, internal and external sorting, graphs and graph algorithms, disjoint sets, and different algorithm design techniques.

Course Objectives and Expectations
Upon entering CS 341, students should have

Student may or may not have Upon completing CS 341, students should be able to

Grading: Grades are based on a set of homework assignments (20%), three programming projects (30%), three exams (45%), and participation (5%). The course grade will be based on the total of the items above:
      A: 90% or above, with an average of at least 80% on every item
      B: 80% or above, with an average of at least 70% on every item
      C: 70% or above, with an average of at least 60% on every item
      D: 60% or above                                             F: less than 60%.

Lectures Notes: The lectures will utilize notes posted to the course website, notes written on the board in the class, and in-class discussions. Note that the set of notes posted to the website does not replace the lectures, nor does it replace the textbook - its main purpose is to serve as the study guide. In particular, not everything discussed in the lectures is included in the notes. Similarly, not everything included in the notes will be discussed in the lectures.

User Group: The class user group serves as a major communication channel for the class. The instructor uses it to post announcements, course material updates, and other useful information. It is the student's responsibility to check the user group regularly so that no important messages will be missed. Students are also encouraged to use the user group to share information and exchange ideas.

Coursework Policy:
1. Each homework assignment and programming project is due by the time and date specified on the handout.
2. Late Homework Assignment: Two late assignments will be accepted without penalty, and a late assignment should be handed in within five days. After the two late assignments are used, no additional late work will be given credit.  The late policy is in place so that students will not be burdened to discuss each personal issue with the instructor. Thus, late assignments should be reserved for these types of situations. If a student has an issue that requires more than two late assignments, it is unlikely they will be successful in the course and they are encouraged to withdraw from the course.  
3. Late Programming Project: Late projects will incur a penalty of 5% per day including weekends.  No programming assignments will be accepted after being late for ten days.
4. Plagiarizing is absolutely prohibited and will result in a grade of F for the course according to the Computer Science Department's Collaboration Policy Form and Illegal Collaboration Policy.

Attendance Policy: You are expected to be present for all class meetings. At a minimum, I expect you to treat each other (and your instructor) politely and with respect. This includes turning off all cell phones (or muting them), participating in class, and arriving in a timely manner. Please remember that personal conversations and using your computer performing tasks unrelated to class during lecture and lab time are distracting to your fellow students.

Student Responsibilities: You are responsible for what goes in the class, including obtaining lecture material, assignments and handouts, turning in assignments, and taking exams.  If you are unable to attend a class meeting, it is your responsibility to obtain class notes, assignments, and extra copies from your study partners, other students, or me; you may turn in assignments early or your study partners may turn them in for you on time.  If, due to extremely unusual circumstances, you are unable to take an exam at the scheduled time, the exam may be rescheduled, but it is your responsibility to arrange this with the instructor in advance as early as possible.

Commitment to Inclusive Excellence
WSU recognizes that our individual differences can deepen our understanding of one another and the world around us, rather than divide us. In this class, people of all ethnicities, genders, religions, ages, sexual orientations, disabilities, socioeconomic backgrounds, regions, and nationalities are strongly encouraged to share their rich array of perspectives and experiences. If you feel your differences may in some way isolate you from WSU's community or if you have a need of any specific accommodations, please speak with the instructor early in the semester about your concerns and what we can do together to help you become an active and engaged member of our class and community. 

UCR Learning Center
The UCR Learning Center (LC) provides learning support for everyone on campus: developmental students, regular students, honors students, WSU students, all the way to doctoral students and faculty members. It offers tutoring in math, stats, computer applications, writing, resume writing, MLA or APA format, science, reading, speech, and many other academic disciplines. It also offers test proctoring. It is NOT a correction service or a drop-off service. In other words, the LC personnel will not fix your assignments or correct things. They will, however, happily help you learn the material in a way that makes sense for you! Please be sure to sign in at the computer sign-in terminal every time you enter the LC. This data provides the necessary information to assure that the LC remains funded.