사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다.
비슷한 차트 검색기
전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?
www.similarchart.com
20살까지 중학교 수학도 모르던 예고생의 IT대학 도전기 Start! (과목별 정리)
사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간
similarchart.com
고급프로그래밍 및 실습 (C++)
2학년 1학기 전공선택과목인 고급프로그래밍 및 실습입니다. (2020년 수강)
성적
A+ (4.5)
Python, C에 이어 C++
1-1 파이썬, 1-2 C언어에 이어 2-1 C++ 수업입니다. 해당 학기에 같이 듣고 있는 교양선택 C#까지 포함하면 벌써 4개의 언어를 공부하는 셈이네요!
저는 직전 학기인 1-2에 C언어 공부를 주로 윤성우의 열혈 C프로그래밍 책으로 깊게 공부했습니다. 덕분에 수업을 잘 따라갈 수 있었죠. 수업시간에 미처 배우지 못한 내용들도 책으로 익혔습니다. 책이 마음에 들어 이번에도 같은 저자의 책을 읽으며 똑같은 방식으로 공부해보려고 합니다.
표지도 색만 다르고 동일한 것 같습니다.
C++? +면 업그레이드 버전?
C와 C++은 다른점이 뭘까요? 저는 처음에 +가 붙어있어 C의 업그레이드 버전인 줄 알았습니다. 그런데 사실상 업그레이드 버전 맞다고 생각합니다. C언어의 기능들을 거의 사용할 수 있으면서 새로운 기능들이 추가되었습니다.
새로운 기능 중 제일 중요한 기능이 클래스입니다. 사실상 이 수업은 클래스와 객체지향 프로그래밍을 C++로 배우는 수업이라고 생각합니다.
C++ vs JAVA
저는 2학년 1학기를 마치고 입대했습니다. 입대 전에는 제 진로에 대해 별 생각이 없었습니다. 그냥 수업 열심히 듣고 유니티로 게임이나 만들며 입대를 기다렸습니다.
그런데 지금 생각하면 C++ 말고 자바로 클래스와 객체지향을 배웠으면 더 좋지 않았을까 싶네요. 아무래도 저는 백엔드 개발자를 목표로 하고 있고, 백엔드 개발자들이 많이 사용하는 스프링 프레임워크가 자바를 사용합니다.
C++은 게임엔진에 쓰인다고 들었는데, 이외에는 보통 어디에 많이 쓰이는지 잘 모르겠습니다. 물론 C++을 공부한 것은 후회하지 않습니다. C++을 몰랐으면 코딩테스트와 알고리즘 대회에서 천만원 이상을 얻지 못했을 테니까요.
하지만 C++로 알고리즘 문제들을 풀며 클래스는 한 번도 사용해 본 적이 없습니다. 하지만 이 수업에서는 C++의 클래스를 배운 것만이 아닌 객체지향 프로그래밍 그 자체를 배웠다고 생각하기에 남는 것도 꽤 있었습니다. 어차피 자바나 C++이나 파이썬이나 문법이 살짝 다를 뿐이지 클래스 개념은 비슷합니다.
도형 그림판 만들기
이 수업에서 인상깊었던 과제가 있습니다. 클래스를 설계하여 동그라미, 삼각형, 사각형 등의 도형 그림판을 구현하는 과제입니다. 구현해야 하는 기능이 몇 가지 있었는데, 도형 생성, 삭제, 그룹화, 그룹화 헤제, 여러 도형 선택, 앞/뒤로 보내기 등의 기능들을 구현해야 했습니다.
C++로 마우스 이벤트를 받아 여러 로직들을 구현했는데, 생각보다 쉽지 않았습니다. 이 과제를 하며 클래스의 상속, 오버라이딩, 클래스 기반 자료구조 등을 사용하였습니다. 그렇게 한 3일 정도 열심히 해서 제출했습니다. 중간/기말고사도 나름 만족스럽게 봤습니다.
종강 후, 과제/시험을 포함한 종합적인 채점 결과가 나왔는데, 약 50명 중 제가 2등이었습니다. 예체능 출신으로 IT대학에 들어와 이리 치이고 저리 치이던 제가 비록 한 수업 안에서지만 2등을 해보다니 기뻤습니다.
결론
C언어를 공부했다면 C++은 필수까지는 아니라고 생각합니다. 하지만 C++을 몰랐다면 제 인생이 꽤 힘들었을 것입니다.
한줄평 : C++을 너무 싫어하지 말자
'예고생의 IT대학 도전기' 카테고리의 다른 글
예고생의 IT대학 도전기10 - 알고리즘 (내 인생을 바꾼 과목) (0) | 2024.02.17 |
---|---|
예고생의 IT대학 도전기9 - C#프로그래밍의 이해 (유니티로 게임만들다 망함) (0) | 2024.02.17 |
예고생의 IT대학 도전기7 - 자료구조 (우선순위 큐 같은거 꼭 알아야할까?) (0) | 2024.02.17 |
예고생의 IT대학 도전기6 - 이산수학 (그래프? 트리? 이게 수학이야?) (0) | 2024.02.17 |
예고생의 IT대학 도전기5 - C 프로그래밍 및 실습 (포인터가 그렇게 어렵다며?) (0) | 2024.02.17 |