De Anza logo Course Outlines

Public Search

 
 
Close Window/Tab
PRINT VIEW -- Opens in new, second window. Use browser controls to close when finished.
Credit- Degree applicable
Effective Quarter: Fall 2014

I. Catalog Information

CIS 22A
Beginning Programming Methodologies in C++
4.5 Unit(s)

 

Formerly: (Formerly Computer Information Systems 71A.)

Requisites: (Students may receive credit for either Computer Information Systems (22A and 22B) or 27, but not both.)

Advisory: English Writing 211 and Reading 211 (or Language Arts 211), or English as a Second Language 272 and 273; Mathematics 114 or equivalent.

Repeatability:

Hours: Four hours lecture, one and one-half hours laboratory (66 hours total per quarter).

Description: An introduction to computer programming. Its primary objective is to teach problem solving using the C++ programming language. Emphasis will be placed on structured procedural programming with an introduction to object-oriented programming. Designed primarily for computer science and related transfer majors.


Student Learning Outcome Statements (SLO)

 

• Student Learning Outcome: Design solutions for introductory level problems using appropriate design methodology incorporating elementary programming constructs.


 

• Student Learning Outcome: Create algorithms, code, document, debug, and test introductory level C++ programs.


 

• Student Learning Outcome: Read, analyze and explain introductory level C++ programs.


II. Course Objectives

A.Illustrate the difference between procedural and object oriented programming.
B.Demonstrate the software life-cycle steps including design, development, styles, documentation, testing, and maintenance in the creation of program.
C.Use the C++ environment in the development and testing of programs.
D.Illustrate declaring identifiers of different data types.
E.Use data types to declare variables in C++ programs.
F.Apply input and output functions to read data using keyboard and output to screen.
G.Use expressions, statements and operators to construct program building blocks that compute values.
H.Apply control structures to break up flow of program execution and conditionally execute blocks of code.
I.Apply the techniques of structured decomposition through implementation of functions/methods to separate C++ program into simple and interactive modules.
J.Develop programs using functions that enable input and output with text files.
K.Demonstrate usage of arrays to process variety of data problems.

III. Essential Student Materials

 None

IV. Essential College Facilities

 Access to a computer laboratory with C++ compilers available

V. Expanded Description: Content and Form

A.Illustrate the difference between procedural and object oriented programming.
1.History of Programming Languages
a.C++ compared to prior languages
b.Compiled vs. interpreted languages
2.Compare and contrast procedural versus object oriented programming languages.
3.Principles of object-oriented analysis and design.
B.Demonstrate the software life-cycle steps including design, development, styles, documentation, testing, and maintenance in the creation of program.
1.Flowcharts
2.Pseudocode
3.Documentation
4.Software Development Life Cycle
5.Coding conventions
6.Principles of testing and designing test data
C.Use the C++ environment in the development and testing of programs.
1.#include directive
2.Parts of a C++ program
D.Illustrate declaring identifiers of different data types.
1.Constants
2.Variables
3.Class names
E.Use data types to declare variables in C++ programs.
1.Primitive types
a.Integral
b.Floating point
c.Boolean
d.void
2.Classes
3.Declaring variables
4.Data representation in memory
5.Scope of variables
6.String class
F.Apply input and output functions to read data using keyboard and output to screen.
1.‘cin’ object
2.‘cout’ object
G.Use expressions, statements and operators to construct program building blocks that compute values.
1.Arithmetic operators
2.Mathematical library functions
H.Apply control structures to break up flow of program execution and conditionally execute blocks of code.
1.Relational operators
2.Logical operators
3.The 'if' statement
4.Flags
5.Expanding the 'if' with 'else' and 'else if'
6.Comparing strings
7.The 'switch' statement
8.Loops
a.while loop
b.do while loop
c.for loop
I.Apply the techniques of structured decomposition through implementation of functions/methods to separate C++ program into simple and interactive modules.
1.Passing arguments to parameters
2.Pass by value
3.Pass by reference
4.Software engineering: modular programming
5.Overload function names
J.Develop programs using functions that enable input and output with text files.
1.Output to a file
2.Input from a file
K.Demonstrate usage of arrays to process variety of data problems.
1.One-dimensional arrays
a.Accessing array elements
b.Initialization
c.Processing array contents
2.Sequential search
3.Selection sort

VI. Assignments

A.Reading: Required reading from the text
B.Programs: 8-12 programming homework assignments pertaining to the topics listed in X as Lab Topics, including several of more than 200 lines and several which use 5 or more functions.

VII. Methods of Instruction

 Lecture and visual aids
Discussion of assigned reading
Discussion and problem solving performed in class
Quiz and examination review performed in class
Homework and extended projects
Collaborative learning and small group exercises
Collaborative projects
On-line tutorial
Class presentations

VIII. Methods of Evaluating Objectives

A.Evaluation of programming assignments for correctness, use of structured design principles, documentation and efficiency
B.One or more examinations requiring some programming demonstrating ability to develop an algorithm and/or write code using specific programming constructs presented in the course.
C.In-class lab problems, group collaborative problems, exam questions and/or online assignments or tutorials demonstrating the ability to read and analyze code through debugging and/or writing snippets of code.
D.A final examination requiring some programming demonstrating ability to develop an algorithm and/or write code using specific programming constructs presented in the course.

IX. Texts and Supporting References

A.Examples of Primary Texts and References
1.Gaddis, Tony Standard Version of Starting Out With C++ from Control Structures through Objects(7th Edition) Addison Wesley, 2012 ISBN: 0-13-257625-2
2.Savitch, Walter: Problem Solving with C++ (7th Edition). Addison Wesley, 2009 ISBN: 0-32-153134-5
3.Deitel, H.M. & Deitel, P.J. (2010). C++ : How to Program (paper) (7th ed.). Deitel & Associates, Inc. ISBN: 0-13-611726-0
B.Examples of Supporting Texts and References
1.Ellis, Margaret & Stroustrup, Bjarne, The Annotated C++ Reference Manual, Addison Wesley, 1990.

X. Lab Topics

A.Debug code and output results of execution.
B.Write and/or debug code with input from keyboard and output to monitor.
C.Write and/or debug code implementing arithmetic expressions.
D.Write and/or debug code employing decision concepts and selections statements.
E.Write and/or debug code employing repetition concepts and for, while and do while loop structures.
F.Write and/or debug code implementing functions.
G.Write and/or debug code implementing file I/O.
H.Write and/or debug code implementing one-dimensional arrays.