CS368 Home Page

CS368: Learning a New Programming Language: C++ for Java Programmers, Fall 2018


  • Lecture: 1132 Noland, W: 12:05 pm - 12:55 pm


  • Michael Doescher
      1346 Computer Sciences

  • Office Hours:
    • Tuesday 4-6 PM
    • and by appointment

Teaching Assistant:

  • Yue Gao
      4241 Computer Sciences

  • Office Hours:
    • TBD
    • and by appointment

Course Announcements:

  • The CS 368 website is under construction for the fall 2018 semester.
  • This section of CS 368 covers C++
  • There is no required textbook for this course.
  • We will be using the Canvas Learning Management System for posting homework assignments and grades.
  • See the Canvas page for the schedule of topics, links to the on-line readings, homework assignments, and code from lecture.
  • Please Notify Michael Doescher within the first two weeks of classes if:
    • You participate in religious observances that may conflict with course requirements.
    • You have a VISA from the McBurney Disabillity Resource Center.

Activate your CS account

Course Description:

CS 368 gives students an introduction to modern C++ programming. The course covers input/output, strings, using containers, iterators, and algorithms from the C++ standard library or Standard Template Library, object oriented programming, memory management, etc. The course is offered Credit/No Credit and may not be taken for a grade.

Prereqs: Successful completion of an introductory programming course or the equivalent. Students are expected to be able to draw upon information from prior (high school) math and science classes.

Learning Objectives:

  • Write C++ programs making use of the abstractions provided by the language
  • Read and understand C++ code
  • Make use of C++11/14 features for writing efficient C++ code
  • Understand the lower level details of memory management like pointers and references


There is no required textbook. The weekly course readings will come from resources available online and will provide information, examples, and exercises regarding implementation in C++.

Recommended Resources:

Course Grading:

Your grade is based on:

  • Attendance : make sure to sign the attendance sheet at each lecture
  • 7 Homework Assignments : homework assignments are due roughly every other week beginning in week 3

Students meeting both of the following requirements will receive 1 credit (i.e., a grade of CR) for the course:

  1. Attendance at at least 12 of the 15 lectures
  2. Cumulative score of 70% or better on the assignments

If a student misses more than 3 lectures, then for each lecture missed (beyond 3), the cumulative score on the assignments required to earn credit for the class is increased by 5 points. For example, if a student attends 10 of the 15 lectures, credit will be given if the cumulative score on the assignments is 80% or better.


Below is an overview of the weekly schedule of topics:

  1. Intro to CS 368 / Getting Started with C++ / Eclipse
  2. Input / Output / Strings / Formatted Output
  3. Types / Constants / Enumerations / Structures / Functions
  4. enum / struct / array / vector / string 
  5. Pointers / Arrays / Dynamic Allocation / Memory Management
  6. Reference Variables
  7. Parameter Passing Modes
  8. Classes / Multi-file compilation 
  9. Copy Constructors / Copy Assignment / Data Pointer Members
  10. Operator Overloading
  11. Inheritance / Exception Handling
  12. Explicit member / non-member function pairs
  13. File I/O
  14. Templates / Containers
  15. Iterators / Generic Algorithms / Function Objects