POCU COMP2500 후기

2023. 8. 21. 23:22회고


수업 내용

1주차 : 자바 언어 기초(메인 함수, 출력, 패키지, 컴파일, JVM, 기본적인 자료형과 연산자)에 대해서 배우게 됩니다. 메모리와 패키지 그리고 자바의 역사 등 배워갈 것이 많았습니다.

 

2~3주차 : OOP 기초 개념(4대 특성)과 간단한 모델링을 바탕으로 캡슐화부터 배우게 됩니다. 강의 빌드업이 엄청 잘 되어있습니다. 특히 과제와 실습과의 연계도 좋습니다. 왜 OOP가 만들어졌는지 몸으로 와닿을 수 있는 강의입니다.

 

4주차 : static(정적) 개념과 싱글톤 패턴에 대해서 배우게 됩니다. 과제도 매우 구현이 재미있고 정말 도움이 많이 되었습니다. 다만 내포 클래스 관련 문법이 어지럽고 어렵습니다. 그리고 중간고사에 노란색 마킹 부분도 많이 나온다는 것을 알 수 있었습니다. 시험을 대비하고자 한다면 꼼꼼하게 내포 클래스 관련 문법도 잘 숙지해야합니다.

 

5주차: 상속에 대해서 배웁니다. 상속과 컴포지션의 비교, 접근제어자, RTTI 등 주제를 다루게 됩니다. 특히 상속과 캐스팅에 대한 부분은 정말 잘 설명해주십니다. 컴파일러까지 깊게 설명해주시기 때문에 많은 도움이 되었습니다.

 

6주차 : 상속을 바탕으로 다양한 개체 모델링을 실습하는 식으로 강의가 흘러갑니다. 이 강의는 코딩 경험에 따라 강의를 흡수하는 정도가 많이 달라질 것 같습니다. 저 같은 경우는 최대한 객관적인 근거를 들어서 사례의 장점과 단점에 대해서 설명해주시기는 하는데 강의에서 배울 수 있는 한계가 있다고 느꼈습니다. 하지만 실전에서 고수 프로그래머들이 OOP 모델링에서 어떤 고민을 하는지 느낄 수 있습니다. 그리고 다양한 코딩 경험(?) 이 상황이라면 어떻게 할 것인가? 이런 점을 배울 수 있습니다. 강의 내용에 대한 복습이 많이 필요한 주차였습니다. 실습 코드도 따라서 쳐보면서 손으로 느끼는 부분도 필요했습니다.

 

7주차 : 이전 내용에 대한 정리와 더불어 컴포지션과 상속을 비교하면서 상속에 대한 내용을 정리하는 주입니다. 6주차와 마찬가지로 좋은 코드 샘플을 바탕으로 수업을 진행합니다. 올바른 재사용성에 대해서 배울 수 있습니다.

 

8주차 : 중간고사

 

9주차 : 다형성에 대해서 배우게 됩니다. 인터페이스화 함수 포인터, 추상클래스 그리고 앞의 주에서 배웠던 코드 샘플에서 다형성을 이용하게 됩니다. 누적으로 복습할 것이 많아지는 주였습니다.

 

10주차 : 의존성과 결합도에 대해서 배우게 됩니다. 프레임워크와 같은 큰 프로그램들을 사용해봤다면 더 와닿을 수 있는 강의입니다. 역시나 좋은 코드로 수업을 진행합니다. 과제 3은 개인적으로 매우 어려웠습니다, 개인적인 사정으로 시간도 부족했기도 하지만...

 

11주차~: 디자인 패턴, SOLID, 다양한 소수설, 예외까지 약간의 썰풀이도 있는 수업이 진행됩니다. 디자인 패턴 수업은 POCU 풀코스를 수강하지 않더라도 추천하는 수업입니다. 경험에서 나오는 설명들이 정말 좋았습니다. 그리고 예외 실습도 정말 재미있고 많은 도움이 되었습니다. Java의 특수한 예외 처리 등을 역사와 함께 배울 수 있습니다.

 

13주차  : 기말고사

아쉬운 점

 과제, 실습에 시간이 많이 소모됩니다. 보통 주말에 10시간 이상을 쓰고, 평일에 1시간 정도씩 코딩을 해놓았을 때 결과가 좋았습니다. 물론 그만큼 코딩을 강제로(?) 많이 하기 때문에 공부를 많이 할  수 있었습니다.

 하지만 공부량과 별개로 과제에서 주관적인 부분이 많기 때문에 삽질로 시간을 보내는 경우가 정말 많습니다. 이게 좀 많이 짜증날 수 도 있습니다... slack에서 토론을 할 수 있는데 이번 클래스의 경우 엄청 활발한 편은 아니라서...

 그리고 뭔가 이런 삽질에 대한 설명을 slack에 글로 적어서 옮기는게 정말 어려운 것 같습니다. 그래서 조교님들의 도움을 받기도, 또 요청하기도 좀 애매했습니다. 저의 경험으로는 설계 부분 말고 코딩에서 할 만한 실수(반복문에서 변수 초기화가 안 됬다거나, 클래스 레벨에서 쓰이는 static 변수 처리에 오류가 있다던가)에서는 조교님들의 도움을 많이 받을 수 있었습니다. DM으로 다른 수강생 분과도 토론을 한적이 있는데 정말 설계 관련 토론은 쉽지가 않더군요.. 뭔가 정답이 애매하고 빌드봇이 어떤 식으로 채첨하는지 정말 몸으로 부딪히면서 알아내야 했기 때문입니다... 그래서 어 이게 왜 통과하지(?)를 명쾌하게 다른 사람에게 설명하기 어려웠습니다. 이런 이유로 생각보다 수강생 중에서 포기하는 분들이 좀 있었던 것 같습니다. 저도 과제3 부터는 개인적인 사정으로 바빠져서 집중하기도 어려웠고요 ㅠㅠ 여튼 정말 시간을 많이 사용해야합니다!!

 그리고 시험이 어렵습니다... 그리고 생각보다 문법적으로 악랄(?)하게 출제가 되기 때문에 정말 꼼꼼하게 공부하셔야합니다. 

좋았던 점

국내 OOP 관련 수업에서 이만한 실습과 과제 그리고 수업을 제공하는 기관이 있을까요? 아마 최고라고 생각합니다. 강사님 설명도 정말 좋습니다. 그리고 초보자라면 초보자 나름, 코딩 경험이 많은 숙련자더라도 배워갈 것이 많은 수업이라고 생각합니다. 실습과 과제가 IT 여러 분야의 전반적인 도메인을 바탕으로 주어집니다. 이게 정말 좋은 경험이 될 것이라고 생각합니다.

결론

10점 만점에 9점입니다.

아쉬운점에서 언급한 내용 때문에 만점은 받지 못했지만 국내에서 최고의 OOP 강의라고 생각됩니다.