CIS 2168. Data Structures. 4 Credit Hours.

发布时间 2023-09-09 18:19:04作者: 2086nmj

A continuation of CIS 1068. Program style organization and design with continued emphasis on the object-oriented design paradigm. Understanding and use of data abstraction through Java classes and class libraries. Understanding and use of the following Abstract Data Types: strings, stacks, queues, priority queues, lists, linked lists, binary trees, heaps, and hash tables. Introduction to expression evaluation and other applications. Introduction to recursion and comparative analysis of searching and sorting algorithms and data structures. Sorting algorithms include insertion sort, mergesort, heapsort, and quicksort. Searching algorithms include binary search, hashing, and Huffman coding. NOTE: For Computer Science and Information Science and Technology Majors.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C- in (CIS 1068 or CIS 1968), (CIS 1166, CIS 1966, or MATH 2111), and (MATH 1022, any MATH course numbered 1038 to 4999 (may be taken concurrently), 'Y' in MC6, 'Y' in MA04, 'Y' in MC6A, 'Y' in MATW, or 'Y' in MC6T)

参考:https://bulletin.temple.edu/courses/cis/

>>CIS 1068. Program Design and Abstraction. 4 Credit Hours.

Introduction to problem solving and programming in Java, software engineering, procedural and data abstraction, and object-oriented programming, including class hierarchies, inheritance and interfaces. Data types covered include primitive data types, strings, classes, arrays, vectors, and streams. Programming techniques include at least one technique for searching and sorting an array and an introduction to file processing. Note: For Computer Science Majors and IST Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C- (except where noted) in (CIS 1051, CIS 1057, or 'Y' in CISA) and (MATH 0702 (C or higher), any MATH course numbered 1021 to 4999 (may be taken concurrently), 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, 'Y' in MC6A, 'Y' in MC6T, or 'Y' in MATW)

>>CIS 1968. Honors Program Design and Abstraction. 4 Credit Hours.

An Honors version of CIS 1068, this course provides an introduction to problem solving and programming in Java, software engineering, procedural and data abstraction, and object-oriented programming, including class hierarchies, inheritance and interfaces. Data types covered include primitive data types, strings, classes, arrays, vectors, and streams. Programming techniques include at least techniques for searching and sorting an array. In addition to the standard materials for 1068, this course will look more deeply into the underlying representations of numeric data types, it will consider some more advanced language topics including a more detailed look at polymorphism, and it may consider additional techniques such as linked data structures and recursion. Expect the usual boundary between lab and lecture to be somewhat blurred as we look at design and implementation in both places, often in the context of small group activities. The course will end with small group programming projects of modest complexity chosen jointly by the students and instructor based on their areas of interest. These could include elements of graphics, robotics, applied mathematics, engineering, or projects from other disciplines.

Cohort Restrictions: Must be enrolled in one of the following Cohorts: SCHONORS, UHONORS, UHONORSTR.

Course Attributes: HO

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C- (except where noted) in (CIS 1051, CIS 1057, or CIS 1951) and (MATH 1041 (C or higher; may be taken concurrently), MATH 1941 (C or higher; may be taken concurrently), MATH 1038 (C or higher; may be taken concurrently), MATH 1042 (may be taken concurrently), MATH 1044 (may be taken concurrently), MATH 1942 (may be taken concurrently), MATH 1951 (may be taken concurrently), any MATH course numbered 2043 to 3080 (D or higher; may be taken concurrently), 'Y' in MA06, 'Y' in MATW, 'Y' in CRMA08, or 'Y' in CRMA21)