Download CS 203

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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.