# CS Study (English)

> 🧠 Learning CS concepts with the depth of a major, even as a non-major!

\


## 🌍 Language Versions

This repository contains both Korean and English versions of CS study materials:

* [**🇰🇷 Korean Version**](kor) - 한국어 버전
* [**🇺🇸 English Version**](en) - English Version

\


## 📗 Study Direction

### 1. Book Reading

* "Computer Architecture and Programming in One Book"

### 2. Lecture Learning

#### (1) YouTube Lectures

* Nullnull Developer TV
  * OS, Design Pattern, Network (⭐ Recommended)
  * Good for related field presentations (experiences, use cases)
* CS50
  * Harvard CS50 Computer Science Course
* Developer Django
  * Interview preparation possible
  * Good to watch before interviews

#### (2) MOOC Lectures

* OS
  * [Ewha Womans University Operating System by Prof. Ban Hyo-kyung](http://www.kocw.net/home/cview.do?cid=4b9cd4c7178db077) → **Adopted!**
* System Software
  * [Ewha Womans University System Software by Prof. Ban Hyo-kyung](http://www.kocw.net/home/cview.do?cid=8562026226b093ea) → Take after OS course

\


## 📗 Study Method

* Conducted by [Chloe](https://github.com/chloe-codes1) and [Ella](https://github.com/ella-yschoi)
* **Every Tuesday and Thursday at 10 PM** (about 1.5-2 hours)
* Study together with [Ewha Womans University OS Course](http://www.kocw.net/home/cview.do?cid=4b9cd4c7178db077)
* **Pause videos** when concepts are unclear and discuss
* **Write TIL by next day** for review
* **Study to explain to others**
* **Review with TIL** → **Learn new concepts**

\


## 📗 Lecture Notes

### Operating System (Operating System)

#### 🇰🇷 Korean

* [운영체제란?](kor/os/01_what_is_os)
* [컴퓨터 시스템 구조](kor/os/02_computer_system_structure)
* [프로세스 관리](kor/os/03_process_management)
* [CPU 스케줄링](kor/os/04_cpu_scheduling)
* [프로세스 동기화](kor/os/05_process_synchronization)

#### 🇺🇸 English

* [What is OS?](en/os/01_what_is_os)
* [Computer System Structure](en/os/02_computer_system_structure)
* [Process Management](en/os/03_process_management)
* [CPU Scheduling](en/os/04_cpu_scheduling)
* [Process Synchronization](en/os/05_process_synchronization)

\


## 📗 Deep Dive

#### 🇰🇷 Korean

* [블로킹 vs 논블로킹](kor/deep-dive/blocking_nonblocking)
* [캐싱](kor/deep-dive/caching)
* [인터럽트](kor/deep-dive/interrupt)
* [OS 커널](kor/deep-dive/os_kernel)
* [라운드 로빈](kor/deep-dive/round_robin)
* [유닉스 vs 리눅스 vs macOS vs 윈도우](kor/deep-dive/unix_linux_macos_windows)

#### 🇺🇸 English

* [Blocking vs. Non-blocking](en/deep-dive/blocking_nonblocking)
* [Caching](en/deep-dive/caching)
* [Interrupt](en/deep-dive/interrupt)
* [OS Kernel](en/deep-dive/os_kernel)
* [Round Robin](en/deep-dive/round_robin)
* [Unix vs. Linux vs. macOS vs. Windows](en/deep-dive/unix_linux_macos_windows)
