COLLEGE OF THE DESERT

Similar documents
COLLEGE OF THE DESERT

COLLEGE OF THE DESERT

COLLEGE OF THE DESERT

COLLEGE OF THE DESERT

COLLEGE OF THE DESERT

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3

CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

KERN COMMUNITY COLLEGE DISTRICT CERRO COSO COLLEGE CSCI C241 COURSE OUTLINE OF RECORD

CSC 210 COMPUTER SCIENCE II

EL CAMINO COLLEGE COURSE OUTLINE OF RECORD. Grading Method: Letter Credit/No Credit Both No Grade

Course Outline. TERM EFFECTIVE: Spring 2016 CURRICULUM APPROVAL DATE: 10/12/2015

Compulsory course in Computer Science

DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

Section I: BASIC COURSE INFORMATION

CPSC 2380 Data Structures and Algorithms

School of Computing and Information Sciences. Course Title: Mobile Application Development Date: 8/23/10

Course Outline. TERM EFFECTIVE: Spring 2017 CURRICULUM APPROVAL DATE: 05/09/2016

CIS 120. Introduction to Programming

CENTRAL TEXAS COLLEGE COSC 1337 PROGRAMMING FUNDAMENTALS II. Semester Hours Credit: 3

CGS 2405 Advanced Programming with C++ Course Justification

SYLLABUS Type of evaluation

St. MARTIN s ENGINERING COLLEGE Dhulapally,Secunderabad

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

CS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

COMPUTER SCIENCE. Computer Science 123

Home Works and Assignments

CS 210 Algorithms and Data Structures College of Information Technology and Engineering Weisberg Division of Engineering and Computer Science

School of Computing and Information Sciences

OUTCOMES BASED LEARNING MATRIX


IT-2670: C/C++ PROGRAMMING LANGUAGE

ITIS 104: INFORMATION TECHNOLOGY

Software Reliability and Reusability CS614

X Prefix/suffix Course Learning Outcomes

Course Outline. TERM EFFECTIVE: Fall 2016 CURRICULUM APPROVAL DATE: 11/23/2015

Create Proposal. To create a new proposal, select the Create Proposal button.

CSET 3400 Unix System Administration (3 semester credit hours) IT Elective

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS

Java 2. Course Outcome Summary. Western Technical College. Course Information. Course History. Course Competencies

Computer Networks IT321

CURRICULUM. 1b. Discriminate among operating system software, application software (desktop apps), and mobile apps.

CMPE 180A Data Structures and Algorithms in C++

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

COP 1170 Introduction to Computer Programming using Visual Basic

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

Computer Programming II C++ (830)

DATA STRUCTURES THROUGH C++

Computer Science. Computer Science 211. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

School of Computing and Information Sciences

Computer Science. Computer Science 207. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements

CS503 Advanced Programming I CS305 Computer Algorithms I

Computer Science Technology Department

Quantitative Finance COURSE NUMBER: 22:839:615 COURSE TITLE: Special Topics Oriented Programming 2

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

MiraCosta CurricUNET User Manual

San Jose State University - Department of Computer Science

PRO1-I2O23 - Programming I

Course Name: Database Systems - 1 Course Code: IS211

Virtual University of Pakistan

SULTAN QABOOS UNIVERSITY COURSE OUTLINE PROGRAM: B.Sc. in Computer Science. Laboratory (Practical) Field or Work Placement

Course Outline. TERM EFFECTIVE: Summer 2016 CURRICULUM APPROVAL DATE: 11/23/2015

DIABLO VALLEY COLLEGE CATALOG

Part A: Course Outline

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

Computer Science. Computer Science 213. Faculty and Offices. Degrees, Certificates and Awards. AS Computer Science Degree Requirements

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

University of Asia Pacific (UAP) Department of Computer Science and Engineering (CSE)

Oklahoma State University Oklahoma City ITD 1113: Windows Expert User Syllabus Fall, 2014

Bachelor of Science Information Studies School of Information Program Summary

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

Web Development I PRECISION EXAMS DESCRIPTION. EXAM INFORMATION Items

CSET 4150 Web System Administration (3 semester credit hours) IT Required

1. Query and manipulate data with Entity Framework.

ITE 205 Software Design and Programming I

COMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University

Computer Programming II Python

