CS 202 - Summer 2008
Objects and Data Abstraction 

Classroom

117 Hayes Hall

Class time

MTWR

Prerequisite

CS 201 grade C or better

Required Textbook

Gaddis, Walters and Muganda “Starting Out with C++” Fifth Edition

 

Instructor

Ron Conway              

Office

224 Hayes Hall (Phone: 372-8777)

Office Hours

Regular hours: MTWR (10:00a– 11:00a),  TR (12:30p– 1:30p) ,

or by appointment

Websites

http://www.cs.bgsu.edu/rconway          

Email

rconway@bgnet.bgsu.edu

Dept Office

221 Hayes Hall (Phone: 372-2337)

Course Description:

The advanced programming concepts encompass the basic constructs common to almost all programming languages, problem solving techniques and analytical thinking. This course teaches the basics of object-oriented programming in C++ including the essential concepts of objects and classes, pointers, inheritance, and more advanced topics.

This course will require considerable effort in problem analysis and design, coding, testing and debugging C++ programs.

Learning Outcomes:

After successfully completing CS202 a student should be able to:

·         Understand pointers conceptually and be able to create C++ classes using pointers.

·         Understand inheritance conceptually and be able to create C++ classes using inheritance.

·         Understand Sorting and Searching algorithms and be able to apply them in C++ programs.

·         Understand operator overloading and be able to use classes which have overloaded operators.

·         Be able to compare composition/inheritance and evaluate which method is preferable in constructing a given class or system of classes.

Class Policies:

Attendance

  • Attendance in class is integral to the learning process.  In addition, any quizzes that are missed cannot be made up, so attendance is essential.  Students are expected to arrive for class and be in their seats by the scheduled beginning of class.  Habitually late students will lose their bonus points at the instructor’s discretion.

 

·         Students with an excellent attendance record will receive 10 bonus points. The second excused/unexcused day will result in a reduction of 5 bonus points.  The third excused/unexcused day will result in the remaining deduction of the bonus points.  Subsequent unexcused absences will result in an 8 point deduction from your total points for each day missed. If you miss less than 5 unexcused days and you are not habitually late, some or all of these points (excluding bonus points) will be added back to your grade.

Important Dates

Quiz Dates

7/7, 7/14, 7/28, pop

Holidays

none

Exams

7/21, 8/7

Grading Policy:

The final grades are assigned based on student performance on assignments and exams, and are not negotiable. Specifically, you will be evaluated on the following:

 

Exam

100

Quizzes

75*

Programs

90*

Classwork/Homework

25*

Final

110

Total:

400 points

 

·         Exams: There will be one exam worth 100 points and one final worth 110 points. All exams are in-class and closed-book.

·         Quizzes: There will be 3-4 quizzes worth 25 points each. Quizzes will emphasize recent material covered since the previous quiz or exam.  The lowest quiz will be dropped. No makeup quizzes will be given.

·         Programs: There will be 3-5 programming assignments worth approximately 90 points*.

·         Homework/Classwork: 3-5 homework/classwork assignments worth approximately 25 points*. These will involve working on selected problems in the textbook or from the instructor. Homework/Classwork assignments may originate from in class labs or exercises and will not be accepted late. No makeup work will be given.

The final grade for the course will be determined by the total number of points earned divided by the total points overall.

The following chart is an example of the cutoff based on 550 points:

Grade

Points

Percent

A

368

92%

B

328

82%

C

288

72%

D

248

62%

F

< 248

< 62%

Checking Grades:

Your grades will be made available upon your request (optionally) on my website.  The grades will be posted anonymously by a randomly created 4 digit number or a number that you provide. 

The address of the webpage is www.cs.bgsu.edu/rconway/grades

 

 

Makeup Exams

 

·         There will not be make-up exams except for the most serious of reasons such as confinement in the hospital or other emergencies.  Contact the instructor or the department office immediately if you will miss an exam.  As an example, if your car breaks down without you reporting it to the instructor or the main office before the scheduled exam time, it will not merit a makeup exam. Makeup exam will be given on a later date and may cover new material.

  • For other scheduled official events (such as competitions or conferences), discuss the event with the instructor in advance.
  • There will be NO make-up quizzes.

Programming Environment

  • We will be using BGUnix, Sun Enterprise 450 Server running Solaris 8 (Unix) operating system, for our programming assignments.  BGUnix (bgunix.bgsu.edu) may be accessed from a home computer, or through telnet from the microcomputer labs on campus. 
  • Students are free to use their own compilers to develop programs for the class.  However, the program must be transferred to BGUnix and the final version must compile and run correctly on BGUnix.

