CSE5015 Syllabus
Instructor: Garrett Potts
email:potts@cs.fit.edu

Office Hours:  phone: x8904 Office Rm 211 Science Tower
    Monday         5:00-6:00pm
    Wednesday    10:00-11:00am

Honor Code : to be read and followed by this class.

Goals And Description

Introduction to the fundamentals of software development. Topics will include:

Book: Dietel and Dietel C++ How to Program Second edition

Grading

A 90 - 100
B 80 - 89
C 70 - 79
D 60 - 69
F < 60

20% Homework
30% Projects
50% Exams(Typically Midterm and FInal)

Course Outline

  • Introduction
  •  
  • What to expect
  • Coding standards used in this class.
  • introduce some basic types(int, float, double, long)
  • Control Structures
  •  
  • Simple if structure, if/else, while, for ,do/while , switch/case
  • Cover common programming errors.
  • Stress coding standard for the class.
  • Sample code
  • Functions
  •  
  • prototyping, naming conventions, overloading, default arguments, template functions.
  • stack.
  • Headers: What are they and what's the standard format of a header file?
  • Arrays
  •  
  • What are they?, Representation in memory, declaration syntax
  • operating on arrays
  •  
  • Basic operation
  • Passing to functions
  • Pointers and Strings
  •  
  • Similarities between arrays and pointers. basic pointer declaration.
  • calling functions by reference use of & and use of *.
  • string manipulations
  • Dynamic allocation. New standard for exception handling
  • Classes and Data Abstractions
  •  
  • Constructrs/ Destructors
  • Class scope and accessing class members
  • Separation of interface to implementation
  • Controlling access through private, protected and public
  • Access functions and utility functions.
  • Default arguments to constructor or other member functions
  • returning references to private data members.
  • Assignment operator by default
  • Constant objects and constant member functions
  • Composition, objects contained in other objects
  • friend functions and friends to classes
  • this pointer
  • static members
  • Data abstraction and information hiding
  • Container classes and iterators
  • Operator overloading
  •  
  • Fundamentals of operator overloading
  • Operator functions as class members vs. as friend functions
  • overloading stream operators, unary operator, binary operators.
  • Inheritance
  •  
  • Base and derived classes. Access modes: private, protected, public
  • cast of base class to derived class
  • overriding base-class members in a derived class
  • public, protected and private inheritance
  • Constructors and destructors in derived classes. Delete through the base pointer
  • composition vs. inheritance.
  • Generic interface(stl) as an alternative to composition and inheritance.
  • Virtual Functions and Polymorphism
  •  
  • Dynamic Binding.
  • deleting the base pointer. What happens.
  • Templates
  •  
  • Using the standard template library
  • Home: http://cs.fit.edu/~potts