COP 3003 Programming II - 3 credit(s)

print[↑]
Florida Gulf Coast University
U.A. Whitaker College of Engineering
Department of Computing & Software Engineering

Course Catalog Description:

Students will expand on their knowledge base and skills gained from introductory programming. Topics include, but are not limited to, modularity (classes and packages); object-oriented concepts (e.g., encapsulation, inheritance, and polymorphism); error handling and exceptions; generics/templates; dynamic constructs and memory management encompassing pointer arithmetic, parameter passing, and dereferencing; and reuse of API/frameworks/libraries/packages (e.g., GUI, networking, persistence storage, and web). Relevant programming environments and tools (e.g., build tools), especially in the context of software engineering are also experienced. This course is delivered in C++ unless noted otherwise.

Prerequisites:

COP 2006 for level Undergraduate with minimum grade of C

Required Material:

Textbook:

The course uses an open source textbook available from LearnCPP.com.

Reference:

Use site cplusplus.com to look up standard C/C++ libraries, examples and tutorials.

Software:

The class will utilize CLion from JetBrains.com as a C/C++ development suite (IDE). CLion software is available in the FGCU AppsAnywhere catalog for download on classroom PCs. It is recommended that you bring a laptop to class and install CLion on it. A walkthrough will be provided for downloading and configuring the software.

Learning Outcomes:

Upon successful completion of this course, the student will be able to:
  • design and implement class objects.
  • use subclassing to design simple class hierarchies that allow code to be reused for distinct subclasses.
  • correctly reason about control flow in a program using dynamic dispatch.
  • compare and contrast the procedural/functional approach vs. the object-oriented approach.
  • explain the relationship between object-oriented inheritance and subtyping.
  • use object-oriented encapsulation mechanisms such as interfaces and virtual members.

Instructional Methods:

This is a face-to-face course with lectures, instructor led programming examples, and in-class labs.

Attendance:

Attendance is mandatory for all classes. Attendance will be taken and will count towards participation credit. Students should notify me at least 48 hours in advance of intent to miss a class to arrange alternate schedules for in-class assignments.

Communication:

All course related communication should be via Canvas message. Each student is responsible for checking his/her FGCU email at least once a day. The instructor will respond to your emails within 24 hours except weekends and holidays.

Topics / Tentative Schedule:

  • Programming I C++ Review
  • Data Structures: Arrays, Strings, Vectors, Pointers
  • Class Objects: Constructors, Interface, Property Accessors and Methods
  • Class Objects: Instantiation and the Big 5
  • Exam 1
  • OOP Methodologies: Inheritance, Encapsulation, Abstraction, Polymorphism
  • OOP Design, Modeling and Prototyping
  • OOP Inheritance
  • Exam 2
  • OOP Concepts - Aggregation and Composition
  • OOP Concepts - Polymorphism
  • Data Structures: Linked Lists
  • Exam 3

Assessment:

There is no grace period for late submission of assignments. All assignments with due dates and times will be posted on Canvas. Alternate schedules can be arranged ahead of time with instructor approval.

Working Independently:

Students are to work independently on all non-group assignments. It is cheating to see other classmate's work or let other classmates see yours. This does not mean you cannot assist or discuss assignments with your classmates.

*** IMPORTANT ***

Student submissions that contain work from another student or source will receive a zero for that assignment. A second occurrence will result in failing the class, and the academic sanction will be reported to the Dean of Students.

Assignments (45%):

Individual problems and small programs worked outside of class.

Exams (30%):

Written exams taken in class.

Project (15%):

Individual or team project for a medium program worked outside of class.

Participation (10%):

In class quizzes and labs, attendance, and overall participation.

Grading

GRADE GPA Range
 A  4.00 93 - 100
 A-  3.75 90 - 92
 B+ 3.25 87 -  89
 B  3.00 83 -  86
 B- 2.75 80 -  82
 C+ 2.25 77 -  79
 C  2.00 70 -  76
 D  1.00 60 -  69
 F  0.00  0 -  59