B.C.A 2017 OBJECT ORIENTED PROGRAMMING USING C++ BCA303T MODULE SPECIFICATION SHEET

Course Outline of Record Los Medanos College 2700 East Leland Road Pittsburg CA 94565

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO):

CMPE/SE 135 Object-Oriented Analysis and Design

ITSY Information Technology Security Course Syllabus Spring 2018

Course Outline of Record Los Medanos College 2700 East Leland Road Pittsburg CA (925)

ITT Technical Institute. ET4560T C++ Programming Onsite Course SYLLABUS

OHLONE COLLEGE Ohlone Community College District OFFICIAL COURSE OUTLINE

Syllabus CS 301: Data Structures Spring 2015

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

College of San Mateo Course Outline

224 Computer Science. A.S. Degree Requirements. Department Offices. Faculty and Offices. Emeritus Faculty. Degrees and Certificates Awarded

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2550

CHAIR Jr, r7~. cou EGE FACULTY CHAIR (if \G,Jl ~ ~k amica~ pc{ 2.-0 I ; <-0 l "?J Approved,G. 'S u,\? Approved. Approved

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN CYBERSECURITY

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

Transcription:

COLLEGE OF THE DESERT Course Code CS-009 Course Outline of Record 1. Course Code: CS-009 2. a. Long Course Title: Data Structures and Algorithms b. Short Course Title: DATA STRUCTURES 3. a. Catalog Course Description: This course provides an introduction to data structures, algorithms, and software engineering techniques. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs) and the basics of algorithmic analysis (including hashing, sorting, heaps, searches and algorithm efficiency using Big-O notation). Topics will also include the development of large programs including definition, implementation, and analysis. Focus will be on object-oriented programming and its principles of objects, classes, encapsulation, inheritance and object-oriented design of abstract data types. Students will implement these concepts by writing numerous programs in an object-oriented language such as C++. b. Class Schedule Course Description: This course will use an object-oriented language such as C++ to study more advanced programming principles and techniques. Students will learn about important data structures, how to create and evaluate important sorting and searching algorithms, and basic software engineering principles. c. Semester Cycle (if applicable): N/A d. Name of Approved Program(s): COMPUTER SCIENCE AS Degree and Transfer Preparation 4. Total Units: 4.00 Total Semester Hrs: 108.00 Lecture Units: 3 Semester Lecture Hrs: 54.00 Lab Units: 1 Semester Lab Hrs: 54.00 Class Size Maximum: 28 Allow Audit: No Repeatability No Repeats Allowed Justification 0 5. Prerequisite or Corequisite Courses or Advisories: Course with requisite(s) and/or advisory is required to complete Content Review Matrix (CCForm1-A) Prerequisite: CS 007B Prerequisite: MATH 015 6. Textbooks, Required Reading or Software: (List in APA or MLA format.) a. Carrano, F. (2012). Data abstraction and problem solving with C++: wall and mirrors (6/e). San Francisco Addison Wesley. ISBN: 978-01329237 College Level: Yes Flesch-Kincaid reading level: 12 b. Adam Drozdek (2012). Data Structures and Algorithms in C++ (4/e). Course Technology. ISBN: 978-113360842 College Level: Yes Flesch-Kincaid reading level: N/A 7. Entrance Skills: Before entering the course students must be able: a. Design and develop computer software utilizing an object-oriented language, packages, modules and libraries. CS 007B - Design, implement, test, and debug simple programs in an object-oriented programming language CS 007B - Compare and contrast object-oriented analysis and design with structured analysis and design b. Understand and use techniques of inheritance and polymorphism. CS 007B - Design, implement, test, and debug simple programs in an object-oriented programming language CS 007B - Compare and contrast object-oriented analysis and design with structured analysis and design 05/11/2018 1 of 6

c. Select appropriate data structures from the Standard Template Library such as vectors, linked lists, stacks and queues in the design of computer programs to solve complex problems from math and science. CS 007B - Write programs that use each of the following data structures: arrays, records, strings, linked lists, stacks, queues, and hash tables CS 007B - Explain how abstraction mechanisms support the creation of reusable software components d. Create classes which implement dynamic memory allocation techniques appropriate to the design of computer programs. CS 007B - Write programs that use each of the following data structures: arrays, records, strings, linked lists, stacks, queues, and hash tables e. Implement advanced file reading and writing methods. CS 007B - Explain how abstraction mechanisms support the creation of reusable software components CS 007B - Design, implement, test, and debug simple programs in an object-oriented programming language CS 007B - Compare and contrast object-oriented analysis and design with structured analysis and design f. Provide recursive, iterative and explicit solutions to classic discrete mathematical problems. MATH 015 - Provide recursive, iterative and explicit solutions to classic discrete mathematical problems. g. Create and manipulate trees and specifically spanning trees to find their minimized forms. MATH 015 - Create and manipulate trees and specifically spanning trees to find their minimized forms. 8. Course Content and Scope: Lecture: 1 Principles of Programmingand Software Engineering 1.1Software Engineering and Object-Oriented Design 1.2 Achieving a Better Solution 1.3 Key Issues in Programming 2 Recursion: The Mirrors 2.1 Recursive Solutions 2.2 Counting Things 2.3 Searching an Array 2.4 Organizing Data 2.5 Recursion and Efficiency 3 Data Abstraction: The Walls 3.1 Abstract Data Types 3.2 Specifying ADTs 3.3 Implementing ADTs 4 Linked Lists 4.1 Preliminaries 4.2 Programming with Linked Lists 4.3 Variations of the Linked List 4.4 Application: Maintaining an Inventory 4.5 The C++ Standard Template Library 5 Recursion as a Problem-Solving Technique 5.1 Backtracking 5.2 Defining Languages 5.3 The Relationship Between Recursionand Mathematical Induction 6 Stacks 6.1 The Abstract Data Type Stack 6.2 Simple Applications of the ADT Stack 6.3 Implementations of the ADT Stack 6.4 Application: Algebraic Expressions 05/11/2018 2 of 6

6.5 Application: A Search Problem 6.6 The Relationship Between Stacks and Recursion 7 Queues 7.1 The Abstract Data Type Queue 7.2 Simple Applications of the ADT Queue 7.3 Implementations of the ADT Queue 7.4 A Summary of Position-Oriented ADTs 7.5 Application: Simulation 8 Advanced C++ Topics 8.1 Inheritance Revisited 8.2 Virtual Methods and Late Binding 8.3 Friends 8.4 The ADTs List and Sorted List Revisited 8.5 Class Templates 8.6 Overloaded Operators 8.7 Iterators 9 Algorithm Efficiency and Sorting 9.1 Measuring the Efficiency of Algorithms 9.2 Sorting Algorithms and Their Efficiency 10 Trees 10.1 Terminology 10.2 The ADT Binary Tree 10.3 The ADT Binary Search Tree 10.4 General Trees 11 Tables and Priority Queues 11.1 The ADT Table 11.2 The ADT Priority Queue: A Variation of the ADT Table 11.3 Tables and Priority Queues in the STL 12 Advanced Implementations of Tables 12.1 Balanced Search Trees 12.2 Hashing 12.3 Data with Multiple Organizations 13 Graphs 13.1 Terminology 13.2 Graphs as ADTs 13.3 Graph Traversals 13.4 Applications of Graphs Lab: (if the "Lab Hours" is greater than zero this is required) Complete programming assignments incorporating design elements and code. 9. Course Student Learning Outcomes: 1. Apply a systematic approach to the design, construction and management of computer programs, emphasizing programming style, documentation, and debugging techniques. 2. Demonstrate knowledge of data structures such as stacks, lists, trees, graphs, and queues. Implement (program) these structures in appropriate applications 3. Analyze and implement (program) sorting and searching algorithms 4. Utilize design principles of object-oriented programming, including encapsulation, inheritance 10. Course Objectives: Upon completion of this course, students will be able to: 05/11/2018 3 of 6

a. Compare iterative and recursive solutions for elementary problems such as factorial b. Implement, test, and debug simple recursive functions and procedures c. Determine when a recursive solution is appropriate for a problem d. Implement the user-defined data structures in a high-level language. e. Choose the appropriate data structure for modeling a given problem f. Compare alternative implementations of data structures with respect to performance g. Write programs that use each of the following data structures: arrays, strings, linked lists, stacks, queues, and hash tables h. Compare and contrast the costs and benefits of dynamic and static data structure implementations i. Discuss the computational efficiency of the principal algorithms for sorting, searching, and hashing j. Discuss the computational efficiency of the principal algorithms for sorting, searching, and hashing 11. Methods of Instruction: (Integration: Elements should validate parallel course outline elements) a. Collaborative/Team b. Individualized Study c. Laboratory d. Lecture e. Supplemental/External Activity f. Technology-based instruction g. Tutorial 12. Assignments: (List samples of specific activities/assignments students are expected to complete both in and outside of class.) In Class Hours: 108.00 Outside Class Hours: 108.00 a. In-class Assignments 13. 1. Take quizzes. 2. Take tests. 3. Participate in discussion. 4. Develop original programs to solve given problems b. Out-of-class Assignments 1. Read the text. 2. Write descriptions of programs in pseudocode. 3. Complete unfinished lab work. 4. Take quizzes. Methods of Evaluating Student Progress: The student will demonstrate proficiency by: Laboratory projects Computer programs Group activity participation/observation Team programming. Mid-term and final evaluations short answer essays and fill in the blank type midterms and cumulative final exam 14. Methods of Evaluating: Additional Assessment Information: 15. Need/Purpose/Rationale -- All courses must meet one or more CCC missions. PO-GE C4.b - Language & Rationality (Communication & Analytical Thinking) Raise questions and problems, formulating them clearly and precisely. Gather, assess, and interpret relevant information. Compare and contrast ideas from conclusions and solutions based on relevant criteria and standards Recognize and assess assumptions, implications, and practical consequences of alternative systems of thought. 05/11/2018 4 of 6

Express solutions to complex problems using language and logic. Apply logical and critical thinking to solve problems; explain conclusions; and evaluate, support, or critique the thinking of others. IO - Critical Thinking and Communication Apply principles of logic to problem solve and reason with a fair and open mind. Apply standard conventions in grammar, mechanics, usage and punctuation. Conduct research, gather and evaluate appropriate information, organize evidence into oral and written presentation, using proper MLA, APA, and other discipline-specific formats to cite sources. Utilizing various communication modalities, display creative expression, original thinking, and symbolic discourse. 16. Comparable Transfer Course University System Campus Course Number Course Title Catalog Year CSU CSU San Bernardino Comp 182 Data Structures 2010-2011 UC UC Riverside CS 14 Data Structures 2010-2011 17. Special Materials and/or Equipment Required of Students: 18. Materials Fees: Required Material? Material or Item Cost Per Unit Total Cost 19. Provide Reasons for the Substantial Modifications or New Course: Periodic course review. 20. a. Cross-Listed Course (Enter Course Code): N/A b. Replacement Course (Enter original Course Code): N/A 21. Grading Method (choose one): Letter Grade Only 22. MIS Course Data Elements a. Course Control Number [CB00]: CCC000525441 b. T.O.P. Code [CB03]: 70710.00 - Computer Programming c. Credit Status [CB04]: D - Credit - Degree Applicable d. Course Transfer Status [CB05]: A = Transfer to UC, CSU e. Basic Skills Status [CB08]: 2N = Not basic skills course f. Vocational Status [CB09]: Advanced Occupational g. Course Classification [CB11]: Y - Credit Course h. Special Class Status [CB13]: N - Not Special i. Course CAN Code [CB14]: N/A j. Course Prior to College Level [CB21]: Y = Not Applicable k. Course Noncredit Category [CB22]: Y - Not Applicable l. Funding Agency Category [CB23]: Y = Not Applicable m. Program Status [CB24]: 1 = Program Applicable Name of Approved Program (if program-applicable): N/A Attach listings of Degree and/or Certificate Programs showing this course as a required or a restricted elective.) 23. Enrollment - Estimate Enrollment First Year: 15 Third Year: 15 05/11/2018 5 of 6

24. Resources - Faculty - Discipline and Other Qualifications: a. Sufficient Faculty Resources: Yes b. If No, list number of FTE needed to offer this course: N/A 25. Additional Equipment and/or Supplies Needed and Source of Funding. N/A 26. Additional Construction or Modification of Existing Classroom Space Needed. (Explain:) N/A 27. FOR NEW OR SUBSTANTIALLY MODIFIED COURSES Library and/or Learning Resources Present in the Collection are Sufficient to Meet the Need of the Students Enrolled in the Course: Yes 28. Originator Geoffrey Hagopian Origination Date 04/06/16 05/11/2018 6 of 6