|
Classroom |
117 Hayes Hall |
|
Class time |
|
|
Prerequisite |
CS 201 grade C or better |
|
Required Textbook |
Gaddis, Walters and Muganda “Starting Out with C++” Fifth Edition |
|
Instructor |
|
|
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 |
|
|
|
|
|
Dept Office |
221 Hayes Hall (Phone: 372-2337) |
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.
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.
·
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.
|
Quiz Dates |
7/7, 7/14, 7/28,
pop |
|
Holidays |
none |
|
Exams |
7/21, 8/7 |
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% |
·
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.
Ø 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
Ø
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.
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.