CS 204 • Midterm I • Advanced Programming
“Gayet güzeldi.”
Batuhan Köse
Mühendislik ve Doğa Bilimleri Programları
Kaldığımız yerden devam Sabancı! CS 201 dersinde temellerini attığımız programlamada bayrağı bir adım öteye taşıyoruz! Bu dersle beraber hem ileri programlama tekniklerini öğrenecek, hem de geçmiş sınav soruları baz alınarak hazırlanmış detaylı konu anlatımları ve örneklerle sınava hazır hale geleceksin!
Eğitmenler
Ertuğrul Altun
BSCS
Marmara Üniversitesi Bilgisayar Bilimi ve Mühendisliği bölümünden 2019 yılında mezun oldum. C/C++, Java, JavaScript ve TypeScript dillerinde ileri seviye programlama yapıyorum. 2020 yılından beri Software Engineer olarak bir özel şirkette çalışmaktayım. Okuduğum süre içerisinde ve sonrasında Bilgisayar Mühendisliği alanında çeşitli konularda özel ders verdim.
Ömer Faruk Altun
Co-founder & Head of Education
2011 yılında Endüstri Mühendisliği okumak için başladığım Sabancı Üniversitesi'nden 2018 yılında Bilgisayar Mühendisi olarak mezun oldum. 13 yıldır Altun ismiyle başta Sabancı Üniversitesi olmak üzere çeşitli okullarda Endüstri ve Bilgisayar Mühendisliği alanlarında ders vermekteyim. Unicourse'ta sunduğum derslerin yanında eğitim departmanının da sorumluluğunu üstlenmekteyim.
Paketi Tamamla
🎓 Sabancı Üniversitesinde öğrencilerin %92'si tüm paketi alarak çalışıyor.
Konular
Preprocessor and Macros
How do computers work?
Preprocessors - 1
Preprocessors - 2
Macros
Pointers and Dynamic Memory Allocation
Introduction
Definition and Decleration
Assignment and Dereference
Be Careful!
Pointer of Pointers - new Keyword
Pointers with Arrays
sizeof() - malloc() - free()
delete Keyword
Pointers as Function Parameters
Pointers of Functions
Pointers of User-Defined Classes
Static Array vs Dynamic Array
2D Static Arrays
2D Dynamic Arrays
Efficiency of Pointers
Linked Lists
Some Background Information
What is a linkedlist?
Reminder: Structs
Constructing Linkedlists
Head and Tail Pointers
Printing a Linkedlist
Adding a Node to the End
Adding a Node in between Two Nodes (Add to a Sorted List)
Finding a Node in the List
Deleting a Node
Deleting the List
Linked Lists: Circular
What is a Circular Linkedlist?
Constructing the List
Adding a Node to the Beginning/End
Adding a Node in between Two Nodes (Add to a Sorted List)
Counting Number of Elements
Finding a Node in the List
Deleting a Node
Linked Lists: Doubly
Constructing the List
Adding a Node to the Beginning
Adding a Node In Between two Nodes (Add to a Sorted List)
Adding a Node to End of the List
Deleting a Node from the Beginning
Deleting a Node in between Two Nodes (Deleting from a Sorted List)
Deleting a Node from the End
Finding a Node in the List
Linked Lists: Multi-dimensional
2D Linkedlists
Hybrid Linkedlists
Constructing the List
Adding a PRIMARY NODE to the End of List
Adding a PRIMARY NODE in Between two Nodes
Adding a SECONDARY NODE to the End of a Row
Adding a SECONDARY NODE in Between two Nodes
Deleting a SECONDARY NODE
Deleting ALL SECONDARY NODES in a Row
Deleting a PRIMARY NODE
Clearing the List
Stacks and Queues
What is a Stack?
Stack Operations
Static Int Stack Implementation
Using StaticIntStack
Dynamic Int Stack
Dynamic Int Stack Implementation
Using DynIntStack
What is a Queue?
Queue Operations
Problem with dequeue
Static Int Queue Implementation
Using StaticIntQueue
Dynamic Int Queue
Dynamic Int Queue Implementation
Using DynIntQueue
Stack vs Queue
Recursion & Binary Tree
Definition of Recursion
An Example: Factorials
Another Example: Fibonacci Numbers
Binary Search Operation
Binary Search Trees (BST)
Insertion in BST
Searching in BST
Displaying a BST
Classes and Operator Overloading
Introduction
Topic-wide Example: Set Class
Constructors
Copy Constructors
Destructors
this Keyword
Assignment (=) Operator
Add Assignment (+=) Operator
Addition (+) Operator
Addition (+) Operator: with a Foreign Object
Add Assignment (+=) Operator: with a Foreign Object
Equality (==) Operator
Output Stream (<<) Operator
🦄 Öğretici Sorular 🦄
Preprocessors / Macros
Preprocessors / Macros
Pointers (Spring 21 Final)
Preprocessors, Macros, Pointers (Spring 17 MT 1)
Pointers / Arrays (Fall 15 Final)
Pointers / Arrays (Fall 17 Final)
Single Linked Lists
Single Linked Lists
Circular Linked Lists
Circular Linked Lists
Double Linked Lists
Double Linked Lists
Hybrid Linked Lists
Hybrid Linked Lists
Stack / Queue
Stack / Queue
Recursion / Binary Tree
Classes
Classes (Fall 17 Final)
Classes (Spring 13 Final)
Classes (Spring 16 MT 2)
🦄🦄 Pekiştirme Soruları 🦄🦄
Preprocessors / Macros
Preprocessors and Macros (Spring 21 Final)
Pointers
Pointers (Spring 16 MT 2)
Pointers (Spring 17 MT 1)
Pointers / Arrays (Spring 17 MT 1)
Arrays
Pointers (Spring 13 Final)
Linked Lists
Single Linked Lists (Spring 19 Final)
Circular Linked Lists (Spring 13 Final)
Double Linked Lists (Spring 17 MT 1)
Hybrid Linked Lists (Spring 17 MT 1)
Stack (Spring 17 MT 1)
Stack / Queue (Fall 15 Final)
Recursion / Binary Tree
Classes / Queue (Spring 21 Final)
Classes / Stack (Spring 16 Final)
Classes / Queue (Spring 15 Final)
Classes (Spring 17 MT 2)
Classes (Spring 17 MT 2)
Classes (Spring 19 Final)
Classes (Spring 16 MT 2)
Classes (Spring 16 MT 2)
🦄🦄🦄 Seçici Sorular 🦄🦄🦄
Preprocessors / Macros (Spring 17 MT 1)
Pointers
Arrays
Single Linked Lists (Spring 16 Final)
Double Linked Lists (Spring 15 Final)
Hybrid Linked Lists (Spring 21 Final)
Stack
Queue
Linked List / Stack / Queue
Linked List / Stack / Queue
Linked List / Stack / Queue
Classes
Classes (Spring 21 Final)
Classes (Spring 17 MT 2)
Classes (Spring 13 Final)
Değerlendirmeler
Ders İçeriği
Preprocessor and Macros
How do computers work?
Preprocessors - 1
Preprocessors - 2
Macros
Pointers and Dynamic Memory Allocation
Introduction
Definition and Decleration
Assignment and Dereference
Be Careful!
Pointer of Pointers - new Keyword
Pointers with Arrays
sizeof() - malloc() - free()
delete Keyword
Pointers as Function Parameters
Pointers of Functions
Pointers of User-Defined Classes
Static Array vs Dynamic Array
2D Static Arrays
2D Dynamic Arrays
Efficiency of Pointers
Linked Lists
Some Background Information
What is a linkedlist?
Reminder: Structs
Constructing Linkedlists
Head and Tail Pointers
Printing a Linkedlist
Adding a Node to the End
Adding a Node in between Two Nodes (Add to a Sorted List)
Finding a Node in the List
Deleting a Node
Deleting the List
Linked Lists: Circular
What is a Circular Linkedlist?
Constructing the List
Adding a Node to the Beginning/End
Adding a Node in between Two Nodes (Add to a Sorted List)
Counting Number of Elements
Finding a Node in the List
Deleting a Node
Linked Lists: Doubly
Constructing the List
Adding a Node to the Beginning
Adding a Node In Between two Nodes (Add to a Sorted List)
Adding a Node to End of the List
Deleting a Node from the Beginning
Deleting a Node in between Two Nodes (Deleting from a Sorted List)
Deleting a Node from the End
Finding a Node in the List
Linked Lists: Multi-dimensional
2D Linkedlists
Hybrid Linkedlists
Constructing the List
Adding a PRIMARY NODE to the End of List
Adding a PRIMARY NODE in Between two Nodes
Adding a SECONDARY NODE to the End of a Row
Adding a SECONDARY NODE in Between two Nodes
Deleting a SECONDARY NODE
Deleting ALL SECONDARY NODES in a Row
Deleting a PRIMARY NODE
Clearing the List
Stacks and Queues
What is a Stack?
Stack Operations
Static Int Stack Implementation
Using StaticIntStack
Dynamic Int Stack
Dynamic Int Stack Implementation
Using DynIntStack
What is a Queue?
Queue Operations
Problem with dequeue
Static Int Queue Implementation
Using StaticIntQueue
Dynamic Int Queue
Dynamic Int Queue Implementation
Using DynIntQueue
Stack vs Queue
Recursion & Binary Tree
Definition of Recursion
An Example: Factorials
Another Example: Fibonacci Numbers
Binary Search Operation
Binary Search Trees (BST)
Insertion in BST
Searching in BST
Displaying a BST
Classes and Operator Overloading
Introduction
Topic-wide Example: Set Class
Constructors
Copy Constructors
Destructors
this Keyword
Assignment (=) Operator
Add Assignment (+=) Operator
Addition (+) Operator
Addition (+) Operator: with a Foreign Object
Add Assignment (+=) Operator: with a Foreign Object
Equality (==) Operator
Output Stream (<<) Operator
🦄 Öğretici Sorular 🦄
Preprocessors / Macros
Preprocessors / Macros
Pointers (Spring 21 Final)
Preprocessors, Macros, Pointers (Spring 17 MT 1)
Pointers / Arrays (Fall 15 Final)
Pointers / Arrays (Fall 17 Final)
Single Linked Lists
Single Linked Lists
Circular Linked Lists
Circular Linked Lists
Double Linked Lists
Double Linked Lists
Hybrid Linked Lists
Hybrid Linked Lists
Stack / Queue
Stack / Queue
Recursion / Binary Tree
Classes
Classes (Fall 17 Final)
Classes (Spring 13 Final)
Classes (Spring 16 MT 2)
🦄🦄 Pekiştirme Soruları 🦄🦄
Preprocessors / Macros
Preprocessors and Macros (Spring 21 Final)
Pointers
Pointers (Spring 16 MT 2)
Pointers (Spring 17 MT 1)
Pointers / Arrays (Spring 17 MT 1)
Arrays
Pointers (Spring 13 Final)
Linked Lists
Single Linked Lists (Spring 19 Final)
Circular Linked Lists (Spring 13 Final)
Double Linked Lists (Spring 17 MT 1)
Hybrid Linked Lists (Spring 17 MT 1)
Stack (Spring 17 MT 1)
Stack / Queue (Fall 15 Final)
Recursion / Binary Tree
Classes / Queue (Spring 21 Final)
Classes / Stack (Spring 16 Final)
Classes / Queue (Spring 15 Final)
Classes (Spring 17 MT 2)
Classes (Spring 17 MT 2)
Classes (Spring 19 Final)
Classes (Spring 16 MT 2)
Classes (Spring 16 MT 2)
🦄🦄🦄 Seçici Sorular 🦄🦄🦄
Preprocessors / Macros (Spring 17 MT 1)
Pointers
Arrays
Single Linked Lists (Spring 16 Final)
Double Linked Lists (Spring 15 Final)
Hybrid Linked Lists (Spring 21 Final)
Stack
Queue
Linked List / Stack / Queue
Linked List / Stack / Queue
Linked List / Stack / Queue
Classes
Classes (Spring 21 Final)
Classes (Spring 17 MT 2)
Classes (Spring 13 Final)
Sıkça Sorulan Sorular
Örneğin, Koç Üniversitesi - MATH 101 (Calculus) veya başka bir okulun benzer dersi olsun, paketlerimiz tam da o derse göre tasarlanır. Böylece nokta atışı çalışır, zaman kazanırsın.
Sınava özel videolar —konu anlatımları, çıkmış sorular ve çözümleri, özet notlar—içerir. Sınavda sıkça çıkan soruları hedefler. Eğitmenlerimiz, üniversitenin akademik takvimini takip ederek paketleri sürekli günceller. Böylece, gereksiz detaylarla vakit kaybetmeden başarını artırmaya odaklanabilirsin.


