Introduction to programming in C++ and object-oriented programming - encapsulation using classes, inheritance, etc.
Lecture 15: Final Exam Review and Dynamic AllocationIn this lecture, we review key concepts that will be covered by the final exam. Also, we discuss more details pertaining to dynamic allocations, including motivation, requesting dynamic memory, and releasing dynamic memory, that will not be covered on the final exam.
Lecture 14: Introduction to PointersWe discuss the details of pointer values and types in C++ in this lecture. We conclude with a very brief introduction to dynamic allocation and some other motivation behind pointer types in C++.
Lecture 13: More Operator Overloading and StacksWe begin this lecture by discussing operator overloading in more detail. The lecture concludes with details on designing a stack data structure class.
Lecture 12: Member Functions and Operator OverloadingIn this lecture, we discuss possible solutions to the Fraction homework, as wel as briefly touch on overloading the insertion operator for the Fraction class.
Lecture 11-Constructors and ClientsIn this lecture, we continue our discussion of Object-Oriented Programming. Specifically, we introduce the idea of member functions to create objects. Such functions are called contructors. We then go on to discuss the various ways clients of the Fraction class can use objects of type Fraction. We conclude with homework problem discussions.
Lecture 10-Introduction to Object-Oriented ProgrammingThis lecture is an introduction to Object-Oriented programming. We first begin by describing some motivation of objects. Then, we discuss the mechanics of classes, including how they are declared, the various keywords used, etc. We conclude with several implementation details pertaining to how classes are typically split into different files to facilitate separate compilation.
Lecture 9-Parameter Passing and Void FunctionsIn this lecture, we mainly discuss function parameter passing modes, namely, the differences between call-by-value and call-by-reference. We then go on to discuss void functions and using arrays as arguments to functions.
Lecture 8: Introduction to Value Returning FunctionsIn this lecture, we introduce the notion of value returning functions in C++ and provide several examples. Value returing functions are quite similar to functions you would, say, see in excel. However, there are some important differences that we will notice between the two later in the course, particularly in respect to parameter passing modes. We cover both using pre-definied functions and creating programmer-defined functions. Lastly, we finish with a brief introduction to separate compilation.
Lecture 7: Palindrome homework discussion and arraysIn this lecture, we mainly discuss the details and requirements of the Palindrome homework assignment, however, doing so also entailed discussing many details of static arrays in C++. Specifically, static arrays will have two notions of size, i.e., a maximum size (the maximum number of elements an array can hold) and an actual size (the number of valid elements the array currently holds). Lastly, we discuss and develop an algorithm to solve the homework problem.
Lecture 6: Loops and Intro to ArraysIn this lecture, we begin by explaining answers about boolean operations and variable scopes raised in the last class. We then go on to discuss global variables and named constants. The focal point of the lecture, repetitive statements in C++, comes next.