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 2017

I. Catalog Information

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

 

Formerly:

Requisites: (Students may receive credit for either (CIS 22A and CIS 22B/22BH) or CIS 27.)

Advisory: EWRT 211 and READ 211 (or LART 211), or ESL 272 and 273; MATH 114 or equivalent.

Repeatability:

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

Description: The fundamental constructs of programming and introduces the concept of object oriented programming is covered in the course. 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.
L.Implement STL vectors

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
L.Implement STL vectors
1.Define and initialize vector
2.Process contents of vector using vector member functions

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.Completion of programming assignments evaluated on use of structured design principles, documentation programming style, efficiency, and correctness of output.
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. Code is evaluated on correctness.
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. Code is evaluated on correctness.

IX. Texts and Supporting References

A.Examples of Primary Texts and References
1.Tony Gaddis Standard Version of Starting Out With C++ from Control Structures through Objects(8th Edition) Pearson, 2014 ISBN-13: 978-0133769395 ISBN-10: 0133769399
2.Savitch, Walter: Problem Solving with C++ (9th Edition). Pearson, 2014 ISBN-13: 978-0133862218 ISBN-10: 0133862216
3.Deitel, H.M. & Deitel, P.J. (2016). C++ : How to Program (paper) (10th ed.). Deitel & Associates, Inc. ISBN-13: 978-0134448237 ISBN-10: 0134448235
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: 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.