SPECIAL SCHEDULING NOTE:
This class has students attending in two modes:
- Mixed Mode (67% On-Line + 33% Classroom)
- Distance Learning (100% On-Line)
The content, objectives, assignments, assessments, and grading are the same for
all students. Obviously, however, mixed mode and distance students
sometimes participate in different ways.
For all students: Regular participation via the
Blackboard
course interface is required. Official course announcements, lecture
materials, assignments, and help archives will all be on-line at this site. Note
that all registered students should have the course web site listed on their
My FSU
portal page. Be sure to test this and resolve any difficulties no later
than the first week of classes.
For mixed-mode students: Class (recitation) will be met and attendance is
required. (See schedule details below.) All exams will be given in class during
scheduled class time.
For on-line students: All exams must be proctored and taken
during the exam window. It is the student's responsibility to arrange for
proctored exams in compliance with the FSU standards.
(See COURSE POLICIES for details.)
Note that students may be required to identify themselves with official FSU
ID to sit an exam.
CLASS SCHEDULE FOR MIXED-MODE STUDENTS:
Event | Location | Dates | Day | Time |
Recitation | Bay 102 | Aug 29 - Dec 12
| Wed | 5:00pm - 6:00pm (Central Time) |
EXAM SCHEDULE
There will be two exams in Generic Programming, a midterm exam and a final exam.
The dates for the two exams are shown in the following
table.
Exam Calendar |
Exam |
On-Campus |
Distance Window (Inclusive) |
Midterm Exam |
Wed Oct 17 |
Fri Oct 19 - Tue Oct 23 |
Final Exam |
Wed Dec 12 |
Fri Dec 7 - Tue Dec 11 |
|
INSTRUCTOR:
Chris Lacher, Faculty
Responsibilities: Lead Instructor, Course Supervisor, On-Site Instruction |
|
|
Office: | Faculty Annex B 101 / Panama City Campus |
Office Phone (during office hours):
(these all ring the same instrument)
|
850-770-2256 (local direct line)
850-644-2090x2256 (local Tallahassee)
866-693-7872x2256 (toll free)
| |
Mobile Phone & Voice Mail (24/7): | 850-510-5575 |
Email: |
lacher@cs.fsu.edu |
Fax: | 850-872-7720 |
Mail & Delivery: |
Florida State University
4750 Collegiate Drive
Panama City, FL 32405-1099
|
|
|
COURSE RESOURCES:
- Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design
Patterns Applied, Addison-Wesley, 2001 (ISBN 0-201-70431-5) (required).
- Matthew H. Austern, Generic Programming and the STL, Addison-Wesley,
1999 (ISBN 0-201-30956-4) (recommended).
- Stanley Lippman, Josee Lajoie, and Barbara Moo, C++ Primer (Fourth
Edition), Addison-Wesley, 2005 (ISBN 0-201-72148-1) (recommended).
- Nicolai Josuttis, The C++ Standard Library, Addison-Wesley, 1999
(ISBN 0-201-37926-0) (recommended).
- A limited list of reviewed URLs
- A number of paper handouts from periodicals
COURSE PREREQUISITES:
The courses COP 4530 (prerequisite) and COP 4531 (pre-/co-requisite); or
appropriate maturity in both programming and course work, by
permission of the instructor.
COURSE RATIONALE:
Generic programming is the science and engineering of creating re-usable program
components. The field has been advanced significantly in the last 5 years and is
now at the high level of usefullness in a wide range of applications.
Understanding how to create and use generic program components is
essential to modern program design.
COURSE DESCRIPTION:
The course will address the following topics:
- Generic Programming Principles and Techniques
- Generic Containers
- Function and Predicate Objects
- Generic Algorithms
- Mediation between containers and algorithms with iterators
- Containers and Algorithms in the C++ STL
- Vectors, Lists, Deques
- Stacks, Queues, Priority Queues
- Ordered Sets and Maps
- Hashed Sets and Maps
- Iterators and Iterator Adaptors
- General algorithms
- Set algorithms
- Heap algorithms
- Search algorithms
- Sort algorithms
- Extending the STL to new containers and new algorithms
- Graphs and Digraphs
- Graph Algorithms
- Policy Based Design
- Partial template specialization
- Traits
- Typelists
- Design Pattern Implementations
- Small objects
- Singletons
- Smart Pointers
- Abstract Factory
- Visitor
COURSE OBJECTIVES:
At the end of this course, the student should be able to:
- Be able to use all aspects of the std and fsu template libraries
- Define and use the concepts of generic container and algorithm
- Define, implement, and use generic algorithms
- Define, implement, and use function objects, including stateful function objects
- Use policy based design to enforce and regulate software designs
- Define, implement, and use type traits
- Define, implement, and use typelists
- Write compile-time type selection and bindings
- Define and use smart pointers of various configuratons and policies
- Define and use the generic design patterns singleton, smart pointer, and abstract factory
COURSE COMPONENTS:
Class Participation: (10%)
Students are expected to prepare for class by keeping up with assigned reading,
exercises, and review questions. These will be discussed in class.
Assignments: (30%)
Assignments consist of approximately three (3)
exercises/problem sets that will be assigned in parallel with the course
coverage.
Presentation: (10%)
Each student will be assigned a presentation topic and deliver a
presentation on that topic in class (for mixed-mode students) or online (for distance students).
Exams: (50%)
There will be a midterm exam and a final exam, together counting 50% of the course grade..
Course Calendar.
Coverage, assignments, lecture notes, and exam coverage will be
released through the Course Calendar.
COURSE GRADING:
The overall grade for CIS 5930 is the weighted average of four (4) parts:
Exams, Assignments, Presentation, and Class
Participation.
The following Table 2 summarizes the grade components and their weighting.
The final course grade will be determined using Table 3.
Table 1: Exam Calendar |
Exam | Date |
Midterm Exam | Tue Oct 17 |
Final Exam | Tue Dec 12 |
Table 2: Course Points |
Item |
No of Items | Total |
Participation | 1 | 100 |
Assignments | 3 | 3x100 = 300 |
Presentation | 1 | 100 |
Midterm Exam | 1 | 200 |
Final Exam | 1 | 300 |
Total Points: |
1000 |
|
Table 3: Letter Grades |
Points | Grade |
925 - 1000 | A |
900 - 924 | A- |
875 - 899 | B+ |
825 - 874 | B |
800 - 824 | B- |
775 - 799 | C+ |
725 - 774 | C |
700 - 724 | C- |
675 - 699 | D+ |
625 - 674 | D |
600 - 624 | D- |
0 - 599 | F |
|
Note that grades below B- will not satisfy requirements for a graduate degree.
|
COURSE POLICIES:
First Day Attendance Policy: Official university policy is
that any student not attending the first class meeting will be automatically
dropped from the class. For distance students, this policy is interpreted as
posting to the discussion forum "First Day Attendance" no later than the first
day of the semester.
Regular Attendance Policy: The university requires
attendance in all classes. Attendance in distance classes shall mean regular
access to the course web site via campus.fsu.edu and regular
participation in the class discussion forums. Here, "regular" shall mean a
substantial amount of time on a weekly basis. Note that individual access
statistics are maintained by Blackboard.
Proctored Exam Policy: All exams must be proctored and taken at
an approved testing site during the exam window or in class on the designated
date. It is the student's responsibility to arrange for proctored exams in
compliance with the FSU standards. Go to
http://learningforlife.fsu.edu/cat/test/distancelearning/students.cfm
for complete information on setting up a proctored exam site.
Exam Makeup Policy:
An exam missed without an acceptable excuse will be recorded as a grade of zero
(0). The following are the only acceptable excuses:
- If submitted prior to the day of the scheduled exam:
- A written and signed explanation as to why the exam will missed. Illness or required
professional travel are acceptable, while discretionary or personal travel
are not. In any case the explanation should be accompanied by corrobrating
documentation, including names and contact information, and the explanation must
be accepted by the instructor prior to missing the exam.
- Evidence from a university official that you will miss the exam due to
university sanctioned travel or extracurricular activity.
- If submitted on or after the day of the scheduled exam:
- A note from a physician, university dean, spouse, parent, or yourself indicating an illness
or other extraordinary circumstance that prevented you from taking the exam and
could not be planned for in advance. Again, corroborating information should be
supplied.
All excuses must be submitted in writing, must be signed by the excusing
authority, and must include complete contact information for the authority,
including telephone numbers and address.
Missed exams with acceptable excuse will be made up or assigned the average
grade of all other exams, at the option of the course instructor.
Missed, and acceptably excused, final exams will result in the course grade of
'I' and must be made up in the first two weeks of the following semester.
Grade of 'I' Policy:
The grade of 'I' will be assigned only under the following exceptional circumstances:
- The final exam is missed with an accepted excuse for the absence. In this
case, the final exam must be made up during the first two weeks of the following
semester.
- Due to an extended illness or other extraordinary
circumstance, with appropriate documentation, the student is unable to
participate in class for an extended period. In this case, arrangements must be
made to make up the missed portion of the course prior to the end of the next semester.
Completion of Work Policy:
To be eligible for the grade of A or A-, working versions of all programming
assignments must be submitted.
ACADEMIC HONOR POLICY:
The Florida State University Academic Honor Policy outlines the
University’s expectations for the integrity of students’
academic work, the procedures for resolving alleged violations of those
expectations, and the rights and responsibilities of students and faculty
members throughout the process. Students are responsible for reading
the Academic Honor Policy and for living up to their pledge to
“. . . be honest and truthful and . . . [to] strive for personal and
institutional integrity at Florida State University.” (Florida
State University Academic Honor Policy, found at http://dof.fsu.edu/honorpolicy.htm.)
All students
are expected to uphold the Academic Honor Policy.
Please note the following items are defined and made violations by the policy:
- Plagiarism
- Cheating
- Unauthorized Group Work
- Fabrication, Falsification, and Misrepresentation
- Multiple Submission
- Abuse of Academic Materials
- Complicity in Academic Dishonesty
- Attempted ...
Violations of the academic honor policy may result in failing grades and/or
dismissal from the university. All students are expected to read and understand
the policy.
AMERICANS WITH DISABILITIES ACT:
Students with disabilities needing academic accommodation should:
(1) register with and provide documentation to the Student Disability
Resource Center; and
(2) bring a letter to the instructor indicating the need for accommodation
and what type. This should be done during the first week of
class.
This syllabus and other class materials are available in
alternative format upon request.
For more information about services available to FSU
students with disabilities, contact the:
Student Disability Resource Center
97 Woodward Avenue, South
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)
sdrc@admin.fsu.edu
http://www.disabilitycenter.fsu.edu/
(This syllabus and other class materials are available in
alternative format upon request.)
EMERGENCY MANAGEMENT INFORMATION:
Information regarding the status of FSU in an emergency situation may be
obtained from the following sources:
- For information specific to the Panama City Campus go to the FSUPC web page at http://www.pc.fsu.edu/ or call the Campus
Hotline number 850-522-5555
- For information related to FSU in general and the Tallahassee Campus go to
the FSU alerts web page at http://www.fsu.edu/~alerts/
- For state-wide and national information, go to the Florida Division of
Emergency Management information pages at http://www.floridadisaster.org/
Any specific information related to this class will be posted on the course web site
or sent via email to your fsu email address.
SYLLABUS CHANGE POLICY:
This syllabus is a guide for the course and is subject to change
with advanced notice. Such notice will be in the form of an
announcement to the course web site on
My FSU.
|