T. Andrew Yang

Email: yang@uhcl.edu

Web page:  http://sce.uhcl.edu/yang/

Tel.: (281) 283-3835 


Last updated:

 

4/22/2011

CSCI 3333 Data Structures

Spring 2011  (1/18 – 5/2 + final week)

·        Important Information:

o   Join the discussing group for announcements and discussions: http://groups.google.com/group/csci3333spring2011?hl=en

Class Notes, Topics & Schedule

- Print out the class notes for the day and bring them to the class.

Assignments & Projects

Java Programming Examples and Related Topics

Source Codes from the book


Time & Classroom

Section 01: Tues. & Thur., 1-2:20pm (Delta 202)

Course Description: Advanced programming techniques and data structures including arrays, linked lists, queues and stacks. Abstract data types, recursion, searching and sorting, binary trees, hashing techniques and elementary algorithm design and analysis. Laboratory instruction.

Prerequisite: CSCI 3133, CSCI 3234 and Java, or equivalent.

Note: The Data Structures concepts will be taught in a language independent manner in this class. Students may choose C, C++, or Java as the programming language when implementing the class projects, which is part of the labs.

Course Objectives:

Upon successfully completing this class, students will be equipped with understanding of data structures concepts, and have experiences in designing and implementing fundamental data structures in programming projects.

Learning Outcome:

  1. Understand basic software engineering concepts such as design implement and test a solution when given a set of requirements.
  2. Recognize when and how to use the following data structures: arrays, linked lists, stacks, queues and binary trees.
  3. Implement sequential searching, binary searching and hashing algorithms.
  4. Apply various sorting algorithms include bubble, insertion, selection and quick sort.
  5. Understand recursion and be able to give examples of its use.
  6. Understand the complexity of algorithms (Big Oh notation).
  7. Understand implications of unethical conduct.

Class Format: Lectures are combined with discussions and, if applicable, student presentations and discussions of advanced topics. Students are expected to be active participants, by studying the relevant chapters and/or research papers, and participating at in-class discussions.


Instructor: Dr. T. A. Yang

(office) Delta 106

