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:
- exploring and implementing problems using C++ language.
- adhere to a strict programming guide to promote basic
principles of software engineering
- Learn how to break apart complicated problems into simple
tasks and combine these simple tasks to formulate a
solution.
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
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