CmpE 180-26: Algorithms and Data Structure Design (Fall 2008)

 


bullet Lectures

Time: Tuesday and Thursday, 3pm - 4:15pm
Location: ENG 403

bullet Instructure Information

Instructor: Jinchun Xia
Office: ENG 283E
Tel: 408-924-7854
Web: http://www.engr.sjsu.edu/jxia/
Email: jinchun.xia@sjsu.edu
Office hour: Tuesday, 4:30pm - 7pm;
                  Thursday, 12pm - 2:30pm;
                  or by appointment.

bullet Greensheet (in pdf)

bullet Course websites


sAnnouncements

 

Course Description

Object-oriented data organization and representation as strings, arrays, stacks, queues, dequeues, lists, sets, trees, tables, and graphs. Sorting, searching algorithm design, and performance analysis will be discussed.

The student will learn a variety of fundamental concepts and practices in the areas of software engineering, object-oriented design and programming, data structures, and algorithms. Data structures covered will include: queues, linked lists, trees, graphs and their use. Algorithmic techniques will be studied for recursion, hashing, searching, and sorting. This course includes numerous exercises in C and C++ programming to be performed on a Linux and UNIX compatible systems. Each student should own or have access to a copy of a C/C++ development environment such as Microsoft “Visual C++”, Borland “Turbo C++”, or the Unix-based gcc. Use of a UNIX-based C++ environment is strongly recommended, as all programming exams written for this course must ultimately be developed to work on UNIX-based environments.

Prerequisites

CmpE 101 with a passing grade of CR. The instructor will distribute a sign-up sheet that you must sign to indicate that you are aware of the prerequisite for CmpE180-26. Failure to sign the sheet will result in a grade of F for the course.

You should have the following skills before taking this course:

Textbook

Required textbook:

Reference texts:

Syllabus

Week
Date
Lecture
Topic
Reading
Homework
Week 1 08/26/2008 1 [ppt][C++]

1. Green sheet
2. Lecture notes

HW0 out
08/28/2008 2 ADT in C++
[ppt]
Chapter 2, 3  
Week 2 09/02/2008 3 ADT in C++
[ppt][prompt.c][prompt.h][power2.c][xpy.c][count.c]
Chapter 2, 3 HW0 due
HW1 out
09/04/2008 4 OOP and ADT
[ppt]
Chapter 4, 14  
Week 3 09/09/2008 5 OOP and ADT
[ppt][will post code files later]
Chapter 4, 14  
09/11/2008 6 Pointers, Standard C++ I/O and String Classes
[ppt]
Chapter 5 Lab exam 1 announced
Week 4 09/16/2008 7 List
[ppt]
Chapter 6  
09/18/2008 8 Linked List
[ppt]

Chapter 6

 
Week 5 09/23/2008 9

Pointer & Dynamic Data
[ppt]

Chapter 6

 
09/25/2008 10 Linked list
[ppt]
Chapter 6 HW2 out
Week 6 09/30/2008 11 Linked list
[ppt]
Chapter 11  
10/02/2008 12 Stack
[ppt]
Chapter 7  
Week 7 10/07/2008 13 Stack
[ppt]
Chapter 7  
10/09/2008 14 Queue
[ppt]
Chapter 8  
Week 8 10/14/2008 15 Review for the Midterm
[ppt]
  HW2 due
10/16/2008 16 Implementation: Recursion and algorithm analysis
[ppt]
Chapter 10 Lab exam 2 this Friday
Week 9 10/21/2008 Midterm
10/23/2008 17 Implementation: Recursion and algorithm analysis
[ppt]
Chapter 10 HW3 out
Week 10 10/28/2008 18 Searching
[ppt]
Chapter 12  
10/30/2008 19 Searching
[ppt]
Chapter 12  
Week 11 11/04/2008 20 Searching
[ppt]
Chapter 12
11/06/2008 21 Searching, hashing
[ppt]
Chapter 12  
Week 12 11/11/2008 Veteran’s Day
11/13/2008 22 Sorting, heap
[ppt]
Chapter 13 HW3 due
HW4 out
Week 13 11/18/2008 23 Sorting, heap
[ppt]
Chapter 13  
11/20/2008 24 Trees
[ppt][Huffman Code Exercise]
Chapter 15 Lab exam 3 this Friday
Week 14 11/25/2008 25 Trees
[ppt]
Chapter 15  
11/27/2008 Thanks Giving
Week 15 12/02/2008 26 Trees
[ppt]
Chapter 15  
12/04/2008 27 Review for Final
[ppt]
Chapter 16 Lab exam 4 this Friday
Week 16 12/09/2008 28 Graphs
[ppt]
   
12/11/2008       HW4 due
Week 17 12/17/2008 Final exam, Wednesday, 14:45-17:00 at CL 226

 

Resources

 

Grading Policy

Grades will be assigned on a curve. Your final grade will be based on assignments, exams, and class participation. These will be weighted as follows.

Participation and in-class activities 5%
4 Pop quizzes 10%
4 Homework assignments (programming) 10%
4 Lab exams 30%
1 Midterm 20%
1 Final 25%

 

Description of assignments:

Academic Honesty

Your own commitment to learning, as evidenced by your enrollment at San Jose State University, and the University’s Integrity Policy, require you to be honest in all your academic course work. Faculty members are required to report all infractions to the office of Judicial Affairs. The policy on academic integrity can be found at:

http://sa.sjsu.edu/judicial_affairs/index.html

Things (among many others) you may not do when working with other students (except for team work):

Things you may do when working with other students:

Plagiarism

San José State University defines plagiarism as the act of representing the work of another as one's
own without giving appropriate credit, regardless of how that work was obtained, and submitting it to
fulfill academic requirements.
Plagiarism includes:

1.2.1 Knowingly or unknowingly incorporating the ideas, words, sentences, paragraphs, or parts
of, or the specific substance of another's work, without giving appropriate credit, and
representing the product as one's own work;
1.2.2 Representing another’s artistic/scholarly works such as musical compositions, computer programs, photographs, paintings, drawing, sculptures, or similar works as one's own.

Note:

Accommodation for Disabilities

If you need course adaptations or accommodations because of a disability, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 requires that students with disabilities requesting accommodations must register with DRC to establish a record of their disability.