CSCL228-10: Data Structures and Algorithms Lab. Spring 2014. Instructor: Dr.
Xuejun Liang. Office: NSB 307. Office Hours: MWF 8:30-9:50AM and 12:30-2: ...
Jackson State University Department of Computer Science Syllabus
CSCL228-10: Data Structures and Algorithms Lab Spring 2014 Instructor: Dr. Xuejun Liang Office: NSB 307 Office Hours: MWF 8:30-9:50AM and 12:30-2:30PM Phone: (601) 979-1274, Email:
[email protected] Class Information: Class Room: JPSB 215 Class Time: W 2:00-4:50pm Class Website: http://www.jsums.edu/robotics/CSCL228/ Teaching Assistant: Mr. Jerald Dawson Email:
[email protected] Course Description: CSCL228 Data Structures and Algorithms Lab. (1 Hours) Pre-requisites: CSC119, CSCL119, CSC225; Co-requisite: CSC228. Students explore, design, program, and analyze implementations of data structures and algorithms in a supervised setting. Laboratory submissions include not only software and data, but short reports that are graded both for technical content and writing mechanics. Text Book: C++ Plus Data Structures: A Laboratory Course, Third Edition, by Stefan Brandle, Jonathan Geisler, James Roberge, and David Whittington, Jones and Bartlett Publishers, 2009 Course Outcomes: Students who successfully complete the course must be able to 1. Master foundational C++ concepts used in ADT implementation with implementing, testing, and applying two simple ADTs using C++ classes. 2. Implement, test, and apply the List ADT and the Ordered List ADT in C++. 3. Implement, test, and apply the Stack ADT and the Queue ADT in C++. 4. Implement, test, and apply advanced ADTs, such as Binary Search Tree, Expression Tree, Heap, Weighted Graph, and Hash Table, in C++. Course Outline (Major Topics and Weekly Schedule) Date Topics Covered Weeks 1-2
Preliminaries and Lab1 Text ADT: Introduction to the Lab environment. Implement and test the operations in the Text ADT. Overload operators ==, in the Text ADT.
Week 3
Weeks 4-5
Week 6
Week 7-8
Weeks 9-10
Weeks 11-12
Weeks 13-14
Lab2 BlogEntry ADT: Implement and test operations in the two ADTs: Date and BlogEntry. Add a function in BlogEntry to generate output in HTML. Lab3 Array Implementation of the List ADT: Implement and test the List ADT using an array representation of list. Implement a function that computes one property of a DNA sequence – the number of times each base occurs in the sequence. Lab5 Singly Linked List Implementation of the List ADT: Implement and test the operations in the List ADT using a singly linked list. Implement and test a List ADT operation that moves a data item to the beginning of a list. Lab 6: Stack ADT: Array-Based Implementation and Linked-List Implementation of the operations in the Stack ADT. Create a program that evaluates arithmetic expressions in postfix form. Lab 7 Queue ADT: Array-Based Implementation and Linked-List Implementation of the operations in the Queue ADT. Create a program that simulates the flow of customers through a check line in a store. Lab 9 Binary Search Tree: Implement and test the operations in the Binary Search Tree ADT using a linked tree structure. Create a program that builds an index tree for an accounts database. Lab 11 Heap ADT: Implement and test the operations in the Heap ADT using an array representation. Create a program that uses the Priority Queue ADT to implement a simplified operating system’s task scheduler, or Create a heap sort function based on the heap construction techniques.
Grading Scale: A: 90-100, B: 75-89, C: 60-74, D: 50-59, and F: below 50% Clustering of grades may cause the grading scale to be lowered (to your benefit), but it will not be raised Evaluation: Lab Assignments (90%) + Lab Participations (10%) Other Course Information 1. Students are required to attend each lab period for the full 3-hour session. Attendance will be taken. Only official executed absences will be considered. Any assignment not turned in will receive a grade of zero.
2. Students are expected to turn in their assignment(s) via an email for each assignment. The subject of the email should indicate clearly the name of the assignments and the name of the student. A short lab report, describing what you have done in an assignment, should be submitted along with each assignment. The timestamp on the email will be used to judge if an assignment is late; a late assignment will result in a grade of zero. 3. Students are responsible for all assignments regardless of absences. 4. The first hour (more or less) of each lab session will be devoted to lecture or explanation. 5. Each student is expected to do the work that is turned in. Any indication of fraud will be treated with severe penalties. Standard academic honesty procedure will be followed. Academic Honesty Policy Copying other’s codes and sharing your codes with others are both considered plagiarism. Both will result in at least a zero for that assignment, and possibly more severe punishments (report to the dean or failure of this course). Special Needs Learners Please notify the instructor if you a certificate of disability that will require accommodations. In accordance with the Americans with Disability Act, students with bona fide disabilities will be afforded reasonable accommodation. The Office of Support Services for Students and Employees with Disabilities will certify a disability and advice faculty of reasonable accommodations. Please contact the office at (601)979-3760, (601) 979-6919 (TTY) or visit the website at http://www.jsums.edu/ada/. The American Disability (ADA) “It is the university policy to provide, on a flexible and individualized basis, reasonable accommodations to students who have disabilities that may affect their ability to participate in course activities or to meet course requirements. Students with disabilities are encouraged to contact their instructors to discuss their individual needs for accommodations.”