Inactivated 1/25/08 College of the Redwoods CURRICULUM PROPOSAL --Attach the Course Outline— 1. Division: Business and Technology 2. Course Discipline and Number: CIS 20 3. Course Title: Programming with Data Structures 4. New Change to existing course (Indicate changes on "Summary of Curriculum Changes" form) Replacing existing course CIS 20L (Course to be inactivated) 5. Is this course part of a CR Degree/Certificate Program? No Yes If yes, specify program code: CIS.AS.PROGRAMMING, CIS.CA.PROGRAMMING, CIS.AS.NETWORKING, CIS.CA.NETWORKING Required course Restricted elective 6. Provide explanation and justification for addition/change/deletion: These changes update the old course outline and combine two courses (CIS 20 and CIS 20L) into one course (CIS 20) 7. List any special materials, equipment, tools, etc. that students must purchase: 8. This course will have an instructional materials fee. No Fee: $ Submitted by: Dan Calderwood_ Yes Tel. Ext.4365 Submitting Division/Center Review Steve Brown Date: 5/1/2005 Date: 5/1/2005 CURRICULUM COMMITTEE USE ONLY Approved by Curriculum Committee: No Academic Senate Approval Date: 11/4/05 Curriculum Proposal ACASEN: 09.03.04 Yes Date: 10/28/05 Page 1 May 29, 2016 SUMMARY OF CURRICULUM CHANGES FOR AN EXISTING COURSE FEATURES OLD NEW Catalog Description A study of traditional data structures and processing algortihms (files, lists, queues, stacks, trees, sorts, searches). A basic knowledge of C programming language is assumed. A study of data structures and processing algorithms (files, lists, queues, stacks, trees, sorts, searches, and recursion). Grading Standard Select Select CIS 20L Combine two courses (CIS 20 and CIS 20L) into one course (CIS 20) Units Lecture Hours Lab Hours Prerequisites Corequisites Recommended Preparation Maximum Class Size RepeatabilityMaximum Enrollments Other Course Learning Outcomes, Learning Activities, Assessment Tasks, Representative Texts If any of the listed features have been modified in the new proposal, indicate the "old" (current) information and proposed changes. Course Outline Senate Approved: 09.03.04 2 May 29, 2016 College of the Redwoods Course Outline DATE: 5/1/2005 DISCIPLINE AND COURSE NUMBER: CIS 20 FORMER DISCIPLINE AND NUMBER (If previously offered): CIS 20/20L COURSE TITLE: Programming with Data Structures TOTAL UNITS: 4 [Lecture Units: 3 Lab Units: 1] TOTAL HOURS: 108 [Lecture Hours: 54 Lab Hours: 54] MAXIMUM CLASS SIZE: 30 GRADING STANDARD: Letter Grade Only CR/NC Only Is this course repeatable for additional credit units: No Grade-CR/NC Option Yes how many total enrollments? Is this course to be offered as part of the Honors Program? No Yes If yes, explain how honors sections of the course are different from standard sections. CATALOG DESCRIPTION: The catalog description should clearly state the scope of the course, its level, and what kinds of student goals the course is designed to fulfill. A study of data structures and processing algorithms (files, lists, queues, stacks, trees, sorts, searches, and recursion). Special notes or advisories: PREREQUISITES: No Yes Course: CIS 12, CIS 16 Rationale for Prerequisite? Describe representative skills without which the student would be highly unlikely to succeed . Fundamental knowledge of the C++ language and problem solving is essential. COREQUISITES: No Yes Rationale for Corequisite? Course: RECOMMENDED PREPARATION: No Yes Course: Rationale for Recommended Preparation? Course Outline Senate Approved: 09.03.04 3 May 29, 2016 COURSE LEARNING OUTCOMES: What should the student be able to do as a result of taking this course? State some of the objectives in terms of specific, measurable student accomplishments. Develop computer programs using object-oriented design techniques. Use array, list, stack, queue, and tree data structures to implement solutions in C++. Integrate recursive programming techiques in C++ program solutions. Calculate algorithm efficiency and make design implementation decisions based on these calculations. Differentiate between different sorting algorithms in terms of efficiency and applicability. Use sorting algorithms in C++ program solutions. Debug software using tools in an IDE as well as by hand. Document code via applicable design methodologies and code commenting. COURSE CONTENT Themes: What themes, if any, are threaded throughout the learning experiences in this course? Proper program design and documentation is essential to create maintainable code. Algorithm efficiency is part of the problem solving process. Data structures are tools that a programmer must be aware of and choose from when implementing programming problem solutions. Knowledge and use of debugging tools is essential to creating error free code in a timely manner. Concepts: What concepts do students need to understand to demonstrate course outcomes? All the concepts from the prerequisite courses (CIS 12 and 16). Pointers. Abstraction. Object Oriented Program design fundamentals. Object Oriented Programming concept (classes and objects). File linking within a C++ project. Inheritance and Polymorphism. Class Templates. Arrays. Unsorted Linked Lists. Sorted Linked Lists. Stacks. Queues. Trees. Recursion. Sorting algorithms (Select, Bubble, Merge). Issues: What primary issues or problems, if any, must students understand to achieve course outcomes (including such issues as gender, diversity, multi-culturalism, and class)? Effective program design must precede program coding and testing. Clear and concise program documentation is necessary for effective program maintenance. Paper and pencil debugging techniques are an integral part of program debugging. Use of an automated debugging tool is invaluable for pin pointing code problem areas. Program development environments are highly complex software systems. The ability to work as a productive member of a team is essential to success in the Course Outline Senate Approved: 09.03.04 4 May 29, 2016 programming industry. Skills: What skills must students master to demonstrate course outcomes? Use an electronic trace utility to view and evaluate a programs performance, including memory stack allocations, array and vector status, and pointer values. Develop executable programs that incorporate a variety of data structures, recursive algorithms, sort algorithms, and file I/O. Clearly articulate program logic and processing rationale in program documentation. Make use of indirect addressing to create dynamic data structures. REPRESENTATIVE LEARNING ACTIVITIES: What will the students be doing (i.e., Listening to lectures, participating in discussions and/or group activities, attending a field trip, etc.)? Relate the activities directly to the Course Learning Outcomes. Read data structure conceptual material in the text. Design, implement, and test object-oriented programs that incorporate static and dynamic data structures, as well as recursive and sorting alogorithms. Create algorithms with varying degrees of efficiency. Listen to instructor presentations of conceptual material. Observe instructor demonstrations of various data structures and algorithms. Participate in short group activities to create simple implementations of introduced concepts. ASSESSMENT TASKS: How will the student show evidence of achieving the Course Learning Outcomes? Indicate which assessments (if any) are required for all sections. Representative assessment tasks: Written exams that include objective, short answer, and problem-solving questions. Hands-on, practicum exams that demonstrate programming competency. Homework assignments that require students to demonstrate their ability to meet the course learning outcomes (e.g. design, implement, and test programs that use various data structures and recursive and sort algorithms). Weekly short-answer quizzes that assess students' understanding of that week's material. Required assessments for all sections – to include but not limited to: EXAMPLES OF APPROPRIATE TEXTS OR OTHER READINGS Author Dan Author Rick Calderwood Mercer Title Title Data Structures Made Easy (Author, Title, and Date Fields are required): Date 2004 Computing Fundamentals with C++, 2nd Ed. Author Title Date Author Title Date Date 1999 Other Appropriate Readings: Course Outline Senate Approved: 09.03.04 5 May 29, 2016 PROPOSED TRANSFERABILITY: UC CSU BOTH General elective credit If CSU transferability is proposed (courses numbered 1-99), indicate whether general elective credit or specific course equivalent credit is proposed. Specific course equivalent If specific course equivalent credit is proposed, give course numbers/ titles of at least two comparable lower division courses from a UC, CSU, or equivalent institution. 1. CIS 290, HSU (Campus) 2. CSCI 112, CSUC PROPOSED GENERAL EDUCATION: Rationale for General Education certification: NONE NONE CR (Campus) UC CSU College of the Redwoods General Education Applicability: AREA Natural Science Social Science Humanities Language and Rationality Writing Oral Communications Analytical Thinking Rationale for inclusion in this General Education category: Proposed California State University General Education Breadth (CSU GE) Applicability A. Communications and Critical Thinking A1 – Oral Communication A2 – Written Communication A3 – Critical Thinking C. Arts, Literature, Philosophy, and Foreign Language C1 – Arts (Art, Dance, Music, Theater) C2 – Humanities (Literature, Philosophy, Foreign Language) B. Science and Math B1 – Physical Science B2 – Life Science B3 – Laboratory Activity B4 – Mathematics/Quantitative Reasoning D. Social, Political, and Economic Institutions D0 – Sociology and Criminology D1 – Anthropology and Archeology D2 – Economics D3 – Ethnic Studies D5 – Geography D6 – History D7 – Interdisciplinary Social or Behavioral Science D8 – Political Science, Government and Legal Institutions D9 – Psychology E. Lifelong Understanding and Self-Development E1 – Lifelong Understanding E2 – Self-Development Rationale for inclusion in this General Education category: Same as above Course Outline Senate Approved: 09.03.04 6 May 29, 2016 Proposed Intersegmental General Education Transfer Curriculum (IGETC) Applicability AREA 1A – English Composition 1B – Critical Thinking-English Composition 1C – Oral Communication (CSU requirement only) 2A – Math 3A – Arts 3B – Humanities 4A – Anthropology and Archaeology 4B – Economics 4E – Geography 4F – History 4G – Interdisciplinary, Social & Behavioral Sciences 4H – Political Science, Government & Legal Institutions 4I – Psychology 4J – Sociology & Criminology 5A – Physical Science 5B – Biological Science 6A – Languages Other Than English Rationale for inclusion in this General Education category: Course Outline Senate Approved: 09.03.04 Same as above 7 May 29, 2016 FOR VPAA USE ONLY PROGRAM AND COURSE NUMBER CIS-20 TECHNICAL INFORMATION 1. Department: INFSC Information Science 16. CoRequisite Course: none 2. Subject: CIS 17. CoRequisite Noncourse: none Course No: 20 3. Credit Type: D Credit Degree Applicable 18. Maximum Class Size: 30 4. Min/Maximum Units: 4.0 to 19. Repeat/Retake: NR No repeats variable units 5. Course Level: C Clearly Occupational 20. Count Retakes for Credit: yes no 6. Academic Level: UG Undergraduate 21. Only Pass/No Pass: yes no 7. Grade Scheme: UG Undergraduate 22. Allow Pass/No Pass: yes no 8. Short Title: Program With Data Structures 23. VATEA Funded Course: yes no 9. Long Title: Programming With Data Structures 24. Accounting Method: W Weekly Census 10. National ID 11. Local ID (CIP): (TOPS): 11.0201 070710 12. Course Types: Level One Basic Skills: NBS Not Basic Skills 25. Disability Status: N Not a Special Class 26. Billing Method: T-Term 27. Billing Period: R-Reporting Term 28. Billing Credits: 4.0 Level Two Work Experience: NWE Not Coop Work Experience 29. Purpose: I Occupational Ed Level Three: 30. Articulation No. Placeholder for GE OR (CAN): DOES NOT APPLY 31. Articulation Seq. (CAN): Level Four: If GE : Choose One: 32. Transfer Status: B Transfers to CSU only 13. Instructional Method: LL Lecture/Lab 33. Equates to another course? CIS 20/20L (course number). 14. Lec TLUs: 4.5 Contact Hours: 54.0 Lab TLUs: 3.0 Contact Hours: 54.0 34. The addition of this course will inactive CIS 20L (course number). Inactive at end of Spring 06 term. 15. Prerequisite: CIS-12, CIS-16 Particular Comments for Printed Catalog. . Curriculum Approval Date: October 14, 2005 Course Outline Senate Approved: 09.03.04 8 May 29, 2016