SRJC Course Outlines

4/25/2024 1:37:17 AMCIS 11 Course Outline as of Fall 2003

Changed Course
CATALOG INFORMATION

Discipline and Nbr:  CIS 11Title:  DATA STRUCT & ALGOR  
Full Title:  Data Structures and Algorithms
Last Reviewed:3/27/2023

UnitsCourse Hours per Week Nbr of WeeksCourse Hours Total
Maximum4.00Lecture Scheduled3.0017.5 max.Lecture Scheduled52.50
Minimum4.00Lab Scheduled017.5 min.Lab Scheduled0
 Contact DHR5.00 Contact DHR87.50
 Contact Total8.00 Contact Total140.00
 
 Non-contact DHR0 Non-contact DHR Total0

 Total Out of Class Hours:  105.00Total Student Learning Hours: 245.00 

Title 5 Category:  AA Degree Applicable
Grading:  Grade Only
Repeatability:  00 - Two Repeats if Grade was D, F, NC, or NP
Also Listed As: 
Formerly: 

Catalog Description:
Untitled document
Intended as a second course for those pursuing computer programming. Topics include software engineering principles, the development of efficient algorithms, the design and selection of appropriate data structures, and an overview of computer science. Numerous programs are written in a suitable high-level language.  Required for the Programmer certificate.  Appropriate for those pursuing a four-year degree in computer science.

Prerequisites/Corequisites:
Course Completion of CIS 10B


Recommended Preparation:
Eligibility for Engl 1A or equivalent.

Limits on Enrollment:

Schedule of Classes Information
Description: Untitled document
Intended as a second course for those pursuing computer programming. Topics include software engineering principles, the development of efficient algorithms, the design & selection of appropriate data structures, & an overview of computer science. Numerous programs are written in a suitable high-level language.
(Grade Only)

Prerequisites:Course Completion of CIS 10B
Recommended:Eligibility for Engl 1A or equivalent.
Limits on Enrollment:
Transfer Credit:CSU;UC.
Repeatability:00 - Two Repeats if Grade was D, F, NC, or NP

ARTICULATION, MAJOR, and CERTIFICATION INFORMATION

Associate Degree:Effective:Inactive:
 Area:
 
CSU GE:Transfer Area Effective:Inactive:
 
IGETC:Transfer Area Effective:Inactive:
 
CSU Transfer:TransferableEffective:Spring 1991Inactive:
 
UC Transfer:TransferableEffective:Spring 1991Inactive:
 
C-ID:
 CID Descriptor: COMP 132 Programming Concepts and Methodology II SRJC Equivalent Course(s): CS10C

Certificate/Major Applicable: Certificate Applicable Course



COURSE CONTENT

Outcomes and Objectives:
At the conclusion of this course, the student should be able to:
Untitled document
Upon completion of the course, students will be able to:
1.  Analyze algorithms for efficiency.
2.  Use data abstraction as a tool for modeling.
3.  Design the system life cycle through software engineering
   principles.
4.  Construct linked lists, pointers, queues, stacks, trees and graphs as
   abstract data types.
5.  Design and construct iterative approaches to algorithm development.
6.  Evaluate a variety of sorting and searching methods for efficiency.
7.  Describe the development of language compilers and operating systems.
8.  Formulate software reliability through formal verification.
9.  Compare the relationship of the halting problem to the quest for
   artificial intelligence.

Topics and Scope
Untitled document
1.  Algorithm Analysis.
     A. Program design.
     B. Big-O analysis.
2.  Data Abstraction.
     A. Science as model building.
     B. Examples of abstract data types.
3.  Software Engineering and the System Life Cycle.
     A. The life cycle and software reliability.
     B. Initial implementation.
     C. Maintenance.
4.  Linked Lists.
     A. Linked lists as Abstract Data Types (ADTs).
     B. Linked lists implemented as arrays.
     C. Pointer variables.
     D. Strings and sparse tables.
5.  Queues.
     A. Characterization and implementation.
     B. Queues as ADTs.
     C. Priority Queues.
6.  Stacks and Recursion.
     A. Stacks as ADTs.
     B. Implementation of stacks.
     C. Stacks and recursion.
7.  Trees and Graphs.
     A. Trees as ADTs.
     B. Implementation of trees.
     C. Graphs and networks.
     D. Heaps.
8.  Analysis of Recursion.
     A. Recursion and generalized nested loops.
     B. Problem solving with backtracking.
     C. Tradeoffs associated with recursion.
9.  Sorting Algorithms.
     A. Shell sort.
     B. Quick sort.
     C. Heap sort.
     D. Merge sort.
10. Search Algorithms.
     A. Serial Search.
     B. Binary Searh.
     C. Hashing.
11. Computer Science.
     A. Language compilers.
     B. Operating systems.
     C. Software reliability and formal verification.
     D. Artificial intelligence.
     E. The halting problem.

Assignments:
Untitled document
1.  Read approximately 40 pages per week from text book.
2.  Prepare hierarchy charts.
3.  Design flowcharts, Chapin charts, pseudocode, or other design tools.
4.  Write computer programs.
5.  Correct errors in programs with multiple runs of test data.
6.  Write documentation for each program so that is is easy to under-
   stand and use.
7.  Take objective exams.

Methods of Evaluation/Basis of Grade.
Writing: Assessment tools that demonstrate writing skill and/or require students to select, organize and explain ideas in writing.Writing
0 - 0%
None
This is a degree applicable course but assessment tools based on writing are not included because problem solving assessments are more appropriate for this course.
Problem solving: Assessment tools, other than exams, that demonstrate competence in computational or non-computational problem solving skills.Problem Solving
20 - 40%
Homework problems, Lab reports
Skill Demonstrations: All skill-based and physical demonstrations used for assessment purposes including skill performance exams.Skill Demonstrations
0 - 0%
None
Exams: All forms of formal testing, other than skill performance exams.Exams
60 - 80%
Multiple choice, True/false, Matching items, Completion, SHORT ANSWER & PROGRAMMING
Other: Includes any assessment tools that do not logically fit into the above categories.Other Category
0 - 0%
None


Representative Textbooks and Materials:
Untitled document
"Data Structures and other Objects Using C++, 2nd Ed", by
Michael Main and Walter Savitch - Addison Wesley Longman 2000

Print PDF