Personal Homepage

1. Introduction (소개)

1.1. Self-introduction

  • Introduction

  현재 성균관대학교 수학과와 소프트웨어학과를 복수전공하고 있는 5학기 재학생 김지훈입니다. 수학 전공을 통해 얻은 문제 해결 능력과 추상적인 사고력은 업무 분석과 최적화에 큰 도움이 될 것이며, 소프트웨어학과 전공을 통해 얻은 프로그래밍, 알고리즘, 컴퓨터 구조에 대한 지식은 직접적인 구현에 도움이 될 것입니다.

  • 열정

    저는 어떤 일이든지 열정적으로 참여하며, 적극적인 태도로 일에 임하는 성격입니다. 학교 홍보대사로 활동하며 많은 양의 업무 때문에 포기하는 학우들이 종종 있었는데, 저는 포기하지 않고 끝까지 해내었습니다. 일에 대한 접근은 “일단 해봐야겠다”라는 마음가짐으로 시작하며, 실패를 두려워하지 않고 도전하는 성격입니다.

    성공하는 것은 물론이고 실패하는 경험에서도 많은 교훈을 얻을 수 있다고 생각합니다. 실패한 원인을 깊이 분석하고 다음번에 더 나은 결과를 얻기 위해 어떻게 재도전해야 하는지와 같이 자기 피드백을 끊임없이 던지기도 합니다.

  • 끈기

    또한 저는 하나에 몰두하면 그 일에 푹 빠지는 성격입니다. 대충대충 넘어가는 것을 힘들어하며, 때로는 주변 사람들이 “그 정도면 되지 않았냐”라는 이야기를 할 때도 있습니다.

    이러한 성격은 제 단점이지만, 끈기 있게 하나를 끝까지 해내는 것으로 제 장점으로 승화시킬 계획입니다. 물론 너무 과도하게 이러한 성격을 발휘할 경우 팀원과의 갈등이 생길 수 있음을 인지하며, 적절한 조절을 통해 융통성 있게 상황을 대처하고자 합니다.

1.2. Career summary

1.2.1. 학부연구생 & KSIAM

  2022년도 2학기 수학과 홍영준 교수님 밑에서 학부연구생을 진행하였습니다. 매주 이틀씩 연구실에서 진행하는 세미나 및 스터디에 참여하며 Graph에 대한 개념 및 GNN 관련 지식들을 배울 수 있었습니다.

  또한 KSIAM에서 그래프 신경망과 생성모델에 대한 여러 세미나들을 들을 수 있는 겨울학교에 참여하였습니다. 모든 것을 이해하기에는 어려움이 있었지만 눈을 넓히고 다양한 지식들을 얻을 수 있는 경험이었습니다.

겨울학교 안내 포스터 : 2023년 겨울 인공지능 튜토리얼 - 그래프 신경망과 생성모델

Study GitHub Address : GNN Tutorial

1.2.2. 학교 홍보대사

  입대 전까지 학교 홍보대사로서 학교 행사에 적극적으로 참여하고 학교 홍보를 위해 노력하였습니다. 고등학생들에게 멘토 활동을 진행하고, 입학설명회, 캠퍼스 투어 등을 통해 학교에 대한 긍정적인 이미지를 전달하였습니다.

1.2.3. 수학과 부학생회장

  전역 이후 수학과 학생회에 들어가 기획부원으로서 다양한 사업들을 기획하고 진행하였습니다. 수학 골든벨 대회, 수학캠프 등의 행사들을 성공적으로 진행하였습니다. 올해는 수학과 부학생회장으로 활동하고 있으며, 다양한 행사와 사업들을 주도적으로 기획하며 진행하고 있습니다. 학생들의 의견을 수렴하며 학교생활의 질을 향상시키기 위해 노력하고 있습니다.

1.3 Educational Background

  • High School : Sejong Academy of Science and Arts <2016.03. ~ 2019.02.>

  • University : Sungkyunkwan University <2019.02. ~ Now>


2. Skills

2.1. Data structures

  Array, Linked List, Queue, Stack 구조부터 Graph, Tree, Binary Heap, Priority queue, Binary Search Tree, AVL Tree, 2-3 Tree, Red Black Tree 등의 자료구조에 대한 이해도가 있고 구현할 수 있는 skill이 있습니다.

  또한, 어떤 특정 데이터가 있을 때, 그 데이터의 구조 및 삽입과 삭제의 비율, 사용하는 언어의 특징 등을 고려하여 가장 효율적인 자료구조가 어떤 것인지 판단할 수 있습니다.

