Discipline: Computer Information Systems Degree Credit  [X]
Non Credit  [ ]
Nondegree Credit  [ ]
Comm Service  [ ]
 

Riverside Community College District
Integrated Course Outline of Record

Computer Information Systems 18C


COURSE DESCRIPTION

18C Java Programming: Data Structures Units: 3.00
 
Prerequisite(s): None.

Advisory: CIS 18A Previous Java programming experience , CIS 96 concurrent enrollment or CIS 97
This course is designed to be an advanced Java programming course for students familiar with object-oriented programming and database concepts. The major emphasis will be related to concepts of storing and retrieving data efficiently, which are the essential principles, and practices of data structures. 54 hours lecture and 18 hours laboratory.
 
SHORT DESCRIPTION FOR CLASS SCHEDULE

This course presents the essential principles of data structures for the development of computer programs using Java.
 
ADVISORY ENTRY SKILLS
Before entering the course, students will be able to:

  1. Utilize values and/or references from primitive types as well as Abstract Data Types “ADT’s”.

  2. Create, compile, and execute JAVA programs from the command line or utilize an Integrated Development Environment (IDE) for program development.

  3. Devise algorithmic solutions to basic business applications using the concepts associated with top-down, data, and object design approaches.

  4. Implement JAVA code that conforms to standard programming practices.

  5. Utilize Object Oriented Programming (OOP) techniques such as inheritance and abstraction to demonstrate polymorphic behavior.

  6. CIS-96/97 are self-paced, competency-based, skill development computer labs. They provide the computer practice times to master the skills taught in the lecture classes. There is one-on-one instructor assistance available with additional help provided by student aides. Basically, the skills that are presented in the lecture classes have to be practiced to be mastered and that is the purpose of CIS-96/97.

STUDENT LEARNING OUTCOMES
Upon successful completion of the course, students should be able to:

1.   Develop data storage techniques for efficient manipulation and
      retrieval of data.

2.   Analyze resources associated with storage and computational
      complexity.

3.   Implement abstract data types.

4.   Compare data structure types and apply to theoretical business,
      scientific and mathematical problems.

5.   Design algorithms using data structure concepts.

 
COURSE CONTENT

  TOPICS
 

1.   Elementary Sorting Techniques
2.   Stacks and queues
3.   Linked Lists
4.   Recursion
5.   Advanced Sorting
6.   Binary Trees
7.   Hash Tables
8.   Heaps
9.   Graphs and Weighted Graphs
10. Storage Management
11. Algorithms

 
METHODS OF INSTRUCTION
Methods of instruction used to achieve student learning outcomes may include, but are not limited to:

  • Class lectures/discussions/demonstrations to develop effective data structure for storage and retrieval of data
  • Videos/films/slides/audio tapes to analyze and select the appropriate data storage technique
  • Pair and small group activities/discussion to program data structures comparing to business/scientific/mathematical in effect
  • Class exercises of programming code to design algorithms using the appropriate data structure
  • Reports and papers to develop a sense of what others are doing in this field
  • Handouts to assist the student in developing good code
  • Cooperative learning tasks to look at student code compared to professionally written code to assess technique
  • Individual conferences of one-on-one assistance in resolving programming issues
  • Guest lecturers
  • Distance Education: Online, Hybrid, and Web Enhanced
 
METHODS OF EVALUATION
Students will be evaluated for progress in and/or mastery of learning outcomes by methods of evaluation which may include, but are not limited to:

  • Oral presentations of their design algorithms within a classroom setting so that others can assist and point out improvements
  • Programming assignments to develop the methods and techniques of where to use what data structure
  • Quizzes/examinations to assess the students mastery of the ideas surrounding data structures
  • Class and individual projects to develop the expertise to write good data structure code
  • Final examination designed to test the students mastery of the essential concepts of data structures, especially which data structure is appropriate to each case and then the proper coding of this structure
ASSIGNMENTS

Required Reading Assignments


Required Writing Assignments


Other Outside-of-Class Assignments

 
COURSE MATERIALS
All materials used in this course will be periodically reviewed to ensure that they are appropriate for college level instruction. Possible texts include:

  • Goodrich, Michael, and Roberto Tamassia. Data Structures & Algorithms in Java. 4th ed. New York: Wiley & Sons, 2005.
08/07
520