CSCI-15/071 Object-Oriented Programming Methods Spring 2016

CSCI-15/071 Object-Oriented Programming Methods
Spring 2016
4 units
Lecture MW 3:30-4:15 PM, Lab 4:20-5:35 PM in room 1812
Instructor: Keith Mehl Office: 2019 e-mail:
Phone: 723-7493
Web site:
Office Hours: Per the schedule on my Web site, and by chance/arrangement.
Course description: Object-oriented programming methods employed to design, program, test and
document intermediate level problems. Includes strings and string objects, multidimensional arrays,
pointers, dynamic allocation, classes, overloaded functions, inheritance and polymorphism, introduction
to linked lists. Designed to satisfy Association of Computing Machinery (ACM) guidelines for CS 1 as
required for Computer Science and related transfer majors. Prerequisite: Computer Science 14
(completed with a grade of “C” or higher). Strongly Recommended: Mathematics 20 (completed with a
grade of “C” or higher).
This is NOT an introductory computer-programming course. This demanding course will require
considerable out-of-class time. I assume you have written a dozen or more short programs in C++ (½
page to 1½ pages of code each). In this course, you will write approximately eight programs, generally
from two to five pages of code each, perhaps longer, plus several lab programs.
When emailing me, put CS15 at the start of the subject line (exactly CS15, capitalized), then your name,
then why you are emailing me. ATTACH anything you want to discuss (DO NOT put the code into the
body of the email). Make sure the body of the email tells me (briefly!) what I need to know. The 'why'
terms that get immediate attention are 'absent' and 'question'. I look at everything else only as time
Turn off your cell phone and put it where you can't easily get to it. If you use a computer for notetaking, use it ONLY for note-taking, and stay off the Internet unless you are using it directly for the class.
If I catch you texting, playing games or otherwise goofing off with your cell phone or computer, I will ask
you to leave class for the day.
Text: Tony Gaddis, Starting Out With C++, 8th ed., ISBN-13 978-0-13-376939-5, Pearson. If you want to
use a different book, clear it with me FIRST. Any book you use must follow the C++ 2011 standard.
Grading policy:
Programming assignments (approximately bi-weekly), labs
Short (pop) quizzes
2 midterm exams (probably weeks 7 and 12)
The final exam (MUST be taken as scheduled)
- 20%
- 10% (adjusted as per CS14)
- 20% each
- 30%
THERE WILL BE NO MAKEUP EXAMS. If you cannot make an exam, you MUST contact me
BEFORE the exam. You must take the final exam to pass the course.
The grade ranges will be as follows: 90%-up - A, 80%-89.9% - B, 65%-79.9% - C, 55%-64.9% - D, less
than 55% - F. I may adjust these ranges depending on the overall performance of the class.
I will not grade programs submitted without output (or input files when needed).
A single test (e.g., with my example test data only) is not enough. Tests need to assure that all features of
the program work correctly.
Programs are due at 11:59 PM (sent time stamp on email) on the due date. Late work will be penalized
20% per calendar day late.
You must turn in at least 15 points worth of programming assignments/labs to
make a grade of C or above in this class.
Be here, on time, every time. Being regularly late or absent will lower your grade. If you find you often
cannot make class, or are late, DROP. If you miss more than two quizzes, I will drop you from the class.
Work in groups of two on the labs. Do not work alone on the labs. If there are an odd number of
students, see me. I will create a group of three for a lab if I need to. Turn in ONE email for the group,
with everyone's names on it. Do your own work on the homework programs. Copying programs will
result in severe consequences, possibly including a grade of F in the course. Please, ask me for help,
not your classmates. It's my job.
For use of the college only (this assessment is after-the-fact, and does not affect your grade) the college
assesses course-level learning outcomes for students. For CSCI-15, these are as follows:
1: define, design and use simple classes, including at least one project that uses a class inheritance
2: manipulate arrays using pointer notation
3: manipulate objects in standard class libraries such as strings, vectors and streams
4: use the new operator to implement a singly linked list