Time : 12:20 - 1:10 (M), 12:30 - 1:45 (TR)
Room : 102 Hardman (M), 208 GRSC (TR)
Call number : 04255
Instructor : Liming Cai
Office: 544 Boyd
Phone : 542-6081
Email : cai@cs.uga.edu
Office hours : 2:00 - 3:00 (MR) OR by appointment
Teaching Assistant: Sheng YIN,
Office hour: Wed 16:30-17:30,
Office: Hardman Room 224,
E-mail:yin@cs.uga.edu
Homework and Project Assignments
Using command >submit ProjX cs2720a to submit the programming assignment X. All related files are placed in the subdirectory named ProjX under your home directory.
Project 0
Project 1
Project 2, scoring matrix and sequence formats, A note on global and local alignments has been added to the project description.
Project 3
Project 4
Written Assignment 1
Written Assignment 2
Lecture Notes
Note 1 Updated
Note 2
Course contents:
This course explores logical structures and physical representations of
some of most commonly used data objects in computer science. While concepts and
algorithms for manipulating these data structures are much emphasized, the course
also expects students to develop fundamental implementation skills in coding the algorithms.
Topics include: the basics of algorithm analysis, representations of lists, trees, graphs,
and strings, dynamic dictionaries, memory management, and sorting algorithms.
Some research in computational biology will be discussed and related projects assigned as applications of data structures.
Prerequisites:
CSCI (MATH) 2610 Discrete Mathematics for Computer Science.
CSCI 1302 Software Development.
Texts:
Data Structures & Their Algorithms, H. R. Lewis and L. Denenberg,
Harper Collins Publishers, 1991.
(Optional) The C++ Programming Language, B. Stroustrup, 3rd edtion, Addison Wesley, 2000.
Grading policy:
Five written assignments: 20%
Five programming projects: 40%
Midterm exam : 20%
Final exam: 20%
No late homework answers will be accepted.
Tentative schedule:
Chapter 1. Introduction (one week)
Chapter 2. Algorithm analysis (one week)
Chapter 3. Lists (0.5 week)
Chapter 4. Trees (one week)
Chapter 5. Arrays and strings (one week)
Chapter 6. Implementation of Sets (one week)
Chapter 7. Dynamic dictionaries (two weeks)
Chapter 8. Sets of digital data (two weeks)
Chapter 9. Sets with special operations (one week)
Chapter 10. Memory management (one week)
Chapter 11. Sorting (two weeks)
Academic Dishonesty:
It is expected that the work you submit is your own. Plagiarism and other
forms of academic dishonesty will be handled within the guidelines of
the Student Handbook. The usual penalty for academic dishonesty is loss of
credit for the assignment in question; however,
stronger measures may be taken when conditions warrant.
Attendance policy:
Regular class attendance is required though class attendance may not be
used in the final determination of grades.
Students are required to attend class during the regularly scheduled
tests and the final exam unless prior arrangements have been made.