2.2. Algorithms

  Insertion sort, Merge sort, Heap Sort, Quick sort 등 각 sorting 알고리즘의 구조 및 장단점, 특징에 대한 이해도가 있고 직접 코드로 구현할 수 있습니다. 기존의 Quick sort의 문제점에 대해 알고 이를 대부분 해결할 수 있는 Randomized Quick sort를 구현할 수 있습니다.

  또한, Back-tracking, Greedy algorithm, Dynamic programming이 각각 무엇인지 알고 어떤 상황에 사용해야 하는지 판단할 수 있습니다. 위 알고리즘을 활용하여 DFS, BFS, Dijkstra Algorithm, Prim’s Algorithm, Kruskal Algorithm 등의 알고리즘을 구현할 수 있고 Longest Common Subsequence(LCS), Knapsack problem 등의 문제들을 해결할 수 있습니다.

  NP-Hard, NP-Complement와 같이 주어진 문제가 polynomial time으로 optimal solution을 구할 수 없는 문제인지 판단할 수 있고, approximation solution을 polynomial time으로 구하는 사고를 할 수 있습니다. 자연어 처리를 하여 딥러닝을 하는 것 또한 이러한 NP 문제들을 해결하기 위한 목적임을 인지하고 있습니다.

2.3. Programming Languages

  • C언어 : pointer, structure 등을 다룰 수 있습니다. 또한, 위에서 언급한 자료구조 및 알고리즘을 능숙하게 활용할 수 있습니다.

  • Python : class, dictionary 등 다양한 자료구조를 다룰 수 있습니다. 또한, 위에서 언급한 자료구조 및 알고리즘을 능숙하게 사용할 수 있습니다.

  • JAVA : class, method, extend, implement, Override, GUI, Thread 등 다양한 개념과 기능들을 활용할 수 있습니다.

  • Linux : 기본적인 Linux 명령어들을 다룰 수 있으며, ssh를 통한 port 연결과 vim 편집기를 사용하는 데에도 능숙합니다.

  • Git : 기본적인 Git 명령어들을 다룰 수 있으며, commit의 개념을 이해하고 활용할 수 있습니다. 또한, clone, fork, branch 등의 기능을 활용하여 협업 프로젝트를 원활하게 진행할 수 있습니다.

GitHub address : JihunSKKU GitHub

GitHub Blog address : JihunSKKU Blog


3. Education

Sungkyunkwan University Suwon, South Korea

  • Grade :

    • Bachelor of Science in Mathematics [2019.02. ~ Now]

    • Bachelor of Software [2022.08. ~ Now]

  • Credit : 103 Credit completed

  • GPA : 4.32 / 4.5

  • Coursework (전공 과목만 작성하였습니다) :

    • Mathematics (30 credit - GPA 4.5 / 4.5)
      정수론, 미분방정식, 해석학, 선형대수, 기하학일반, 전산응용수학, 과학계산과 딥러닝, 통계학원론, 현대대수학1, 복소해석학

    • Software (16 credit - GPA 4.44 / 4.5)
      시스템프로그램, 자료구조개론, JAVA프로그래밍실습, 알고리즘개론, 컴퓨터구조개론, 오픈소스소프트웨어실습

    • Common (2 credit - GPA 4.5 / 4.5)
      빅데이터와 인공지능을 활용한 시스템 강건 설계

    • 이번학기 수강중인 강의 (17 credit)
      운영체제, 현대대수학2, 데이터베이스개론, 기계학습원론, 웹프로그래밍실습


4. Achievements and Certifications

4.1. Develop a Shooting Game

  • Programming Language : JAVA
  • Type of Project : Personal project
  • Github Address : JAVA Shooting Game

    JAVA Shooting Game

  JAVA GUI를 활용하여 shooting game을 제작해보았습니다. Multi-threading, Exception handling, GUI 등의 기술이 사용되었습니다.

4.2. MNIST CNN

  Pytorch library를 이용하여 MNIST dataset을 CNN으로 학습시켰습니다.

참고자료 (아래 본문들에서는 Tensorflow를 사용하였지만 기본적인 아이디어들을 얻었습니다.)

4.3. Analysis of Numerical Integration Algorithms

  Python을 사용하여 수치적분 알고리즘인 Forward Euler, Backward Euler, Trapezoid Method를 구현하고 성능 분석 및 정확도를 비교해보았습니다.


5. Contact

Contact Information
Email kjh31021@g.skku.edu
GitHub https://github.com/JihunSKKU
Phone Number 010-3553-0180