Programming Assignments

  • Programs will be graded on correctness, documentation, clarity and style.  Programs will be collected and executed automatically from your BGUnix class directory at the date and time specified on the assignment.  It is the student's responsibility to correctly name the file so that it can be collected.  Those files not named correctly will be treated as late assignments.  Additionally students may be asked to bring a printed copy of a photo to class. The photo will be based on the instructions given for each assignment.
  • Late assignments will be accepted up to 48 hours after the original due date and time.  The student must send the instructor an email within the 48 hour time period asking that the late assignment be collected.  These programs will receive a 30% penalty.  You may submit an assignment after the 48 hour period, however, any assignment submitted after the 48 hour period will be graded at the instructor’s discretion.
  • Plan to start and finish early.  Last minute problems can always be expected when writing programs.

Programming Assistance Available

  • In the instructor's office during office hours or by appointment.
  • From CS graduate assistants (consultants) who will be available in the Hayes 025.  To get the most benefit out of a consulting session:

Ø       Bring a paper copy of your program (photo file with error messages if there are any.)

Ø       State clearly the problem you are having and how you have already tried to fix it.

Ø       If you are still having difficulties after making the suggested changes, attempt to resolve the remaining problem(s) yourself before returning for more consulting.

                A schedule of graduate student consultants is available at:

                                http://www.bgsu.edu/departments/compsci/consulting.html

  • As much as I like to receive emails, extensive programming questions through email are generally discouraged. Unless the question can be answered briefly, make an appointment to meet with me.

BGNet E-mail

  • It is important that you check your bgnet email regularly since important information concerning this course will be sent to that email address.  (Go to ITS TSC (Hayes 129) to forward your emails.)

 

 

Codes of Conduct and Academic Honesty

  • The instructor and students in this course will adhere to the University’s general Codes of Conduct defined in the BGSU Student Handbook.  Specifically, the Code of Academic Conduct (Academic Honesty Policy) requires that students do not cheat, fabricate, plagiarize or facilitate academic dishonesty. For details, refer to:

                                                                                                                     

Ø BGSU Student Handbook (http://www.bgsu.edu/offices/sa/book/Student_Handbook.pdf)

Ø The Academic Charter, B.II.H (http://www.bgsu.edu/downloads/file921.pdf)

Ø Student Discipline Programs (http://www.bgsu.edu/offices/sa/judicial/academic/index.html)

Ø CS Dept Policy (http://www.bgsu.edu/departments/compsci/policies/honesty.html)

·         Programming and other assignments are meant to be individual assignments.  While a certain amount of collaboration is expected and encouraged, there is a fine line between collaboration and cheating.  Collaboration should be use to find bugs in programs or to solve program syntax or general structure problems.  This does NOT include duplication of programs or designs.  Copying of code, regardless of the number of editor changes, renaming, and/or retyping is considered cheating, and a student’s inability to describe the function of an assignment will be considered clear evidence of cheating.  Providing another student with part or all of a solution is also clearly cheating. 

·         Cheating will result in failing the course, along with possible expulsion from the University.  Any student suspected of cheating on an exam will be asked to turn in the exam immediately and/or will be reported to the University.

Disability Policy

  • In accordance with the University policy, if the student has a documented disability and requires accommodations to obtain equal access in this course, he or she should contact the instructor at the beginning of the semester and make this need known.  Students with disabilities must verify their eligibility through the Office of Disability Services for Students, 413 South Hall, 419-372-8495. (http://www.bgsu.edu/offices/sa/disability/index.html)

 

Religious Holidays

 

  • It is the policy of the University to make every reasonable effort allowing students to observe their religious holidays without academic penalty. In such cases, it is the obligation of the student to provide the instructor with reasonable notice of the dates of religious holidays on which he or she will be absent. Absence from classes or examinations for religious reasons does not relieve the student of responsibility for completing required work missed. Following the necessary notification, the student should consult with the instructor to determine what appropriate alternative opportunity will be provided, allowing the student to fully complete his or her academic responsibilities. (As stated in The Academic Charter, B-II.G-4.b at: http://www.bgsu.edu/downloads/file919.pdf)

Cell Phones, Pagers, Tape Recording, and Personal Digital Assistants

  • Students are not authorized to make recordings during class without permission from the instructor.   
  • The use of cell phones, pagers, and personal digital assistants (PDAs) is not allowed in class.  Cell phones, pagers and PDAs must be turned off and put out of sight during class.

Reading

Intro To Unix                                                                                                                Handout

Classes                                                                                                                         Chapter 7  (Review)

Arrays and Vectors                                                                                                       Chapter 8  (Review)

 

Searching and Sorting: (linear search, binary search, bubble sort, selection sort)                 Chapter 9

Pointers                                                                                                                        Chapter 10

Linked Lists                                                                                                                  Chapter 17

Stacks and Queues                                                                                                        Chapter 18

More About Classes and Object-Oriented Programming                                                  Chapter 11       

Polymorphism, Virtual Functions, and Multiple Inheritance                                               Chapter 15       

        

Caveat:   The above schedule, procedures and points in this course are subject to change in the event of extenuating circumstances.