[충남대 특별학기 신입생 멘토링] 프로그래밍 공부 가이드
안녕하세요 신입생 여러분!
신입생분들은 대부분 프로그래밍이라는 분야를 처음 접하기 때문에 공부를 어떻게 해야 할지에 대한 감이 전혀 안 잡히실 텐데요, 오늘은 프로그래밍 공부 방법을 설명해드리려고 합니다.
여러분 모두(전파공학과 진학 희망 학생 포함) 1학년 때 컴퓨터프로그래밍1, 컴퓨터프로그래밍 2 과목을 수강합니다.
인공지능학과, 컴퓨터융합학부 학생들은 자바를 배우고, 전파정보통신공학과 학생들은 c언어를 배울 거예요
저는 아래에 있는 공부 방법으로 학기 중, 방학 때 공부를 한 덕분에 학교에서 하는 자료구조, 알고리즘 등의 프로그래밍 수업 과제를 할 때 정말 수월하게 해낼 수 있었어요.
또한 학과 공부 이외에도 프론트엔드, 백엔드, 인공지능 등을 배울 때에도 원하는 기능을 구현하는 능력은 매우 중요하기 때문에 조금 힘들더라도 모두 실천해 보셨으면 좋겠어요!
지금부터 본격적으로 공부를 어떻게 해야 할지 알려드릴게요
1. 책, 강의를 보고 기본적인 문법을 익힌다.
프로그래밍 언어에는 입출력, 반복문, 조건문 등의 간단한 문법부터, 포인터, 클래스 등의 어려운 문법까지 정말 많은 문법이 존재해요. 이 문법들을 잘 익히고 사용할 수 있어야 좋은 프로젝트를 만들 수 있습니다.
제가 추천하는 방법은 책을 먼저 보고, 이해가 되지 않는 부분은 유튜브 강의를 통해 공부하는 것입니다.
책을 추천하자면
혼자 공부하는 자바 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
혼자 공부하는 자바(컴융, 인공지능)
혼자 공부하는 C 언어 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
혼자 공부하는 c언어(전정통)
입니다!
2. 프로그래밍 문제를 풀며 실력을 익힌다.
개발자들 사이에서 백문이 불여일타라는 말이 있습니다. 코드를 눈으로 100번 읽는 것보다 한번 치는 것이 훨씬 이해하는데 좋다는 뜻인데요, 저도 이 말에 정말 동의합니다. 프로그래밍 언어는 복잡하기 때문에 스스로 배운 내용을 활용한 경험이 없으면 금방 까먹어요. 코딩공부에 있어서 실습과정은 정말 필수입니다.
제가 추천하는 실습방법은 백준 플랫폼을 이용하는 것입니다.
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
위 사이트에는 다양한 프로그래밍 문제가 있는데요. 문제에 대한 코드를 작성하여 제출하면 자동으로 여러분의 코드를 채점해 줍니다.
우선, 회원가입을 하고, 어떤 문제를 풀지 고르면 됩니다.
기초를 익히는 단계에서는 알고리즘 문제를 푸는 것은 무리가 있기 때문에
단계별로 풀어보기
36유니온 파인드유니온 파인드(또는 disjoint set, 상호 배타적 집합, ...) 자료구조를 배워 봅시다.4
www.acmicpc.net
위의 단계별로 풀어보기를 각자의 진도에 맞춰서 잘 풀어보시길 추천해요
사용 방법은
여러분이 오늘 입출력과 사칙연산을 배웠다고 가정하면
여기서 입출력과 사칙연산에 들어갑니다.
그럼 이런 식으로 문제들이 뜰 텐데요, 여기서 원하는 문제를 클릭합니다.
그럼 이렇게 문제가 뜰 겁니다. 이 문제는 입출력이 필요 없으니 입력은 없고, 여러분은 Hello World! 를 출력하면 됩니다.
여기서 주의할 점은 대소문자, 특수문자, 띄어쓰기 정말 철저히 해야 한다는 것입니다.
백준에서는 컴파일(코드 돌려보기), 자동완성이 되지 않습니다. 그래서 비주얼스튜디오, 인텔리제이, 이클립스 등의 IDE에서 프로그래밍을 하고, 그곳에서 작업한 것을 복사 붙여 넣기 하여 제출하는 것을 추천해요
제출하는 방법은, 상단에 제출 버튼을 누르면 뜨는 제출 창에서
자신이 어떤 언어로 프로그래밍했는지 고른 다음, 소스코드 부분에 여러분들이 쓴 코드를 복사 붙여 넣기 하면 됩니다.
코드가 문제에서 요구한 대로 잘 작동한다면 위와 같이 맞았습니다가 뜨고 , 아니면 밑에와 같이 틀렸습니다가 뜰 것입니다. 틀렸습니다 나오면 그냥 다시 제출하면 됩니다.
백준에는 티어가 있어요.
브론즈 -> 실버 -> 골드 ->플레티넘 -> 다이아 -> 루비 순입니다.
보통 기업 코딩테스트에는 골드에서 플레티넘 수준의 문제가 나옵니다!
여러분들이 문제를 풀면 풀수록 여러분들의 티어도 올라갑니다. 백준은 티어 올리는 재미도 있으니 꼭 한번 해보셨으면 좋겠어요!
만약 풀다가 도저히 못하시겠다면 문제 번호를 구글에 검색해보세요 많은 분들이 해결방법을 잘 정리해 두셨을 겁니다
3. 블로그에 정리한 내용 올리기
개발 분야 특성상 본인이 어떤 공부를 어떻게 했는지를 어필하는 것이 굉장히 중요해요. 그리고 다양한 언어와 분야를 배우기 때문에 본인이 과거에 공부했더라도 그 내용을 쉽게 까먹을 수 있기 때문에 복습할 자료가 있어야 해요. 이를 위해 추천하는 것이 기술블로그 쓰기입니다.
여러분이 구글링 하다 보면 정말 엄청난 기술블로그를 많이 보실 겁니다. 이런 블로그들을 보고 겁먹고 블로그를 시작하기 두려워하실 수 있는데요, 여러분이 보시고 있는 제 블로그처럼 공부한 내용을 본인이 알아볼 수 있을 정도로만 정리하는 것도 충분히 괜찮아요. 기록을 남기는데 의의를 두면 됩니다!
Shin._.Mallang
https://github.com/shin-mallang 충남대학교 컴퓨터융합학부 19학번, 우아한테크코스 5기 BE
ttl-blog.tistory.com
위 블로그는 컴퓨터융합학부 선배님의 블로그인데요, 정리가 너무 잘 되어있습니다. 학과 과목 관련해서도 글을 정말 잘 써주셔서 저도 도움을 많이 받았어요! 참고해 보시면 좋을 것 같아요.
학교생활하면서 은근 자소서 등 본인을 소개해야 할 때가 많은데, 이때 열심히 정리한 블로그 링크를 첨부하면 본인의 성실성과 실력을 잘 어필할 수 있어요. 조금 귀찮더라도 지금부터 천천히 실천해 보세요!
여기까지가 제가 준비한 학습방법들입니다!
궁금한 점 있으면 댓글이나 멘토링 오픈채팅방에 질문 남겨주세요🖐️