(phone#) (281) 283-3835 (Please leave a message if not available.)

NOTE: If the suite office is locked, you may use the phone outside the office to call me (by entering the extension 3835).

(email address) yang@uhcl.edu

Important notes:

Emails without a subject line or signature will be considered as potentially malicious and be discarded. Here is a sample subject line: "CSCI3333 project #1, question 1".

Although email messages tend to be informal, please check the grammar and spelling of your messages to ensure their legibility.

(Web site)  http://sce.uhcl.edu/yang
NOTE: Find the assignments and/or projects at the Assignments & Projects page.

Office Hours : See http://sce.uhcl.edu/yang/teaching/officeHours.htm

NOTE: In addition, you are highly encouraged to send your questions to me by e-mails (yang@uhcl.edu). Try to provide sufficient details in your email message, such as the problem(s) you have encountered, the solution(s) you have tried, and the outcome you have got from these solution(s).

Teaching assistant info and office hours:

 

TA -

Sandeep Pendru  (email: sandeeppendru@gmail.com)

 

Office Hours – (tentative until the end of the second week)

Monday 1pm to 5pm 4pm to 8pm

Tuesday 3pm to 6pm

Wednesday 12pm to 3pm

Thursday 2pm to 6pm

 


Required Text:

·        M.A. Weiss. Data Structures & Problem Solving Using Java, 4th EDITION. Addison Wesley / Pearson. 2009. (ISBN: 0321541405)

+ Instructor's handouts in the class and/or on the Web

Recommended (but not required):

·        M.A. Weiss. DATA STRUCTURES+ALGORITHM ANALYSIS IN C. 2nd edition. Pearson. 1997. (ISBN: 9780201498400)

-        Note: Students who choose to use the C language to implement the projects are recommended to get this book.

·        M.A. Weiss. DATA STRUCTURES+PROBLEM SOLV.USING C++. 2nd edition. Pearson. 2000. (ISBN: 9780201612509)

-        Note: Students who choose to use the C++ language to implement the projects are recommended to get this book.

Additional resources:

Source Codes for Data Structures and Problem Solving Using Java, Fourth Edition

The author’s web site: http://users.cis.fiu.edu/~weiss/


Topics and Notes
NOTE: The following schedule will be followed as much as possible, although changes are probable. Always check with your instructor if you are not sure what would be covered next week.

wk (dates)

Topics & Slides (Chapters)

Tasks (Due Dates)

1 (1/18,20)

Syllabus

Intro. to data structures

Join the discussion board.

2 (1/25,27)

Intro. to algorithm analysis (Ch. 5)

      Algorithm-analysis (1)

 Lab 1 (1/27)

3 (2/1,3)

Arrays

Linked Lists

Lab 1 (2/1)

4 (2/8,10)

Stacks

Lab 2 (2/10)

5 (2/15,17)

Queues

6 (2/22,24)

Exam #1

Exam (2/22)

7 (3/1,3)

Recursion, recursion traces (Ch. 7)

Average case analysis of binary search using a binary tree

Lab 3 (3/3)

8 (3/8,10)

Hash tables (Ch. 20)

9 (3/15,17)

Spring break. No class meetings.

 

10 (3/22,24)

Trees, Tree traversal (Ch. 18)

Lab 4 (3/24)

11 (3/29,31)

Binary Search Trees (Ch. 19)

Note: No class meeting on 3/31.

Draft of your presentation: to be posted to the discussion board (3/31)

12 (4/5,7)

Exam #2 (Note: 30% before exam 1 + 70% from Queues up to Chapter 19.2)

Exam (4/5)

13 (4/12,14)

Hashing / Hash tables (Ch. 20)

Lab 5 (4/14)

14 (4/19,21)

Sorting (Ch. 8)

Analysis of Shellsort and Related Algorithms

-   A paper by Robert Sedgewick surveying Shellsort and related algorithms (1996)

Lab 5 (4/19) new due date

15 (4/26,28)

Ethics paper presentation

Intro. to software engineering

presentation (4/26)

(5 ~ 10 minutes each)

16 (5/3)

Final exam: comprehensive

Section 01: Tuesday, May 3, 1-3pm

Final exam

 

 

 


Computer Labs:

The computers in the PC Lab (Delta 119) are configured with JDK and JCE for running the sample programs. You are encouraged to configure your own computer to do the projects.

·        Windows account information at: http://sce.uhcl.edu/accountSearch.html

·        Click http://sce.uhcl.edu/NTLabIntroduction.asp for the list of available software in the PC lab.

Evaluation:

category

Percentage (min ~ max)

Labs (5% each)

25%

Paper & presentation on ethics

10%

Exam 1

15%

Exam 2

15%

final exam

30%

Attendance++

5%

Class Participation+++

0% ~ 3%

Total:

100% (0% ~ 103%)

++ Attendance Policy: You are expected to attend all classes. There will be no penalty for a person’s first two absences without documented excuse. 1% will be taken for each of the absences after the first two absences. Note: Being tardy is no excuse when a person is found to be absent from the class.

Note: If you ever miss a class, it is your responsibility to get hold of whatever may have been discussed in the class.

+++ Class Participation: Participating in the class is expected. You should ask or answer questions during the in-class or online discussions. Up to 3% may be granted to students who are active participants.

Grading Scale:

The accumulated points from all the categories determine a person's final grade. There will be no extra-credit projects.

Percentile

Grade

90% or above

A

87% - 89%

A-

84% - 86%

B+

80% - 83%

B

77% - 79%

B-

74% - 76%

C+

70% - 73%

C

67% - 69%

C-

64% - 66%

D+

 

60%-63%

D

 

57%-59%

D-

Less than 57%

F

Tests & Exams:

Both analytic and synthetic abilities are emphasized. Being able to apply the learned knowledge toward problem solving is also highly emphasized in the tests. 

Unless due to unexpected, documented emergency, no make-up exams will be given. No make-up exams will be granted once the exams have been corrected and returned to the class.

Assignments and Late Penalty:

Assignments and projects will be posted at the class web site. Assignments & projects are due before the beginning of the class on the due day. See Topics and Notes for the due dates. 

Points will be deducted from late assignments: 20% for the first 24 hours after the due time, 40% for the next 24 hours, 70% for the third 24 hours, and 100% after that. No extension will be granted except for documented emergency. Starting to work on the assignments as early as possible is always the best strategy.

 

Assignments Guidelines:

a. Identification page: All assignments must have your name, and course name/number/section number (e.g., CSCI3333-01) at the top of the first page.

b. Proper stapling: Staple all the pages together at the top-left corner. NOTE: Do not use paper clips.

c. Order ! Order! Arrange the solutions following the sequence of the questions. Write the question number at the top-right corner of each page.

d. Word processing: It is required that you type your reports (e.g., print them using a printer). Use a word processor and appropriate typesetting and drawing tools to do the assignments. Spell-check the whole document before printing it. You may lose points due to spelling or grammatical errors. 

Projects:

The projects will involve the design and implementation of encryption/decryption algorithms and/or application of the algorithms to real-world problems. Students are expected to employ the theories and techniques learned in the class to design the system.

Details of the projects will be later made available at Assignments & Projects.

NOTE: Unless otherwise specified, all assignments and projects are individual work. Students should take caution not to violate the academic honesty policies. Check out the details at this link.

 


Instructor's Notes:

  • Important: If you think you have lost some points due to grading errors, make sure you approach the instructor within a week after the assignment, project, or test is returned to you.
  • To get the most out of this class, you need to read the textbooks and spend time using computers regularly. Be prepared for a class by previewing the material to be covered in that class and participate in discussions and problem-solving exercises, if applicable, in the class.
  • Due to the intensive nature of graduate classes, 15-20 hours per week are expected of students in studying the textbook/notes and working on the assignments, in addition to class attendance. Expect to spend more hours during summer sessions.

Related Links:

·        UHCL General Program Requirements: http://www.uhcl.edu/XDR/Render/catalog/archives/125/06/

 

·        Withdrawals, Appeals, GPA, Repeated Courses, and the 6 Drop Rule: http://www.uhcl.edu/XDR/Render/catalog/archives/125/06/%23A0110#A0110

 

·        ASSESSMENT FOR ACCREDITATION:

The School of Science and Computer Engineering may use assessment tools in this course and other courses for curriculum evaluation.  Educational assessment is defined as the systematic collection, interpretation, and use of information about student characteristics, educational environments, learning outcomes, and client satisfaction to improve program effectiveness, student performance, and professional success. This assessment will be related to the learning objectives for each course and individual student performance will be disaggregated relative to these objectives.  This disaggregated analysis will not impact student grades, but will provide faculty with detailed information that will be used to improve courses, curriculum, and student performance.

Go to the Index