CSCI 2490 C++ Programming
Current Catalog Description
Coverage of C++ programming techniques: procedural programming with functions, writing and using libraries, pointers and arrays, OOP, I/O stream hierarchy, and STLTextbook
Y. Daniel Liang, “Introduction to C++ Programming,” Prentice Hall, October 2006Course Goals
The goal of this course is to teach problem solving and program development using C++. After completing the course, students will be able to develop C++ using an IDE and on Unix, know the differences between C++ and Java, and be proficient in C++.Prerequisites by Topic
CSCI 2410 Data Structures and AlgorithmsTime Allocation Guidelines for Major Topics
*Topics are not necessarily covered in this order
Basics of procedural programming (4 hours)
Programming with functions, parameter passing 1Loops, conditionals, basic I/O (console and file) 1
Variables (global/static), constants, typedefs, macros, namespaces 2
Writing and using libraries (3 hours)
Include files, declarations and definitions 1Creating and using static libraries 1
Creating and using dynamic libraries 1
Pointers (6 hours)
Pointers, addresses, and references to primitive types 1
Pointer use (linked lists, etc.), new/delete operators 2
Single-dimensional arrays and pointers, pointer arithmetic 1
Multi-dimensional arrays, allocation, performance issues 1
Pointers to functions 1
OOP (11 hours)Overview of classes and objects 1
Constructors (default, copy, conversion), destructors 2
Operator overloading, friends, ‘this’ pointer 3
Single inheritance, effect on constructors/destructors 1
Multiple inheritance 1
Polymorphism (virtual methods, constructors/destructors) 2
Polymorphism and binding, pointers, run-time type identification 1
Exception handling 2
Templates and STL (6 hours)
Function templates and their application 1
Class templates and their application 2
Collectors and iterators 1
Overview and use of STL classes 2
I/O streams (6 hours)
Overview of the C++ stream hierarchy 1
Using text streams, formatting, flags 2
Using binary streams 2
Overloading stream operators 1
Tests and reviews (7 hours)
Total = 45 hours
Evaluation Schemes
Programming Projects / 20% (Due dates will be announced in the class.)Three or Four Exams / 50%
Final Exam / 30%