CIS 254 Computer Programming II
Course
Syllabus
Instructor: Dr. Roman Erenshteyn
Office:
CIS Faculty Suite,
Phone: (302)
225-6315
E-mail: roman@gbc.edu
Homepage:
http://goldey.gbc.edu/~roman/
Office
Hours:
as
posted & by appointment
Tutorial
Hours: by appointment
Course
Description
This course expands students' knowledge and develops their programming skills
in C/C++ in
relation with business and other applications. The course is the second
computer-programming
course in a sequence and creates an understanding of object-oriented
programming. Students
will be introduced to main C++ concepts, including classes, constructors and
destructors,
pointers, inheritance, polymorphism, function templates and standard template
library. Students
also will be introduced to elementary data structures, such as, lists and
algorithms on lists.
In
order to complete this course successfully, students should be prepared to
spend a
minimum of five
hours per week in the computer lab in addition to regular class attendance
and active in-class participation. Remember, nobody learned how to
program just from lectures!
Prerequisite
CIS 253 – Programming Logic and Design with grade not less than C-.
Textbook
Required
Texts Joyce
Farrell, Object-Oriented Programming Using C++,
Third Edition, Thomson – Course
Technology, 2007
Microsoft Visual
Studio 2005 or Microsoft Visual C++ 2005 Express Edition are recommended for
this course. They are installed in Computer Lab. Express Edition can be also
downloaded for free
from Microsoft website.
Materials
Media:
All home works will be posted on BlackBoard's
Assignment Section and should be submitted
using this section
Topics
Covered
The following is a list of tentative subjects for this course in no particular
order, which may be
changed without notice at any time at the instructor's sole discretion.
Students should reference
the lecture outlines on the course web page for weekly lecture outlines, and
reading and other
assignments.
Object-Oriented Programming
A. Encapsulation
B. Abstract Data Types
C. Client/Server Model
D. Inheritance and Polymorphism
Classes and Objects
A. Class Declarations.
B. Object Definitions
C. Class Scope
D. Class Methods
E. Constructors and Destructor
F. Class Libraries
G. Applications.
Manipulating Objects
A. Dynamic Memory Allocation
B. Concept of Pointers
C. Strings
D. Pointers to Objects
E. Pointers and Arrays.
F. Pointer Arithmetic
G. Call-by-Reference vs Call-by-Value
H. Applications.
Dynamic Memory and Dynamic Data
Structures
A. Addressing Data in Dynamic Memory
B. Pointers to Data Structures
C. Linked Lists
D. Operations on Linked Lists
E. Applications
Concept of Inheritance and Polymorphism
A. Direct and Indirect Inheritance
B. Private and Protected Members
C. Constructors and Destructors Under Inheritance
D. Polymorphism
E. Abstract Base Classes
F. Applications.
G. Programming Exercises.
Introduction to Templates
A. Templates
B. Containers, Algorithms, and Iterators
C. Applications
Files
A. Input/Output Streams
B. Processing Files
C. Random Access Files
D. Applications.
E. Labs
Total
Sessions:
40.00
Number of Credits: 4.0
Policies
Attendance
Attendance will be taken during each class. Attendance for the duration
of every class is essential
for having any chance of passing this course. Important information including, but
not limited to,
the course schedule, assignments, tests, and many other items of importance
will be covered and
discussed during class time, as needed. Students are responsible for
being informed of all relevant
course information that transpires during class time. Students missing any part
of any class need to
make arrangements with a classmate for "catching up" on any missed
material, notes, assignments,
handouts, etc. Almost all class assignments could be found in the BlackBoard’s course homepage.
It is students' responsibility regularly check course homepage. Remember, the
homepage is
developed to avoid time and paper wasting.
Please,
don't be late! Class doors are closed 5 min after class begins!
Turn your cell phones in the classroom
or in the Lab during the class!
Late Assignments
Assignments are due when they are due and should be submitted electronically.
A 4% penalty will be applied for each day an assignment is late,
including the first day and weekends.
Late
assignments will be accepted for not more than 7 days after the due date unless
special
arrangements were made.
Homeworks and project should be submitted
only using BlackBoard's DropBox.
When submitting don't forget to press "Send" button in your DropBox, and then to attach a file,
browsing it on your computer. To keep all your files in your DropBox you should press “Add” button.
Attachments should be
prepared in MS Word. Program listings and result’s screen snap shots
should
be copied to MS Word document from MS C++ compiler.
Each
assignment should be submitted as one MS Word file!
Hand-written homework
will not be accepted.
No
assignment will be accepted after the start of the last regular class of this
course.
Note: It is better to submit
completed assignments a day or two late rather than an
incomplete assignment
on the due date. Students will usually fair much
better
by submitting a completed assignment, even if it is a day or two late.
Don't
wait for the assignment’s due date!
Make-up Tests
Make-up tests are rare and will be given only in cases of documented serious
illness or other emergencies.
To be
eligible for a make-up test, the student must provide an acceptable excuse prior to the
scheduled date and time of the test.
In the event a make-up test is granted, the student is responsible for taking
the test before the start of the
next class.
If the instructor is not notified prior to the scheduled test time and still
permit a make-up, unless a
satisfactory reason is given for the lack of notification, a 20% reduction of grade will be incurred.
If the next class is scheduled on a day the college is closed, the make-up test
must be taken prior
to the closing of the college.
Academic Honesty
Helping a classmate is very honorable, but sharing solutions is strictly
prohibited. All work is to be
done individually, unless explicitly stated otherwise.
Anyone
caught cheating, copying solutions or electronic files, or performing any
other activity
that may be construed as dishonest will be punished up to dismissal from
class with a failing
grade and report to the College Academic Honesty Committee.
No identical programs will be accepted, with exception of group projects.
Remember, that the
programming style is very individual. Don't forget that when copying other
students projects
and/or assignments you are copying their errors too.
Semester
Grade
Homeworks, tests and grades.
Six homeworks will be worth 30% of the final grade, the project
- 10%.
Five tests will be worth
60% of the final grade.
The percentage will not be rounded to the closest integer.
Up to five points could
be added for active participation, perfect attendance.
No extra credits!
Up to eleven points
could be deducted for failed tests (1 pt each) and/or bad attendance (more
than 5 missing classes (for day classes) or 3 missing classes (for evening
classes) - 5 pts)!
A
letter grade based on the total percentage achieved will be given in accordance
with the College's
grading system.
No grade
negotiation, please! Everybody deserves what she/he deserves!
Correction of Grades
If an error is made in grading any of your work or your final grade, I will be
glad to make a correction.
However, the error must be called to my attention within two weeks of the
return of the material in
question. In the case of final grades, the error must be called to my attention
within two weeks of the
next regular semester.
Getting
Help
If help is needed, students are advised to seek it immediately. The ARC
doesn't provide tutoring on
the course subject. The best way to reach the instructor is by e-mail at roman@gbc.edu Individual
assistance will be nearly available at nearly any time I am in my office.
Office and tutorial hours are
set up to ensure that when you arrive, I'll be there.
Working
Together
You are encouraged to partner with one or more other classmates. Should it be
necessary for you
to miss class, a partner can take notes for you, grab extra copies of the
assignment.
However,
each student must prepare the homework by him/herself. Do not copy another's
homework, test, or project! As it was mentioned above cheating or plagiarism
will not be
tolerated and, as the first warning, the score will be divided by the number of
participants
or zeroed! As well as it will be reported to College Academic Honesty Committee
Computer Software
The following
software will be in use this semester: Microsoft Visual
Studio 2005 or Microsoft Visual
C++ 2005 Express Edition, MS Word. This and other software is available in the
Computer Lab.
Academic
Honor Code
All courses taught at
Academic Honor Code
. Click on the link above to learn more.
Note: After reading this syllabus you have to sign the acceptance sheet that
will be passed
through at the end of the first class meeting.