University of Wisconsin-Whitewater
Curriculum Proposal Form #3
New Course
Effective Term:
2107 (Fall 2010)
Subject Area - Course Number: COMPSCI 174
Cross-listing: N/A
(See Note #1 below)
Course Title: (Limited to 65 characters)
Introduction to C++
25-Character Abbreviation:
Introduction to C++
Sponsor(s):
Dr. Hien Nguyen, Dr. Robert Horton.
Department(s):
Mathematical and Computer Sciences
College(s):
Letters and Sciences
Consultation took place:
NA
Programs Affected:
Yes (list departments and attach consultation sheet)
Departments: Multimedia Digital Arts. MCS
NA
Is paperwork complete for those programs? (Use "Form 2" for Catalog & Academic Report updates)
NA
Yes
Prerequisites:
will be at future meeting
MATH 143 or MATH 152 or waiver into Calculus
Grade Basis:
Conventional Letter
S/NC or Pass/Fail
Course will be offered:
Part of Load
On Campus
Above Load
Off Campus - Location
College:
Letters and Sciences
Dept/Area(s): Math. and Computer Sciences
Instructor:
Dr. Robert Horton, Dr. Hien Nguyen
Note: If the course is dual-listed, instructor must be a member of Grad Faculty.
Check if the Course is to Meet Any of the Following:
Computer Requirement
Diversity
Writing Requirement
General Education Option: Select one:
Note: For the Gen Ed option, the proposal should address how this course relates to specific core courses, meets the goals of General Education
in providing breadth, and incorporates scholarship in the appropriate field relating to women and gender.
Credit/Contact Hours: (per semester)
Total lab hours:
Number of credits:
0
3
Total lecture hours:
Total contact hours:
45
45
Can course be taken more than once for credit? (Repeatability)
No
Yes
If "Yes", answer the following questions:
No of times in major:
No of times in degree:
Revised 10/02
No of credits in major:
No of credits in degree:
1 of 6
Proposal Information: (Procedures can be found at
http://acadaff.uww.edu/Handbook/Procedures-Form3.htm)
Course justification: This course is the first of a sequence of three required C++ programming
courses for the Technology thread in the Multimedia Art and Game Development major being
developed in collaboration with the College of Arts and Communications. This course is also
very valuable for students in the Management Computer Systems program and the Computer
Science minor to broaden their views in core areas of computer science by exposing them to
additional programming languages and development environments.
Relationship to program assessment objectives:
The Assessment Committee in the Department of Mathematical and Computer Sciences has
identified 5 universal objectives that address cognitive processes involved in learning math and
computing topics. They are Analytical Reasoning, Conceptual/Foundational Understanding,
Pattern Recognition, Problem Solving, and Synthesis. Adding the course “Introduction to C++”
will help strengthen four of these assessment objectives. Specifically,
(1) Conceptual/Foundational Understanding - students will have a chance to strengthen their
skills in an object-oriented programming language by understanding and applying foundational
concepts of C++ to the design and implementation of appropriate real world problems.
(2) Pattern Recognition - this course also provides students with many examples of basic
processes and data structures such as inputs/outputs, control structures, arrays, and structs. The
understanding of these processes will enhance the students’ ability to recognize when a particular
process or data structure is appropriate.
(3) Problem solving - is emphasized throughout the course starting with simple applications and
progressing to medium-size applications.
(4) Synthesis - this course brings conceptual understanding and specific implementation skills
together in developing applications.
Budgetary impact:
Staffing: Many members of the current Computer Science staff have the expertise necessary to
staff this course. Presently, the decline in enrollment of some lower level computer science
courses allows the department to be able to provide staff needed for this course. It is anticipated
that Dr. Robert Horton and Dr. Hien Nguyen will initially be the instructors.
Academic unit library and service & supply budget:
It is not anticipated that this course will affect the department’s service & supply or library
budget.
Impact on campus instructional resource units: This course will likely enter into the rotation
with existing lower level courses in Computer Sciences. If the proposal of the Multimedia Art
and Game Development major is approved, this course will serve as one of the core courses in
the technology thread for this major. New computer offerings in the College of Business and
Economics have reduced demand for some of the computer science service offerings, thus
creating the scheduling flexibility to be able to offer this new course. Additional instructional
resource units will be required if multiple sections of this course are needed. Some Computer
Science minors may choose to take COMPSCI 174 rather than COMPSCI 172 reducing the
number of sections of COMPSCI 172.
Laboratory facilities: adequate lecture space is available. This course can be taught in any lab
rooms such as McGraw 115 or Hyer 210.
Revised 10/02
2 of 6
Course description:
This course teaches basic programming skills using the structured high-level language C++.
Topics include basic input and output, declaration and use of variables, use of control statements,
implementation of functions using value and reference parameters, arrays, and structures.
Students will write moderately complex applications using C++.
Course objectives and tentative course syllabus:
Course information, objectives, weekly description, grade information (page 4-5), and
bibliography (page 6).
Revised 10/02
3 of 6
COMPSCI 174: Introduction to C++
Required Texts:
“C++ How to Program, Sixth Edition” by Paul J. Deitel.
Course Description
This course seeks to teach its students basic programming skills using a structured high-level
This course seeks to teach its students basic programming skills using a structured high-level
language. Specifically, the basic topics such as basic input and output, declare and use variables,
use of control statements, implement functions using values and reference parameters, arrays,
structures. Students will write moderately complex applications using C++.
Prerequisite: MATH 143 or MATH 152 or qualify to a calculus class.
Course Objectives
1
Given a simple real-world problem, students will be able to develop C++ programs
to gather input data, solve the problem using fundamental control structures and data
structures such as arrays and structs, and display results.
2
Given a real world problem, students will be able to develop a multiple function C++
program solution.
Tentative Course Schedule
WEEK
READINGS
Assignment Description
Project/Exams
Syllabus, Class Introduction, Computer
Basics
1
2
Chapter 1
Algorithm, flowchart, pseudo code.
Fundamentals of C++
3
Chapter 2
Modifying Variables, Control Structures
Lab 2
4
Chapter 2
Control Structures (continue)
Lab 3
5
Chapter 3
Function Basics
Project 1 due
Lab 4
6
Chapter 3
Variable Scoping & Functions
Lab 5
Project 2 given
7
Chapter 3
Iterative Constructs
Lab 6
8
Review of
Chapters 1, 2
and 3.
Midterm 1
Revised 10/02
4 of 6
Lab 1
Project 1 given
9
Modular Programming
Lab 7
Project 2 due
10
Chapter 4
Arrays
Lab 8
11
Chapter 4
Arrays
Lab 9
Project 3 given
12
Chapter 5
Pointers & Strings
Lab 9
13
Chapter 5
Pointers & Strings
Lab 10
14
Chapter 6
Structs
Lab 11
15
Chapter 6
Structs
Lab 12
Project 3 due
16
Review of
Chapters 1-6
Final exam
Grading Policy
GRADABLE
Percentage
3 Projects
45%
12 Labs
12%
Midterm exam
18%
Final exam
25%
Total
100%
Letter
Grade
Percentage
Letter
Grade
Percentage
A
94 to 100%
A-
90 to 93%
B+
87 to 89%
B
84 to 86%
B-
80 to 83%
C+
77 to 79%
C
74 to 76%
C-
70 to 73%
D+
67 to 69%
D
64 to 66%
D-
60 to 63%
F
Less than 60%
Technology requirement
Microsoft Visual C++ (for Windows users) OR GNU C++ (for LINUX users)
Revised 10/02
5 of 6
Bibliography: (Key or essential references only. Normally the bibliography should be no more
than one or two pages in length.)
1.
2.
3.
4.
5.
6.
Stephen Prata. 2004. C++ Primer Plus (5th Edition). Sams; 5 edition
David Conger, Ron Little. 2006. Creating Games in C++. Pearson
Nell Dale, Chip Weems. 2005. Programming in C++. Jones and Bartlett. 3rd edition
Paul J. Deitel. 2007. C++ How to Program, Sixth Edition. Prentice Hall
Bruce Eckel. 2003, Thinking in C++ (Volumes 1 and 2). Prentice Hall
Frank L. Friedman, Elliot B. Koffman. 2000. Problem Solving, Abstraction and Design
Using C++. Addison-Wesley, 3rd edition
7. Tony Gaddis. 2010. Starting Out with Games and Graphics in C++. Addison-Wesley
8. Y. D. Liang. 2007. Introduction to C++ Programming (Comprehensive Edition). Pearson
Prentice Hall.
9. Ray Lischner.2003. C++ in a Nutshell. O'Reilly Media, Inc.; 1st edition
10. Jo Ellen Perry, Harold D. Levin. 1996. An Introduction to Object-Oriented Design in
C++. Addison-Wesley
11. Walter Savitch.2008. Absolute C++. Addison-Wesley. 3rd edition
Notes:
1. Contact the Registrar's Office (x1570) for available course numbers. A list of subject areas can be found at
http://acadaff.uww.edu\Handbook\SubjectAreas.htm
2. The 15 and 25 character abbreviations may be edited for consistency and clarity.
3. Please submit electronically when approved at the college level - signature sheet to follow in hard copy.
Revised 10/02
6 of 6