Syllabus

Schedule

Lecture Notes

Homework Assignments

Project Assignments

Grades

Useful Links

CSCE350 - Data Structures and Algorithms
Summer 2008

Instructor

Chuming Chen
Telephone: (803)576-6308
Email:
Class Web Site: http://www.cse.sc.edu/~chen7/teaching/csce350/index.html
Office: SWGN 1D49
Office Hours: TTh 11:00am-12:00pm or by appointment

Time and Location

Lectures: MTWTH 12:30pm - 1:45pm 1:00pm - 2:15pm, SWGN 2A15 2A21

Textbooks

Required: Anany Levitin, Introduction to the Design and Analysis of Algorithms, 2nd Edition. Addison Wesley, 2007. (ISBN 0-321-35828-7)

You are responsible for the material in the assigned readings. The lectures will be designed to complement this material. In addition, many of the homework problems will be assigned from this textbook.


Announcements

  • July 19, 2008 - The due date for Homework assignment 7 is extended at 1:00pm on Tuesday, July 22, 2008.
  • July 10, 2008 - Homework assignment 6 is assigned today. It is due at 1:00pm on Monday, July 14, 2008. Homework assignment 7 is assigned today. It is due at 1:00pm on Monday, July 21, 2008.
  • July 01, 2008 - Homework assignment 5 is assigned today. It is due at 1:00pm on Monday, July 07, 2008 Tuesday, July 08, 2008.
  • June 25, 2008 - Homework assignment 4 is assigned today. It is due at 1:00pm on Monday, June 30, 2008.
  • June 16, 2008 - Homework assignment 3 is assigned today. It is due at 1:00pm on Wednesday, June 18, 2008.
  • June 10, 2008 - Homework assignment 2 is assigned today. It is due at 1:00pm on Tuesday, June 16, 2008.
  • June 4, 2008 - Homework assignment 1 is assigned today. It is due at 1:00pm on Tuesday, June 10, 2008. The project topics are also available on the class web site. You should follow the links to see the description of each project.
  • June 3, 2008 - Changing class meeting time to MTWTH 1:00pm - 2:15pm. This change is also applicable to midterm and final exams.
  • June 1, 2008 - The class web site is up. The class begins on June 2, 2008. Make sure you attend the class, take the welcome questionnaire, and get a copy of the syllabus.

Course Overview

CSCE350 is a course focused on the fundamentals of data structures and algorithms. We will cover techniques for representing and processing information, including the use of lists, trees, and graphs; analysis of algorithms; and sorting, searching, and hashing techniques.

Prerequisites

  • CSCE245 - Object Oriented Programming
  • MATH374 - Discrete Structures

Course Objectives

  • Describe formal analysis measures
  • Describe the relevance of abstraction to problem solving
  • Analyze and use lists, trees, and graphs
  • Apply common algorithm design techniques: brute force, divide-and-conquer, decrease-and-conquer, transform-and-conquer, dynamic programming, and the greedy technique
  • Analyze algorithms
  • Use appropriate data structures

Topics Covered

  • Structured programming, stacks, queues, lists.
  • Determining the running time of programs, order of magnitude analysis
  • Brute force
  • Divide-and-conquer
  • Dynamic programming
  • Transform-and-conquer
  • The greedy technique
  • Decrease-and-conquer
  • Graphs
  • Reviews and exams

Grading

Midterm ExamFinal ExamHomework Project
20% 30% 30% 20%

Letter grades correspond to the following percentages:

90-100 85-89 80-84 75-79 70-74 65-69 60-64 0-59
A B+ B C+ C D+ D F



Class Policies

Reading and Lectures

Students are expected to read all assigned material before the lecture begins. Attending lectures is mandatory.

Project

There will be a big programming project coupled with an in-class presentation (15-20 minutes) by each individual student. Project topics will be distributed early in the semester. Each student will come to the instructor to sign up for a different topic before midterm exam. Project topics are assigned to student by first come first serve order. Student can find a topic by himself/herself, but he/she has to discuss with the instructor and get the consent. The presentation time can be decided by the student and the instructor together but no later than July 10th.

Homework

There will be several homework assignments during this course. Usually, you will have 3 days to finish the homework and hand it in before the beginning of class (1:00pm) on the due date specified for each homework. No late homework will be accepted.

Exams

There will be a midterm exam and a final exam in this course. The midterm exam will be held on Thursday, June 19, 2008, 1:00pm - 2:15pm at SWGN 2A21. The final exam will be held on Wednesday, July 23, 2008, 1:00pm - 2:15pm at SWGN 2A21. Exams are accumulative. No make-up exams will be given except under extreme circumstances with a valid excuse, in which case you must give the instructor notice well before the exam if at all possible. Missed exams due to unexcused absences will receive a 0.

Schedule

There is a tentative schedule linked through the course main web site specified above. Reading materials and other relevant information will be specified on the schedule page. Please check the web schedule on a regular base to keep up with the pace of the whole class.


Code of Student Academic Responsibility

Cheating

You are expected to know the Academic Code of Responsibility as it appears in the Carolina Community: Student Policy Manual. Students are expected to do their own work. Cheating behavior includes, but not limited to, giving or receiving unauthorized aid on a homework, quiz, test or project, or not documenting an outside source of information should one be used. Penalties for any behavior that constitutes cheating will be fully applied according to the University Policy.

Collaboration

Assignments should be done independently. It is permissible to discuss the problems at a high level with your classmates, but you should work out the details and compose the complete answers independently. Submission of identical or substantially identical work will be considered strong evidence that cheating has occurred.