Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
ABET Course Syllabus Course Title Programming with Data Structures Course Number Total Credit CS 203 3 Coordinator Chengyu Sun Contact Hours 5 hours/week Course Information This course is required in the BS program. a) Catalog Description Advanced programming techniques; data structures such as linked lists, stacks, queues, trees, hash tables, skip lists, and graphs; sorting and searching algorithms; basic algorithm analysis. Laboratory activities on design, implementation, and use of data structures. Lecture 2 hours, laboratory 3 hours. b) Prerequisites CS 202, Recommended: MATH 207, MATH 248. Course Goals At the end of the course, students are able to Understand the concept of Abstract Data Type (ADT). Understand the design and implementation of common data structures, and search and sorting algorithms. Demonstrate the ability to use data structures and algorithms to solve complex programming problems in an efficient manner. Perform basic time and space complexity analysis of data structures and algorithms. These course goals contribute to the success of Student Learning Outcomes (SLO) 2, 3, 5, and 6: SLO2. Students will be able to demonstrate fluency in at least one programming language and acquaintance with at least three more. SLO3. Students will have a strong foundation in the design, analysis, and application of many types of algorithms. SLO5. Students will have the training to analyze problems and identify and define the computing requirements appropriate to their solutions. SLO6. Students will have the training to design, implement, and evaluate large software systems working both individually and collaboratively. Major Topics Covered in the Course Review of the primary programming language to be used in the class Algorithm analysis basics Abstract Data Type Lists, stacks, and queues Trees and traversal Priority Queue Maps, hash tables, and skip lists Search trees Sorting algorithms Basic graph representation and algorithms Laboratory Projects Each week the students complete a project on a selected topic. Most of the lab projects will require the students to implement some data structures or algorithms. These projects will help the students to gain deeper understanding of these data structures and algorithms, learn about the issues and pitfalls in actual implementation, and improve their programming skills in general. The rest of the lab projects will require the students to solve programming problems efficiently by utilizing their knowledge of data structures and algorithms. The students will be required to analyze the efficiency of their implementations using basic algorithmic analysis. Textbook Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser. Data Structures and Algorithms in Java (6th Edition), Wiley, 2014. References 1. Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser. Data Structures and Algorithms in Java (6th Edition), Wiley, 2014. 2. Mark A. Weiss. Data Structures and Algorithm Analysis in Java (3rd Edition), Prentice Hall, 2011. 3. Elliot B. Koffman and Paul A. T. Wolfgang. Data Structures: Abstraction and Design Using Java (2nd Edition), Wiley, 2010. 4. Michael Main. Data Structures and Other Objects Using Java (4th Edition), Prentice Hall, 2011. 5. Frank M. Carrano. Data Structures and Abstractions with Java (3rd Edition), Prentice Hall, 2011. 6. Robert Lafore. Data Structures and Algorithms in Java (2nd Edition), Sams Publishing, 2002. 7. Nell Dale. C++ Plus Data Structures (5th Edition), Jones & Bartlett Learning, 2011. 8. Adam Drozdek. Data Structures and Algorithms in C++, Cengage Learning, 2012. 9. D. S. Malik. Data Structures Using C++ (2nd Edition), Cengage Learning, 2009. 10. Gayle Laakmann McDowell. Cracking the Coding Interview: 150 Programming Questions and Solutions (5th Edition), CareerCup, 2011. Assessment [(i) Chengyu and I will send you the list of courses that this section is applicable. (ii) We will include the necessary assignments/projects/rubrics that will be applied in this course that gives the data for direct measures described in the assessment plan] Academic Integrity Cheating will not be tolerated. Cheating on any assignment or exam will be taken seriously. All parties involved will receive a grade of F for the course and are reported to the proper authorities. ADA Statement Reasonable accommodation will be provided to any student who is registered with the Office of Students with Disabilities and requests needed accommodation.