updated (2022.12.06): my notes on OOP
[1] Intro to Object-oriented programming - classes, objects, constructors, keywords[2] Intro to Object-oriented programming - All about the “static” keyword[3] Intro to Object-oriented programming - 4 Basic Principles of OOP[4] Intro to Object-oriented programming - Access control and about the Object class[5] Intro to Object-oriented programming - Abstract classes and Interfaces in Javagoing back to basics
Get the fundamentals down and the level of everything you do will rise - Michael Jordan
It’s been 2 years since I took Algorithm Analysis course (final grade: A+), 3 years since I took the Data Structures course (final grade: B+) and 4 years since the Object Oriented Programming course (final grade: A0).
Not that I’ve completely forgotten how to apply the concepts I learned as a CS major - but honestly when working in the industry, I find myself googling simple concepts that I should have memorized? before
I understand that there’s a reason why software companies and university courses require you to have a strong technical understanding of data structures, algorithms and OOP because it helps you immensely when tackling a problem.
the actual reason why
As someone who aspires to
- be a
greatabove-average full-stack developer (so that includes back-end in addition to my current skill-set)
- apply for MEng in Computer Science courses at top US universities (courses which are industry-oriented rather than research-oriented)
I should be familiar with the topics which are considered prerequisites:
Cornell MEng in CS prerequisites

UC Berkeley MEng in CS prerequisites:

(technically, I have finished the prerequisites in university but I feel the need to strengthen the fundamentals further which will hopefully make me a better problem-solver 😁)
my study plan
I have designed a course for myself to revise the important courses I took years ago, and re-activate the logical reasoning part of my brain 😂
All the resources listed below are free, available on YouTube.
With each video lecture, I will be posting my notes on the topic on this blog - stay tuned for that! The code will be provided in GitHub repos and I’ll be mainly using JAVA for coding.
Object-oriented programming:
Following is the playlist I’ll be using:
Language used: JAVA or C++
Data structures
Language used: JAVA and Python and maybe even TypeScript
Algorithm analysis
This playlist helped me SO MUCH when I had trouble understanding the concepts taught in class (yonsei’s online lectures make me sleepy 😆🤡)
ISTG this professor is one of the best on YouTube
Language used: JAVA or Python
my expectations
- strengthening my technical background further,
- practicing having a clear language to convey or express logical ideas,
- preparing myself to be successful in a MEng in CS course
- future employment at big tech followed by becoming a founding member of a startup (either in Korea or the US)
.gif)

![[2] Intro to Object-oriented programming - All about the “static” keyword](https://www.notion.so/image/https%3A%2F%2Fi.pinimg.com%2F564x%2F9b%2Fa0%2F0c%2F9ba00cc2a9de97e6611ed79140067576.jpg?table=block&id=a86b0d0e-4737-40b2-a104-90336eaa8cc9&cache=v2)
![[3] Intro to Object-oriented programming - 4 Basic Principles of OOP](https://www.notion.so/image/https%3A%2F%2Fi.pinimg.com%2F564x%2F8f%2F03%2F87%2F8f03876142106b4d3474f2c04abb6d6b.jpg?table=block&id=7e619463-9b75-4408-972a-12d502ba55de&cache=v2)
![[4] Intro to Object-oriented programming - Access control and about the Object class](https://www.notion.so/image/https%3A%2F%2Fi.pinimg.com%2F564x%2Ff8%2F3e%2F38%2Ff83e38cee7f8786c33c3418d1f288f71.jpg?table=block&id=cf730a78-4f56-4379-992a-b558ceb4af93&cache=v2)
![[5] Intro to Object-oriented programming - Abstract classes and Interfaces in Java](https://www.notion.so/image/https%3A%2F%2Fi.pinimg.com%2F564x%2F14%2F4f%2F05%2F144f05f5b78e3dfb1f5798405695de06.jpg?table=block&id=cbdeef0c-a2ca-4692-af26-0914ff572a22&cache=v2)


