Course Organizer
COP 3330 Object Oriented Programming in C++
Fall 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 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 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
Make2Two 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. 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/27 - 9/2
0: Introduction Distance Student Responsibilities 1: C/C++ Basics Stroustrup on C++11 2: C/C++ Control Flow COP3014 Chapter 6: Arrays 3: C/C++ Functions COP3014 Chapter 7: Pointers
Is Tech Destroying Jobs? Ch 1,2 Ch 3,4 Ch 5
Establish CS Login Assignment 0: Create Portfolio Register For Exams [Distance Students Only] Project 0: The Programming Environment (self-eval)
ASAP ASAP+1 9/9 9/9 2 9/3 - 9/9
4: C++ Classes 1 Classes1.mp4 5: C/C++ Pointers Pointers.mp4 6: C++ Classes 2 Classes2-1.mp4 Classes2-2.mp4
Ch 6 Ch 9,10 Ch 7,8
Quiz 1 Project 1: Sorting Strings
9/16 9/16 3 9/10 - 9/16
7: Bit Vectors BitVectors.mp4 8: C++ Classes 3 Classes3.mp4
Ch 11 Ch 14
Project 2: Class ID Product.mp4
9/23 4 9/17 - 9/23
Buffer Week Take Practice Exam 1
Ch 1-10,14
Project 3: BitVector
10/7grace period ends 11/25 9/24 - 9/30 Exam 1 Covers Weeks 1 - 4 Exam windows run [Sat - Fri]! 9/28 [Fri] 6 10/1 - 10/7
9: I/O IO.mp4
Independent Study: Ch 12
10/14 7 10/8 - 10/14
10: C++ Classes 4 Classes4.mp4
Ch 15
Project 4: DOT Common Carrier Framework
10/21grace period ends 11/98 10/15 - 10/21
10: C++ Classes 4 Classes4.mp4
Ch 15
Project 5: DOT FastLane SunPass.mp4
10/28grace period ends 11/99 10/22 - 10/28
11: C++ Templates
Ch 16
Project 6: Sort Templates
11/411/1110 10/29 - 11/4
12: Data Structures ADTs.mp4 13: Introduction to fsu::List 14: Linked List Programming
Ch 17 Take Practice Exam 2
Project 7: Stack Project 8: Queue
11/1812/212/2 11 11/5 - 11/11 Exam 2 Covers Weeks 1 - 8 Exam windows run [Sat - Fri]! 11/9 [Fri] 12 11/12 - 11/18
Buffer Week
13 11/19 - 11/25 Thanksgiving Week 14 11/26 - 12/2
Recursion
Ch 13
15 12/3 - 12/9
Buffer Week Take Practice Exam 3
Ch 1-17
12/7 16 12/10 - 12/16 Final Exam / Exam 3 Covers Weeks 1 - 15 Exam windows run [Sat - Fri]! 12/14 [Fri] Ω 12/17 - 12/18 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.