SE116 Introduction to Programming II
LAB formats containing the contents and the homeworks will be here before the related LAB lecture. Make sure that you often visit this web site for all SE116 materials.
Not only you need to practise with coding, but you should understand the philosophy of the LAB works as well. It is suggested to dissect the code examples in your text book. It is also adviced to examine the related examples in other educative web pages.
Office Hours: Monday 16:00-17:00 and Wednesday 11:00-12:00
Lecture Slides & Homeworks & LABWorks
- Lecture1
This first lecture gives an overview on C++.
First of all, the students shall read the course syllabus.
Lecture1 slides
The corresponding chapter of the textbook to study for this week is Chapter#15.
The slides of the 15th chapter of the textbook (In order to acquire the password to decompress the file, you should attend to the lecture in class.)
Designer of C++ programming language is Bjarne Stroustrup
Some interesting C++ applications
A sample code to compile and build the first C++ program
A homework to do before the first LAB work. (A sample answer is here.)
extra link: Anybody can code! Visit http://code.org/
extra link: Visit free and online education sites, for example:https://www.khanacademy.org/ - Lecture2
Lecture2 introduces the classes and objects in C++.
Lecture2 slides
The corresponding chapter of the textbook to study for this week is Chapter#16.
The slides of the 16th chapter of the textbook
LAB#1
Sample solution of LAB#1 - Lecture3
Lecture3 covers the following concepts, which are explained in Chapters 17 and 18: class scope, data abstraction and information hiding, utility functions, constructors and destructors, friend functions and friend classes, this pointer, static class members.
Lecture3 slides
The slides of the 17th and 18th chapters of the textbook
LAB#2
Sample solution of LAB#2 - Lecture4
Lecture4 introduces the principles of inheritance.
Before going on inheritance, we shall think about a SoccerPlayer class together with some static data members, const methods, and friend global (non-member) functions as well.
Here is the sample implementation of the corresponding class SoccerPlayer
Lecture4 slides are the ones offered by the textbook (Lectures 5 and 6 will also cover the same slides)
LAB#3
Sample solution of LAB#3 - Lecture5
Lecture5 continues with the use of inheritance.
LAB#4
Sample solution of LAB#4 - Lecture6
Lecture6 covers object-oriented program development using inheritance.
An inheritance-based project.
Sample solution of the project.
LAB#5
Sample solution of LAB#5 - Lecture7
Lecture7 covers a review before Midterm#1.
The following questions are to be solved in lecture-class and in LAB-class as well: Exercises from textbook: 17.11, 20.2, 20.9, 20.10, and the exercise available at here. - Lecture8
Lecture8 introduces the principles of polymorphism.
Lecture8 slides are the ones offered by the textbook (Lectures 9 and 10 will also cover the same slides).
A simple introduction to polymorphism in object-oriented programming.
An introduction to polymorphism in C++.
Midterm#1 questions are to be solved in LAB. - Lecture9
Lecture9 continues with the use of polymorphism and abstract classes.
Lecture9 slides shall be the polymorphism slides available at Dr. Ufuk Çelikkan's website.
LAB#6
Sample solution of LAB#6 - Lecture10
Lecture10 covers object-oriented program development using polymorphism.
Some polymorphism-based projects.
Sample solution of the first project.
Sample solution of the second question.
Sample solution of the homework.
LAB#7
Sample solution of LAB#7 - Lecture11
Lecture11 introduces the fundamentals of operator overloading.
Lecture11 slides
The slides of the 19th chapter of the textbook
Midterm#2 questions are to be solved in LAB. - Lecture12
Lecture12 introduces the "stream" concept.
Lecture12 slides
An introduction to file I/O in C++.
LAB#8
Sample solution of LAB#8 - Lecture13
Lecture13 gives a general review.
LAB#9
Sample solution of LAB#9 - LAB assistants: Erdem Okur, Berkehan Akçay, Hande Aka, and Teoman Unay.
- HWs and LABs are not to be graded.
All grades (including final) are here.