Programming Fundamentals
Bjarne Stroustrup took the most popular language for commercial
software development, C, and extended it into C++ to provide the features
needed in object-oriented programming.
Course:
Instructor:
Timings:
Course Synopsis: An introduction to Programming Fundamentals using C++. Starting
from algorithms and how they can be applied to solve day to day
problems. Introduction to Object Oriented Programming and how it
blends in with procedural programming style; Major topics covered
are: C++ basics, Control operations, Loops, Structures, Functions,
Arrays, Objects and Classes.
Course Outline:
Introduction: Course Objectives, Problem Solving and Algorithms,
Procedural Programming, Object Oriented Programming, Compilers,
C++ Brief History, Development Environment, Course administration
issues, recommended books.
[1 lecture]
Programming Basics: C++ program structure, Basic Terms, Cout,
Comments, Simple data types, char, int, long, float, double, Arithmetic
operators, expressions, identifiers, and reserved words.
[3 lectures]
Loops and Decisions: Need for decision in problem solving, decision
based on conditions, conditional IF statement, nested IF statements,
Switch Statement, Logical Operators, Repeating parts of a program,
While, Do-While, and FOR statement.
[4 lectures]
Structures: Defining structures, Accessing structures, examples
using structures, Embedded Structures, Enumerations.
[2 lectures]
Functions: Software development, divide and conquer, need for
subprograms, Functions and procedures, Passing arguments by value
and reference, Returning values from functions, Overloaded functions,
Inline functions, default arguments, Variables, storage kinds and
visibility, Recursion.
[5 lectures]
Handout 01a (course outline) -1- Programming Fundamentals
Objects and Classes: Classes, C++ objects as physical objects, as
Data Types, Constructors, Objects as Function Arguments, Returning
Objects from Functions, Static Class Data.
[5 lectures]
Arrays and strings: Fundamentals of arrays, single and
multidimensional arrays, Arrays as Class Member Data, C-strings,
using the standard C++ class string.
[4 lectures]
Pointers: Addresses and pointers, Pointer variables, Pointer and
Arrays, Pointers and Functions, Memory management using new and
delete, Making a linked list.
[4 lectures]
Course Grade Distribution:
Course
Final Exam
Midterm Exam
Quizzes
______________________________________________________
Laboratory
Demo of Prog Assignments
Final Assignment/Lab
Programming assignments will be kept simple, requiring not more than
3-5 hours of programming time (i.e. on the computer, though you
might spend some time beforehand on planning). You should expect at
least 9 assignments, depending on the work load. They will be
designed to illustrate various issues, techniques, and methods under
discussion in the class lectures.
The exams will be open book and straight forward. They will not be
used to test your memory or thorough coverage of the course material,
but just to see if you have grasped the fundamental concepts of
programming in C++ and how to solve simple problems by using this
knowledge.
Text Book: Robert Lafore, “Object Oriented Programming”, 4th Edition.
Reference Book: Greg Wiegand , “Teach Yourself C++ in 21 days”, 2nd Edition. Online
version.
Handout 01a (course outline) -2- Programming Fundamentals