FSU Seal - 1851 Course Organizer
COP 3330 Object Oriented Programming in C++
Fall Semester 2017
Root View: Course Components
Syllabus The course syllabus establishes course policies on grading, attendance, and exams. The syllabus should be read in detail at beginning semester.
Lectures This is the main knowledge resource for the course. Lectures are in the form of a slide show with an accompanying narrative. (Click "Narrative on" to see the narrative. Click "Frames[Windows]" to toggle between displaying the narrative in a separate frame or a separate resizable window.) Please report bugs/corrections in the appropriate Blackboard discussion forum. Note: The lecture notes are undergoing revision during the semester.
Calendar The course calendar: coverage, assignments, lecture notes all released here.
Assignments Assignments are intended to be total learning experiences, not merely exercises in programming. The assignment documents in particular are used to elaborate on topics and introduce new ones. The content of assignments is of equal importance with the lecture notes. Assignments will be released through the calendar. Note that assignment deadlines will be enforced and that successful completion of most assignments requires starting at least two weeks in advance of the deadline. Assignments will be assessed using the policy described here. We expect polished, thoughtfully prepared work and will assess accordingly. Note that a work log is expected for each programming assignment.
Blackboard The FSU/Blackboard Portal, where you will find this course. The course site is the main communication resource for the class. Here you can get help, talk to other students, retrieve your grades, and generally keep up with course news and announcements.
Students helping students Policy on students helping students. PLEASE NOTE: students may help other students in a Blackboard forum or a designated classroom. Any other form of help, whether using email or an external facility such as "slack", is a violation of the code of conduct. READ THE DOCUMENT && (FOLLOW THE RULES || FACE THE CONSEQUENCES).
Office Hours Instructor office hours and contact information
LIB
The course code distribution library LIB = /home/courses/cop3330p/LIB/
Testing Environment Code submitted for assignments will be built and tested on linprog using clang++ with all warning flags set and the ISO-11 standard library.
Code Stds A C++ coding style guide - required for this course.
Extras: Miscellaneous Resources and References
SSH The version of ssh software that FSU pays for and recommends. See SSH, The Secure Shell: The Definitive Guide, Second Edition (O'Reilly) for more info on SSH.
FAQ Frequently Asked Questions harvested from discussion boards
Make1
Make2
Two tutorials on the make utility and makefiles
Valgrind Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.
C++ Ref A resource to look up C and C++ libraries
Unix/Emacs Hints Lacher's Unix and Emacs hints to get started
Princeton
Stanford
More Emacs help info - from various sources.
Email Very brief reminders on setting up and checking CS Email.
g++ The gnu compiler manual, maintained by gnu.org.
clang The clang compiler manual, maintained by clang.org.
Temporal View: Course Calendar*
Week Coverage Deliverable
# Dates            Lecture Notes Chapters Text Chapters Assignment Due Date
1 8/28 - 9/3 0: Introduction
Distance Student Responsibilities
1: C/C++ Basics
Review 1, 2, 3, 4, 5
Stroustrup on C++11
Assignment 0: Create Portfolio
Register For Exams [Distance Students Only]
Project 0: The Programming Environment (self-eval)
9/3
9/11 [Mon]
9/10
2 9/4 - 9/10 2: C/C++ Control Flow   COP3014 Chapter 6: Arrays
3: C/C++ Functions       COP3014 Chapter 7: Pointers
Review 1, 2, 3, 4, 5
Is Technology Destroying Jobs?
Project 1: Sorting Strings
Quiz 1
9/17
9/17
3 9/11 - 9/17 4: C++ Classes 1   Classes1.mp4   Classes1.rt
5: C/C++ Pointers   Pointers.mp4   Pointers.rt
Study 9
Review 6, 7
Project 2: Class ID
Product.mp4   Product.rt
9/24
4 9/18 - 9/24 6: C++ Classes 2   Classes2-1.mp4   Classes2-1.rt   Classes2-2.mp4
7: C-Strings & String Objects
Study 10, 11
Study F, 18, 22.8-10
Practice Exam 1
9/22 [Fri]
5 9/25 - 10/1 Exam 1 Covers Weeks 1 - 4 Exam windows run [Sat - Fri]! 9/29 [Fri]
6 10/2 - 10/8 8: Bit Vectors   BitVectors.mp4   BitVectors.rt
9: C++ Classes 3   Classes3.mp4   Classes3.rt
Study 22.4-5
Study 12
Project 3: Prime Calculator
10/15
7 10/9 - 10/15 10: C++ Classes 4   Classes4.mp4   Classes4.rt Study 13 Project 4: DOT Common Carrier Framework   10/22
8 10/16 - 10/22 10: C++ Classes 4   Classes4.mp4   Classes4.rt Study 13 Project 5: DOT FastLane 10/29
9 10/23 - 10/29 11: I/O   IO.mp4   IO.rt Study 8, 15, 17    
10 10/30 - 11/5 12: C++ Templates Study 14 Practice Exam 2
Project 6: Sort Templates
11/3 [Fri]
11/12
11 11/6 - 11/12 Exam 2 Covers Weeks 1 - 10 Exam windows run [Sat - Fri]! 11/10 [Fri]
12 11/13 - 11/19 13: Introduction to Data Structures   ADTs.mp4
Study 20 Project 7: Stack
12/3
13 11/20 - 11/26 Thanksgiving Week
14 11/27 - 12/3 14: Introduction to fsu::List   ADTs.rt Study 20 Project 8: Queue 12/10
15 12/4 - 12/10 15: Linked List Programming Study 20 Practice Final Exam closes Friday 12/8 [Fri]
16 12/11 - 12/17 Final Exam / Exam 3 Covers Weeks 1 - 15 Exam windows run [Sat - Fri]! 12/15 [Fri]
Ω 12/18 - 12/19 Final grades calculated and turned in to registrar

*Items distributed via the course calendar are not officially realeased until the date they appear in the calendar. Items that are visible in advance may be used, but always check for the updated version at the release date.