Computer Science Department
Comsc 266: Object Oriented Programming With C++, Spring 2012, Section 1274


COURSE DESCRIPTION:
This course provides detailed coverage of the concepts and syntax of the C++ Language. Coverage includes inheritance, overloaded operators, overloaded default operators, virtual functions, memory management, files, streams, templates, and exceptions. Prequisite: Comsc 265 or equivalent. Expected student learning outcomes: www.dvc.edu/slos?comsc-266

INSTRUCTOR:
Prof. Burns, rburns@dvc.edu
Burns office hours:
  9-9:30am TTh ATC-115, by visit and email
  12:30-1pm TTh FO-227, by visit and phone, x2610
  6:30-7pm MW ATC-115, by visit and email
  5:30-6:30pm MW by online discussion group and email

TOPICS COVERED:
Data And Functions
C++ Header Files
Encapsulation
Constructors and Destructors
Friend Classes And Functions
const Data And Functions
Operator Overloading
The string and vector Classes
Exceptions and try/catch
Inheritance and Polymorphism
Templates and the STL
CLASS DATES AND TIMES:
T Jan 24th at 9:30am - Th May 24th at noon
TTh 9:30am-12:20 class meetings, ATC-115
Last Day To Add: Feb 3rd
Last Day To Drop with refund: Feb 3th
Last Day To Drop without "W": Feb 16th
Last Day To Drop with "W": Apr 27th
Holidays: T Apr 3, Th Apr 5
Midterm exam: T Mar 20th
Final exam: Th May 24th 8am
GRADING: Lab Exercises (16):  800 points
Midterm Exam: 50 points
Final Exam: 50 points
Term Project:  50 points
Online Quizzes (16): 50 points

FINAL GRADE: Strictly applied
A 900-1000 points      B 800-899 points
C 700-799 points      D 600-699 points
F 0-599 points        no extra credit

TEXT, REFERENCES, AND SUPPLIES:
C++, How To Program, late objects by Deitel, 7th edition (required)
Intro To Programming, Using C++ (4th Ed. Rev 1) by Burns online
Class website: http://cs.dvc.edu/
Command-line compiler: Visual C++ (avail. in computer lab)
Free PC/Mac editor: JNotePad (also avail. in computer lab)
Free PC Windows compiler: Visual C++ 2010 Express
Free Mac compiler, from the Mac App Store: XCode 4.2
Additional supported compilers: UNIX/Linux/PC g++; VC++ 2005, 2008
CLASS POLICY: Each lab must be completed correctly before the next lab is considered for grading.
Expect to spend about 12 hours per week on this course listening to lectures, doing labs, and reading.
Lab assignments are posted on the class website. Lab writeups may have accompanying YouTube videos that require Adobe Flash.
Lab assignments are due at midnight of the evening of the due date indicated on the course outline. Completed lab work must be posted to the class website for credit, into the correct folder, with correctly spelled and cased filenames.
For questions on lab assignments, anytime and anywhere, use the online discussion group (accessible via links on the class website: http://cs.dvc.edu). Students may post and reply to questions in order to help each other. The instructor monitors the discussions and answers questions when appropriate. Use this method so that all students benefit from questions, answers, and clarifications.
Lab work will be sent back for redo if not fully correct, with a 2 point penalty each time it is sent back for any of the reasons listed in the lab writeups. Labs that are not made fully correct by one month after their due date will receive zero points.
Late lab assignments and projects will be accepted with a 10 point penalty, except that work submitted one month after its due date, or after noon on Th May 24th, will receive zero points.
Contact the instructor by email or visit during their office hours (if any).
The final exam and the midterm exam are both open book and open note. Ref: http://cs.dvc.edu/HowTo_PrepareForExams.html
Arrangements for missed exams must be made with the instructor in advance. Make-up exams can only be scheduled for a time period in which the instructor is conducting another exam.
Quizzes are conducted prior the first lecture of a topic, and may be online or in-class, per the instructor's direction. No make-ups for missed quizzes. Quizzes cover the material for the indicated chapter's reading assignment in the course outline, and the corresponding lecture notes. Online quizzes are accessible on the class website via the internet, and require that Javascript be enabled in order to run in your browser. All quizzes are timed, each allowing a few minutes for 5 or fewer multiple-choice questions.
Students are expected to follow the DVC Student Code of Conduct. Accordingly, no credit will be given for work that is not original. Students MUST type their own code, and NOT share code with other students. Points awarded for lab work that is later found to be not original will be withdrawn. Points awarded for files that subsequently get deleted will be withdrawn.
Classes start at 9:30am sharp. Do not trust classroom clocks -- check the time on the class website home page (http://cs.dvc.edu) which is synchronized to the atomic clock.

EXPECTED STUDENT LEARNING OUTCOMES:
Students completing the course will be able to:
1. create C++ templates for custom data structures, with the standard operations of insert, replace, retrieve, and remove.
2. understand the differences among the various search techniques (linear, binary, and binary trees) and can implement all of them.
3. understand the difference among various O(n log n) sorting algorithms and can implement quick sort, merge sort, Shell sort, and heap sort.
On the first day of class, take the survey at www.surveymonkey.com/s/sp2012comscPre
On or before finals day, retake the survey at www.surveymonkey.com/s/sp2012comscPost