COURSE DESCRIPTION

 

Department and Course Number

CS 304

Course Coordinator

Barrett Bryant

 

Course Title

Object-Oriented Programming in C++

Total Credits

1

 

Current Catalog Description 

Syntax, semantics and concepts of C++ programming, templates, parameterized classes, generic programming, standard template library.

 

Textbooks

C++: How to Program, by Harvey M. Deitel and Paul J. Deitel, 4th ed., Prentice Hall, 2003.

 

References

None 

 

Course Goals 

The goal of this class is for students to become proficient in programming in C++.

 

Prerequisites by Topic

Object-Oriented Design

 

Major Topics Covered in the Course

Data Types and Control-Flow Structures; Functions; Pointers and Strings; Classes and Data Abstraction; Operator Overloading; Object-Oriented Programming; Templates; Stream Input/Output; Standard Template Library

 

Laboratory projects (specify number of weeks on each)

Programming using Data Types and Control-Flow Structures (1 week)

Programming using Functions (1 week)

Programming using Pointers and Strings (2 weeks)

Programming using Classes and Data Abstraction (4 weeks)

Programming using Operator Overloading (1 week)

Object-Oriented Programming (1 week)

Programming using Templates (2 weeks)

Programming using Stream Input/Output (1 week)

Programming using the Standard Template Library (1 week)

 

 

 

 

 

 

    

Estimate CSAB Category Content

 

 

CORE

 

ADVANCED

 

 

CORE

 

ADVANCED

 

 

Data Structures

2

 

0

 

 

Computer Organization and Architecture

0

 

0

 

Algorithms Software Design

6

 

0

 

 

Concepts of Programming Languages

5

 

0

    

Oral and Written Communications

 

Every student is required to submit at least 0 written reports (not including exams, tests, quizzes, or commented programs) of typically 0 pages and to make 0 oral presentations of typically 0 minutes duration.  Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy.

 

Social and Ethical Issues

 

Topics that address the social and ethical implications of computing are not covered in any course sections. 

 

Theoretical Content

 

No theoretical material is covered.

 

Problem Analysis

 

All course sections contain a significant number of programming assignments which require analysis of the problem to be solved.

 

Solution Design

 

All course sections contain a significant number of programming assignments which require software design to solve the assigned problem.