일상/그냥 일상

3년차 개발자, 학부 3학년으로 돌아가다 (24-1학기 기록)

ghoon99 2024. 6. 30. 17:21

 

2021년부터 시작한 긴 휴학을 마치고 3년 만에 학교로 돌아왔다.

이 3년 동안에는 정말 많은 일들이 있었다. 이 기간 동안에는 개발자로서 실무를 경험하기도 했다.

 

실무를 경험하면서 CS 지식에 대한 호기심이 많이 생겼었다.

나는 정확히 "컴퓨터공학과"는 아니지만 모든 컴공 전공 수강이 인정되는 과라 1학기에는 전부 컴공 쪽 CS 과목을 신청하기로 했다.

 

정말 간만에 학교생활을 다시 하는 것인지라 걱정과 기대를 하며 개강을 맞았고

얼마 전 1학기를 나름 무사히 마치게 되었다. 

 

이번 24년도 1학기를 다니면서 있었던 일을 돌아보고자 간단히 글을 작성해보고자 한다.

 

 

24년도 1학기에 수강한 CS 전공과목들

컴퓨터네트워크

  • 배운 것 (컴퓨터 네트워크 하향식 접근)
    • OSI 7 계층
    • 네트워크의 큰 그림
    • HTTP, DNS 등
    • TCP , SR, GBN
    • IP 서브넷, 라우팅 알고리즘 (DV, LS)
    • 공유 매체에서의 충돌관리를 위한 다중접근 프로토콜
    • 물리 신호 프로세싱 방법론 등등
  • 다루지 않은 것
    • 책에 있는 내용은 심화과정 빼곤 거의 다룬 듯하다.
  • 아쉬운 것 
    • 돌아보면 1학기 중에선 제일 만족스러웠던 강의
    • 영어강의였는데, 영어를 좀 더 잘 알아들었으면 수업시간에 더 재미있었지 않았을까.. (시험기간에 따로 공부했음)
    • 다들 공부를 많이 안 했나.. SR, GBN, TCP 혼잡제어 등 공부를 했던 부분을 아예 출제를 안 하셨다. 퀴즈 평균이 낮아 시험 때 어려운 파트는 다 뻈다고…..
    • 거의 모든 개념을 베이직하게 훑은 수업이었음 근데 심화과정도 했었으면....
    • 하지만 심화과정의 진도를 나갔더라도 정작 내가 공부했을까? 는 의문

 

운영체제 

  • 배운 것 ( 그 "공룡책")
    • 커널, 시스템콜, 인터럽트
    • 세그멘테이션, 페이징, 페이지 교체 등 메모리 관리
    • 프로세스 개념,구성, 생명 주기 등
    • 스케줄러,CPU 스케줄링 알고리즘 등
    • 공유자원과 교착상태 탐지, 예방, 복구 등
  • 다루지 않은 것
    • 스레드 단원을 생략했음..
    • 파일 시스템
  • 아쉬운 것 
    • 컴퓨터 구조 지식이 부족해서 이해가 느렸던 것이 아쉽다. (CPU의 구조를 모르니 레지스터, 캐시 등등 부랴부랴 공부했던 기억이 있음)
    • 압도적인 암기량에 학기 막 바지쯤 되니 운영체제 공부를 별로 안 했다.(중간A+ 최종 B+ .. 안 한 만큼 성적도 깎였음..)
    • 스레드 파트는 왜 뺸걸까..??
    • 이것도 꽤 만족한 수업

 

 

데이터베이스

  • 배운 것
    • DBMS 사용해 보기 (VSCODE 써보는 튜토리얼이랑 다를 게 없음..)
    • SQL 문 (DML 위주)
    • SELECT를 다양한 상황에서 원하는 정보를 뽑아오도록 쿼리문을 작성하는 것 (group by, 서브쿼리, 내부 외부 조인 등)
  • 다루지 않은 것
    • 데이터베이스 모델링, 설계, ERD, 정규화, 트렌젝션 등
  • 아쉬운 것 
    • SQL 기초밖에 안 배움 (SQL 프로그래밍 입문 수업이라고 해도 될 듯....) 
    • 가장 아쉬웠던 수업. 16주 동안 2주 분량 진도밖에 안 나간 듯하다
    • 물론 프로그래머스 SQL 코테 문제 조금 풀 줄 알면 점수는 날로 먹을 수 있었다.

 

 

같은 과목, 다른 진도, 다른 평가 (feat. 교바교)

 

정규화랑 트렌젝션이 뭔지도 모르는데 데이터베이스 A+ 를 받았어요..

같은 강의명, 다른 수업방식, 분명 다 같은 데이터베이스 수업인데 어디는 SQL 프로그래밍, 어디는 고급 자바 프로그래밍 어디는 C++ MFC GUI 코딩 수업

 

