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

Riverside Community College District
Integrated Course Outline of Record

Computer Information Systems 5


COURSE DESCRIPTION

5 Fundamentals of Programming Logic Using C++ Units: 3.00
 
Prerequisite(s): None.

Advisory: CIS 1A
Introduction to the fundamentals of problem definition, algorithm development, and structured programming logic for business, scientific and mathematical applications. The C++ language will be used for programming problems. 54 hours lecture and 18 hours laboratory.
 
SHORT DESCRIPTION FOR CLASS SCHEDULE

Introduction to computer programming for gaming, business, scientific and mathematical applications using C++.
 
ADVISORY ENTRY SKILLS
Before entering the course, students will be able to:

  1. Enroll in CIS-96/97, which 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:

create computer programs in C++ using the principles of structured programming. apply the principles of logical and programming concepts to develop specific solutions for gaming, business, scientific and mathematics problems. identify the information input requirements, synthesize the algorithmic steps needed to transform the data input into the required output information, and organize the output format to facilitate user communication. demonstrate the use of the C++ IDE and libraries. demonstrate the fundamentals of computer programming, problem solving, and software design.
 
COURSE CONTENT

  TOPICS
 

Focus of the course topics is on the fundamentals of programming, problem solving, and software design.  Models of applications from the areas of gaming, business, science and mathematics are presented throughout the course.

  1.  Introduction to C++
    1.  Coverage of topics by instructors should include the components of programs such as key words, variables, operators, and punctuation.  Programming design tools, such as pseudocode, flowcharts, and hierarchy charts are presented. 
    2. Students should be guided through C++ data types, identifiers, variable declarations, constants, comments, program output, simple arithmetic operations, and C-string.  Programming style conventions and good programming style are modeled.  The differences between ANSI standard and pre-standard C++ are explained.  Students learn to write programs that input and handle numeric, character, and C-string data.  The use of arithmetic operators and the creation of mathematical expressions are covered in detail, with emphasis on operator precedence.
  2.  Decision Structures
    1. Relational operators, relational expressions and how to control the flow of a program with the if, if/else, and if/else if statements are explained.  Crucial applications of the conditional operator and the switch statement are covered, such as menu-driven programs and the validation of input. 
  3. . Iteration Structures
    1. Repetition control structures, such as the while loop, do-while loop, and for loop are taught, along with the common uses for these structures.  Counters, accumulators, running totals, sentinels, and other application-related topics are modeled. 
  4.  Functions
    1. Students learn how and why to modularize programs, using both void and value returning functions.  Argument passing is covered, with emphasis on when arguments should be passed by value versus when they need to be passed by reference.  Scope of variables is covered along with a discussion of local versus global variables and static local variables.  Overloaded functions are introduced and demonstrated.
  5. . Arrays
    1. Students are guided through the creation of single and multidimensional arrays.  Examples of array processing are provided including examples illustrating how to find the sum, average, highest and lowest values in an array and how to sum the rows, columns, and all elements of a two-dimensional array.  Programming techniques using parallel arrays are demonstrated and students are shown how to use a data file as an input source to populate an array.  STL vectors are introduced and compared to arrays.  The bubble sort, selection sort, linear search, and binary search algorithms are modeled.
  6.  Pointers
    1.  Students are introduced to pointers.  Pointers are compared to and contrasted with reference variables.  The topics of pointer arithmetic, initialization of pointers, relational comparison of pointers, pointers and arrays, pointers and functions, and dynamic memory allocation are discussed.
  7.  Structured Data
    1. Students are introduced to abstract data types and how to create them using structures, unions, and enumerated data types.  Discussions and examples include using pointer to structures, passing structures to functions, and returning structures from functions.
  8.  File and I/0 Operations
    1. Sequential access, random access, text, and binary file use is modeled.  The various modes for opening files are discussed, as well as the many methods for reading and writing file contents.  Advanced output formatting is also covered.
  9.   Classes
    1. The object-oriented paradigm is introduced.  Member variables and functions are discussed.  The student learns about private and public access specifications, and reasons to use each.  The topics of constructors, overloaded constructors, and destructors are presented.  Modeling classes with UML, and how to define the classes in a particular problem is discussed.

Students are also assigned reading, writing, and other outside assignments equivalent to two hours per one hour lecture.

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

• Presentation of class lectures/discussions/demonstrations in order to clarify computer programming, computer problem solving, and software design concepts.
• Presentation of class lectures/discussions/demonstrations in order to clarify the principles of structured programming.
• Web-based/web-enhanced/online/distance learning tasks/activities to reinforce understanding of concepts related to computer programming skills, computer problem solving, and software design.
• Online and Laboratory activities and application assignments in order to address areas of improvement in computer programming, computer problem solving, and software design.
• Projects in order to facilitate and demonstrate the acquisition of skills required to create computer programs.
• Collaborative projects/cooperative learning tasks in order to encourage students to develop and apply computer programming, computer problem solving, software design, and team work skills.
 
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:

• Computer programs designed to demonstrate the acquisition of computer programming, computer problem solving, and software design concepts and skills.
• Quizzes/examinations designed to measure students’ degree of mastery of fundamental computer programming and software design concepts and terminology.
• Collaborative projects designed to demonstrate successful understanding and application of computer programming, computer problem solving, software design, and team work skills.
• Computer Laboratory assignments/projects designed to clarify students’ individual computer programming, computer problem solving, software design strengths and areas of improvement related to these skills.
• Common final examination designed to evaluate students’ overall achievement of course objectives in computer programming, computer problem solving, and software design concepts.
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:

  • Gaddis, Tony. Staring Out With C++. 5th ed. Pearson Education, 2007.
  • Malik, D.S. . C++ Programming: From Problem Analysis to Program Design . 3rd ed. Thomson, 2007.
  • Deitel, H. M. and P. J. Deitel. C++ How to Program . 5th ed. Prentice Hall, 2005.
  • Savitch, W.. Problem Solving with C++. 7th ed. San Francisco CA : Pearson Addison Wesley, 2008.
08/07
553