FSU Seal - 1851 Course Organizer
COP 3330 Object Oriented Programming in C++
Spring Semester 2018
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 Canvas 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.
Canvas The FSU/Canvas 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 Canvas 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 for Windows that FSU pays for and recommends. From off-campus, you will need a username and password - these will be on the course site where your FSU login is required. 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 Quiz/Exam Due Date
1 1/8-1/14 Course Syllabus
0: Introduction
1: C/C++ Basics
Review 1, 2, 3, 4, 5
Stroustrup on C++11
Assignment 0: Create Portfolio
Register & Sign Up For Exams with ODL
Project 0: The Programming Environment (self-eval)
  1/14
1/19 [FRI]
2 1/15-1/21 2: C/C++ Control Flow
3: C/C++ Functions
Review 1, 2, 3, 4, 5
Is Technology Destroying Jobs?
Project 1: Sorting C-strings
Quiz 1
1/28
1/28
3 1/22-1/28 4: C++ Classes 1   Classes1.mp4   Classes1.rt
5: C/C++ Pointers   Pointers.mp4   Pointers.rt
Study 9
Review 6, 7
Project 2: The Product Class
Product.mp4   Product.rt

2/4
4 1/29-2/4 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
2/2 [FRI]
5 2/5-2/11 Exam 1 Covers Weeks 1 - 4 Exam 1 2/9 [FRI]
6 2/12-2/18 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
  2/25
7 2/19-2/25 10: C++ Classes 4   Classes4.mp4   Classes4.rt Study 13 Project 4: Sunpass Vehicles   3/4
8 2/26-3/4 10: C++ Classes 4   Classes4.mp4   Classes4.rt Study 13 Project 5: Sunpass Tracker   3/11
9 3/5-3/11 11: I/O   IO.mp4   IO.rt Study 8, 15, 17    
10 3/12-3/18 Spring Break
11 3/19-3/25 12: C++ Templates Study 14  
Project 6: Sort Templates
Practice Exam 2
3/23 [FRI]
4/1
12 3/26-4/1 Exam 2 Covers Weeks 1 - 11 Exam 2 3/30 [FRI]
13 4/2-4/8 13: Introduction to Data Structures   ADTs.mp4
Study 20 Project 7: Stack      Testing class templates   4/15
14 4/9-4/15 14: Introduction to fsu::List   ADTs.rt Study 20 Project 8: Queue   4/22
15 4/16-4/22 15: Linked List Programming Study 20      
16 4/23-4/29 Wrap-up and Practice Final   Practice Final Exam closes Friday   4/27 [FRI]
17 4/30-5/6 Final Exam begins Saturday! Covers Weeks 1 - 16 Final Exam 5/4 [FRI]
Ω 5/7-5/9 Final grades calculated and turned in to registrar