BCC - Spring 2010 Syllabus
Course Name : CIS-62
Course Description:
Igor.Kholodov@bristolcc.edu
Office: K211
Telephone: 508-678-2811 ext. 3328
URL of this file:
http://www.c-jump.com/CIS62/CIS62syllabus.htm
- Welcome!
- ________________________________________________________
- Posted May 24 :
- Please be sure to read carefully and understand
course policies and formats listed in this syllabus.
C++ is a widely used programming language for application development. In this course, the students learn a language that has many practical uses in the real world. The course introduces C++ syntax and functions not found in the traditional C. The fundamental concepts of the object oriented paradigm are introduced and object oriented programming is stressed in place of traditional structured programming. Object arrays, pointers to objects, and linked lists of objects are the focus of the class. Three class hours a week.
This course is designed to enable C programmers to become proficient in C++. Topics include class definitions, overloading functions and operators, access control, single and multiple inheritance, virtual functions and abstract classes, templates, exceptions, and the standard template library. Useful applications such as smart pointers and reference counting are also discussed. Prerequisites: a working knowledge of C, including structures and pointers, is assumed; substantial experience in C is preferred.
At the completion of the course, the students will understand the concepts and be able to write basic C++ programs that make use of the following:
Prerequisite: CIS-60 or permission of the instructor.
January
Presentation: Classes, objects, members, enumerations, and OOP concepts (also in one file)
Handout: quick overview of Object Oriented Programming in C++.
Assignment 1: Refresh your memory on the following topics:
Feb 1 - 15
Encapsulation, struct, access specifiers, scope management, function overloading, and friends.
Assignment: Project 1/Part 1,
Stack of integers
Assignment discussion and sample code: IntStack Sample, IntStack_4_beginners.
Feb 16 - 28
Constructors, destructors, new, delete, references.
Assignment: Project 1/Part 2, Dynamic stack of integers
Mar 1 - 15
Constructor initializer lists and const qualifiers
Mar 16 - 31
std::string
Apr 1 - 15
Substring assignment review
Midterm Assignment: Project 2/Part
1, The substring class
Apr 15 - 30
Linked Data Structures
Assignment: Project 1/Part 3,
Dynamic stack of integers using linked list
May 1 - 15
Operator overloading, conversion constructors, conversion operators.
Assignment: Project 3, Circularly-linked list (***cancelled).
May 1 - 15
Inheritance.
Final Project Assignment:
Project 2/Part 2, Overloaded substring operators
Self-study
Namespaces.
C++ Templates. Template classes and functions.
Self-study
C++ Standard Library containers, iterators, and algorithms,.
Exception handling.
Self-study
Object-oriented design.
Other useful topics and recommended reading:
New CIS-62 textbook: Problem Solving with C++, by Walter Savitch Publisher: Addison-Wesley Seventh Edition, Copyright 2009 Publishing Date: 2008/02/20 ISBN-10: 0-321-53134-5 ISBN-13: 978-0-321-53134-6 Online resources: Better text book. New teaching style. Includes educational Video Notes. |
Old CIS-62 textbook (some of you already may have a copy.) C++ How to Program by Deitel and Deitel Fifth Edition 2005 Prentice Hall Publishing Co. ISBN# 0-13-185757-6 This classic text book was used at BCC for years, and many people already have a copy. However, later editions became overloaded with reference-like chapters, and got harder for beginners. (Not recommended for new students.) |
The texts were ordered and should be available in the bookstore. We will have a discussion in class about these and other books on the subject.
Be sure to do the required reading and assignments before attending the class. You will be more successful entering into discussion with some understanding of the material before hand.
There will be a few project assignments to be completed at home.
In addition, there will be a one midterm and one final project.
A final project will be given at the end of the course.
97 - 100 | A+ |
94 - 96 | A |
90 - 93 | A- |
87 - 89 | B+ |
84 - 86 | B |
80 - 83 | B- |
77 - 79 | C+ |
74 - 76 | C |
70 - 73 | C- |
60 - 69 | D |
Below 60 | F |
The lecture will be the principal teaching method that will be used in this course. Software demos and slides will also be used. "Handouts" and sample programs will be available on the class web page.
Although the instructor reserves the right to withdraw you from class after 6 absences, it is your responsibility to withdraw formally from the class prior to the final withdrawal date. Failure to do so will result in an F grade for the course.
Office Hours are posted on the Office Hour Web Page, and are for the those students that have a short question or problem that they would like to discuss with the instructor. If you need some help with a serious debugging problem or if you need some one-on-one tutoring help to get caught up with the class, please make an appointment with the instructor. Half hour time slots are available for that purpose.
Note: This syllabus is a suggested course outline and will be generally followed, subject to change according to the instructor's discretion and needs. Academic flexibility is important.