Prerequisite: CS
150
Time
and Place: TR 11:00
– 12:15 PM EB 2011
Instructor: Xudong
William Yu
Engineering
Building 3039
(618)
650-2321
Email:
xyu@siue.edu
URL:
www.cs.siue.edu/xyu
Office Hours: MTWR
1:00 – 3:00 PM
(Or
by appointment)
Teaching
Assistant: Hua Kang
TA Office & Hour: TBA
Text
Books: “Data Abstraction and Problem
Solving with C++”, 2nd edition, by Carrano, Helman, and Veroff.
Overview:
This is the 3rd in a
three-course sequence in Introduction to
Computing. It expands the concept of an abstract data type, using the
traditional structures of stacks, queues, trees, and graphs as practical
examples. The use of recursion is also
explored, and the ability to evaluate the time complexity of relatively
sophisticated algorithms is developed.
Electronic
Communication:
The instructor will place class material
(e.g., assignments, examples, announcements, etc) on the SOE network at csfs2\classes\CS\CS240\Yu. Students can access this information either from the above folder
or on the Internet at \\csfs2.siue.edu\classes. Students are expected to check the folder between
classes for new class notes, assignments, and examples.
Class
Attendance:
For students to gain understanding of the
material presented in the course, regular class attendance is essential.
Students are expected to attend all classes and arrive on time. Any student who arrives late to class must
see the instructor immediately after the class. Except for an emergency, any
student who needs to leave the class early must notify the instructor prior to
the start of the class.
Assignments:
Computer assignments will be given
approximately once every two weeks.
Most assignments will require the submission of both a hard copy and a
soft copy. The soft copy must be placed on the department server (in dropbox
on ‘csfs2’\CS240-001\your_folder) before the due time. Retain all source programs until a graded
program printout is returned to you. A
10% penalty will be applied for each day the program is late, including
weekends, prior to the instructor’s grading.
No program will be accepted after the instructor/TA has graded the
class’s programs. Students are expected
to do their own work. Copying of other
people's work for tests, quizzes, or lab work will result in the assignment of
a zero grade.
Tests:
A 75-minute Mid Term and a 100-minute
comprehensive final examination will be given. The Mid Term is tentatively
scheduled on October 4th (week 7).
Student who has a hardship excuse for missing a test must notify the
instructor on or before the day of the test to schedule a makeup.
Grading:
Programming
assignments: 45%
Mid Term: 25%
Final examination: 30%
Grading
Scale:
90 – 100 A
80 – 89 B
70 – 79 C
60 – 69 D
0 – 59 E
Tentative
Schedule
Week 1: Linked
List: Variations, Applications, etc. (Ch. 4)
Week 2: Stack ADT: Definition, Implementation,
Application, etc. (Ch. 6)
Week 3: Stack ADT cont. (Ch. 6)
Queue ADT: Definition, Implementation,
Application, etc. (Ch. 7)
Week 4: Queue ADT cont.
Problem Solving with Recursion:
Application, recursive Grammars, Mathematical Induction, etc. (Ch. 5)
Week 5: Recursion
cont. (Ch. 5)
Week 6: Class Relationships: Inheritance,
Virtual Functions, Class Templates, Overloaded Operators, etc. (Ch. 8)
Week 7: Review & Catch Up
Mid Term (Chapters 4 – 7)
Week 8-10: Algorithm and Sorting Efficiency: Algorithm
Growth Rates, Big-O Notation, Efficiency of Searching Algorithms, Efficiency
Comparison of Sorting Algorithms, etc. (Ch. 9)
Week 11-12: Binary Tree ADT: Definition, Implementation,
Search Tree, etc.
Week 13-14: Table ADT: Definition, Implementations, Priority Queue, Heap,
etc.
Week 15: Graph
ADT: Definition, Implementations, Application, etc.
December 12: Final Examination (Everything)
10:00
– 11:40 AM