University of Wisconsin-Whitewater
Curriculum Proposal Form #3
New Course
Effective Term:
Subject Area - Course Number: COMPSCI 222 Cross-listing: N/A
(See Note #1 below)
Course Title: (Limited to 65 characters) Intermediate C++
25-Character Abbreviation: Intermediate C++
Sponsor(s): Dr. Hien Nguyen, Dr. Robert Horton.
Department(s): Mathematical and Computer Sciences
College(s):
Consultation took place: NA Yes (list departments and attach consultation sheet)
Departments: Multimedia Digital Arts, MCS
Programs Affected: NA
Is paperwork complete for those programs? (Use "Form 2" for Catalog & Academic Report updates)
NA Yes will be at future meeting
Prerequisites: COMPSCI 174
Grade Basis: Conventional Letter S/NC or Pass/Fail
Course will be offered: Part of Load Above Load
On Campus Off Campus - Location
College: 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 Writing Requirement
Diversity General Education Option:
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: 0 Total lecture hours: 45
Number of credits: 3 Total contact hours: 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 credits in major:
No of times in degree: No of credits in degree:
Proposal Information: (Procedures can be found at http://acadaff.uww.edu/Handbook/Procedures-Form3.htm)
Course justification: This course is the second in a three course C++ sequence required 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 “Intermediate C++” will help strengthen all five of these assessment objectives. Specifically,
(1) Analytical Reasoning – students will analyze requirement of several real world problems and decide the algorithms to solve them using object-oriented programming principles.
(2) 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.
(3) 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.
(4) Problem solving - is emphasized throughout the course starting with simple application and progressing to medium-size applications.
(5) 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.
Laboratory facilities: Adequate lecture space is available. This course can be taught in any computer lab classroom such as McGraw 115 or Hyer 210.
Course description:
This course will cover more advanced issues of C++, including memory management, pointers and user-defined data types. Topics will include reading and writing files, dynamic arrays, implementation of the principles of object oriented design including encapsulation, and inheritance, planning and testing. Students will write complex applications using C++.
Course objectives and tentative course syllabus:
Course information, objectives, weekly description and grade information (page 4-5), and bibliography (page 6).
COMPSCI 222: Intermediate C++
Required Texts:
“C++ How to Program, Sixth Edition” by Paul J. Deitel.
This course will cover more advanced issues of C++, including memory management, pointers and user-defined data types. Specifically, the basic topics are read/write from/to files, use dynamic arrays, implement the principles of object oriented design including encapsulation, and inheritance, plan and conduct testing. Students will write complex applications using C++.
Prerequisite: COMPSCI 174
Course Objectives
1
|
Given a description of a real-world problem, students will be able to design and implement C++ application using C++ classes, structures, I/O to solve this problem.
|
2
|
Students will be able to skillfully employ features of object-oriented programming such as encapsulation, inheritance, and polymorphism that promote code reuse and coding at a high level of abstraction in the development of a software system to solve a real-world problem.
|
Tentative Course Schedule
WEEK
|
READINGS Assignment
|
Description
|
1
|
|
C++ review: variables, types; functions. Arrays; structures
|
2
|
Chapter 11
|
Streams and File I/O; string streams
|
3
|
Chapter 14
|
Strings and C-strings; Vectors and Streams
|
4
|
Chapter 7
|
Writing Classes and ADT’s
|
5
|
|
Pointers and Dynamic Arrays
|
6
|
Chapter 8
|
Friends and Operator Overloading
|
7
|
|
Arrays and Classes; Classesd and Dynamic Arrays
|
8
|
Review
|
Midterm
|
9
|
|
Separate compilation, #ifndef, Make, Namespaces
|
10
|
|
Testing
|
11
|
Chapter 9
|
Inheritance
|
12
|
Chapter 10
|
Virtual Functions and Polymorphism
|
13
|
Chapter 12
|
Templates
|
14
|
Chapter 13
|
Exception Handling
|
15
|
|
Advanced Topics
|
16
|
Review
|
Final exam
|
Grading Policy
GRADABLE
|
Percentage
|
5 Projects
|
45%
|
10 Labs
|
10%
|
Midterm exam
|
20%
|
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)
Bibliography: (Key or essential references only. Normally the bibliography should be no more than one or two pages in length.)
-
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
-
Tony Gaddis. 2010. Starting Out with Games and Graphics in C++. Addison-Wesley
-
Y. D. Liang. 2007. Introduction to C++ Programming (Comprehensive Edition). Pearson Prentice Hall.
-
Ray Lischner.2003. C++ in a Nutshell. O'Reilly Media, Inc.; 1st edition
-
Jo Ellen Perry, Harold D. Levin. 1996. An Introduction to Object-Oriented Design in C++. Addison-Wesley
-
Walter Savitch.2008. Absolute C++. Addison-Wesley. 3rd edition
Notes:
-
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
-
The 15 and 25 character abbreviations may be edited for consistency and clarity.
-
Please submit electronically when approved at the college level - signature sheet to follow in hard copy.
Share with your friends: |