Effective Term:  Subject Area Course Number: compsci 222 Cross-listing: N/A



Download 38.8 Kb.
Date31.01.2017
Size38.8 Kb.
#14218
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.

Course Description


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.)


  1. Stephen Prata. 2004. C++ Primer Plus (5th Edition). Sams; 5 edition

  2. David Conger, Ron Little. 2006. Creating Games in C++. Pearson

  3. Nell Dale, Chip Weems. 2005. Programming in C++. Jones and Bartlett. 3rd edition

  4. Paul J. Deitel. 2007. C++ How to Program, Sixth Edition. Prentice Hall

  5. Bruce Eckel. 2003, Thinking in C++ (Volumes 1 and 2). Prentice Hall

  6. 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 of




Download 38.8 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page