솔직히 교바교가 너무 심하다.

 

교수님의 의욕에 따라 수업의 내용이 달라진다. 물론 학생들 역량에 따라서도 공부할 내용이 달라지기도 하는 것 같다.

(평균 성적이 매우 낮은 경우, 진도를 덜 빼던가 , 심화 내용을 가르치지 않기도 함)

 

자료구조만 해도 어디는 AVL트리,RB 트리를 배우고 어디는 빼버리고, 데이터베이스는 정규화도 안나가고..

같은 성적을 받아도 성적의 신뢰도가 떨어지는 것 같다.

 

사실 공부는 본인이 하는 것이 맞긴 해도... 정도가 있어야지... 독학할 거면 대학 없어도 할 수 있잖아....

이게 맞나 싶기도 하고.. 항상 그랬지만 대학의 불합리함을 한번 더 느끼고 가는 듯하다. 

 

 

학교의 시스템에 몸을 맡겼다.. 

솔직히 혼자 공부했으면 이렇게까지 했을까..

학교에서 전공과목을 수강하며, 퀴즈, 과제, 중간/기말 시험으로 평가하는 이 시스템에 탑승만 해도

일단 최소 무언가 해야 되기 때문에 뭐라도 남는 게 있는 듯싶다.

 

심지어 학교에서 멱살 잡고 공부하라고 끌고 가는데도 그 와중에 기말 때는 공부를 제대로 안 하기도 했다.

혼자 했으면 얼마나 더 안 했을까..

 

전공자들이 4년 동안 일단 학교에 앉아만 있어도 얻는 것들이 은근히 컸고 왜 전공자전공자 하는지 이해가 되는 순간......

 

 

그렇지만 시스템에 몸을 너무 맡기면...

수업을 들어야 하니 학교를 가고, 수업을 듣고 친구들과 밥 먹고, 시험기간되니 공부하고... 반복하다 눈 떠보니 종강이더라

 

적당히 능동적으로 챙길 건 챙기며 시스템을 이용해야겠다.

 

학교 생활에도 침투한 GPT 

동아리 발표에 사용한 GPT 를 이용한 공부 경험 발표 자료

 

이번 학기를 다니면서 GPT의 덕을 좀 많이 본 것 같다.

특히 수업에서 배운 내용을 정리하고, 내가 이해한 것을 되묻는 과정을 많이 도와줬다.

 

공부를 하면서 어떻게 해야 더 GPT를 잘 쓸 수 있을까에 대한 고민도 많이 할 수 있었고, 그 과정을 겪으면서 오히려 더 어떻게 잘 물어볼까를 생각하니 개념을 더 잘 이해할 수 있었다. 

 

 단순 암기/이해 보단 내가 모르는 것이 무엇인지 판단하고 질문을 어떻게 잘하는 능력, 그리고 약간의 잔머리를 잘 굴리는 능력이 더 중요해질 것 같았다.

 

 

교양 과목은 그냥 GPT + 클로바노트 로 2학점을 날먹했다. 

온라인이라 틀어놓고 과제는 GPT로 내고 무슨 수업인지도 모름

 

 

그래서 FE 실무와 CS 이론의 연관성은?

 

사실 아직까지 모르겠다..

 

가끔 반가운 것 (HTTP는 내가 매일 다루던 것.. 상태코드, 헤더, 쿠키와 캐시 등등..)들이 수업에서 나왔고

'이런 원리였구나' 하면서 흥미를 더하는 요소는 있었지만 금방 다시 지루해지더라.. 

 

언젠가 전공지식을 몰라도 일은 된다고 했는데

거꾸로 배워도 별로 당장 쓸 일이 없다는 말도 될 지도?

 

하지만 시니어쯤 되면 필요한 키워드인 건 살짝 느껴진다.

(특히 컴네 전송(TCP 전부) 응용(HTTP) 쪽은 꼭 다시 봐야 될 듯)

 

 

추가로 면접 질문에 CS 질문이 나올 때, 전에는 단순히 외웠던 것을 이야기했었다면 

지금은 진짜 배웠던걸 이야기할 수 있다는 자신감이 살짝 늘었다는 점?

(ex. 프로세스와 스레드의 차이점을 이야기해 주세요...)

 

 

언젠가 배웠던 것들이 실무에서 다시 만날 수 있기를..

 

마무리

3-1 15학점/ 4.25 로 마무리 앞으로 38학점 남았다!

 

이렇게 3년 만의 복학하고 첫 학기를 나름 잘 마치게 되었다. 

공부 외적으로도 정말 다양한 경험을 할 수 있었던 한 학기었다. 

 

 

앞으로도 남은 학기들을 재밌고 의미있게 마무리 할 수 있으면 좋겠다.

 

 

 

끝