조무위키
조무위키
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보
행위
문서
토론
편집
역사 보기
컴퓨터공학과
편집하기 (부분)
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
== 배우는것 == 자잘한 전공선택 과목들은 학교커리큘럼마다 차이가 있으니, 중추 과목들 위주로 설명한다. 내용은 추가바란다.. === 기초 수학, 프로그래밍 과목 === 1학년때는 주로 확률과통계, 이산수학, 선형대수 등 전공을 위한 기초 수학과목과 기본적인 프로그래밍 언어를 배우게 된다. 확통은 고등학교때 배운 내용의 심화버전이므로 고등수학만 다시 복습해둬도 수월하다 이산수학은 컴퓨터공학 전반적으로 쓰이는 수학적 지식을 모아놓은 과목이다. 명제논리부터 순열과조합, 수학적귀납법, 관계 등을 배우는데 고학년이 되서야 왜 배우게 됐는지 깨닫게 되는 과목이다. 선형대수는 다차원 행렬을 계산하는 법을 배우는데, 만약 영상처리나 그래픽스 혹은 인공지능 분야에 관심이 많다면 잘 공부해두길 바란다 고딩때 수학(내신문제풀이나 수능)을 떠올리고 두려워하는 친구들이 많은데, 너무 겁먹진말고 배운 내용 1~2주에 한번씩 복습만 철저히해도 평타 이상은 치니 공부하자 === 자료구조 === 링크드리스트, 스택, 큐, 트리 등 코딩 시 주로 쓰이는 자료의 구조와 구현방법을 배운다. 여기서 시간복잡도의 개념을 처음 배우게 되는데, 잘 숙지해 두는 것이 좋다. === 논리회로 === 0과 1의 신호와 AND OR NOT 게이트 로 어떻게 특정 동작을 하는 회로를 구현하는지 배운다. === 컴퓨터구조 === 컴퓨터가 0과 1로만 이루어진 기계어로 어떻게 동작하는지(CPU의 동작과정)와 컴퓨터의 연산성능을 높이기 위해 여러 공학자들이 어떤 해법을 개발해왔는지 등을 배우는 과목이다. 갠적으로 2학년 과목중 제일 흥미로웠다 === 계산이론 === === 수치해석 === 루트 2를 수동으로 계산할때 (1.4)^2 보단 크고 (1.5)^2보단 작고... 이런 식으로 계산하지? 그런거 배우는 강의다 === 운영체제 === 컴퓨터에서 프로그램을 실행시 어떤 과정을 거쳐서 동작을 하게 되는가, 하드웨어와 소프트웨어는 어떤식으로 상호작용을 하는가, 멀티프로세싱은 어떤 식으로 이루어지는가 등을 배우는 과목이다. 단언컨대 컴공에서 배우는 과목들 중 제일 중요한 과목이다 취업시 전공면접에서 항상 출제되는 과목이니 열심히 봐둬라 === 프로그래밍언어론 === 지금까지 개발된 프로그래밍 언어들의 특징들을 배우고, 우리가 실제로 프로젝트를 수행 시 어떤 언어를 채택하는게 좋은지 판단할수 있는 힘과 프로그래밍 철학을 키워주는 과목이다. 커리큘럼에 따라서 미니 인터프리터 개발을 해보는 재밌는 경험을 해볼 수 있다. === 소프트웨어공학 === 어떻게 하면 좀 더 효율적으로 프로그램을 개발할 수 있는지에 대한 설계론, 작업 방법, 분업 방식 등을 배우는 과목이다. 공학이란 단어가 들어간다 해서 새로운 수학이나 코딩같은 거 배우는 거라고 착각하는 경우가 있는데 그런 과목이 아니다. 소프트웨어 개발에 공학적인 개념을 도입하여 한정된 시간, 비용을 가지고 최상의 결과를 얻을 수 있도록 하는 프로젝트 방법론을 배우는 강의이다. 주로 폭포수모델 나선형모델 블랙박스테스트 화이트박스테스트 이런게 뭔지 이론적으로 배우고 여기서 좀 더 심화하면 UML이라 부르는 설계도를 그리기도한다. 이외에도 git을 활용한 버전관리나 표준 코딩 규칙등을 배운다. === 데이터베이스 === 컴공의 정수 과목. 사실상 전산화라는 게 기존의 수기 서류에 담긴 정보를 데이터베이스에 옮긴 뒤 이후에 저장할 정보들도 데이터베이스에 담는 시스템을 구축하는 작업인 만큼 개발, 보안, 운영 중 뭘 하든 이것만큼은 뗄 수 없는 개념이다. 그래서 전문대든 4년제든 컴공은 졸업작품을 만들 때 항상 DB를 고려할 수 밖에 없다. 너, 나, 우리가 지금 보고 있는 이 페이지도 매우 단순히 말하면 DB에 저장된 정보를 가져와 프론트엔드가 짠 와꾸에 넣어 보여준다는 개념이다. 주로 MySQL 및 SQL을 배우며 경우에 따라 한 학기내내 팀 프로젝트 형식으로 결과물을 만들어 기말 시즌에 발표할 수도 있다. ㄴ시발 어떤 장애인이 썼냐 내가 문법나치는 아닌데 적당히 좀 삐꾸내라 맞춤법 뭐 이리 많이 틀려; === 알고리즘 === 위에 DB와 더불어 이거도 컴공의 꽃이다 컴공과는 대부분 졸업 후 개발자로 입사를 하고, 그렇기에 웬만한 기업의 개발직군은 채용과정에서 서류전형 이후로 코딩테스트를 보기 때문이다 수업에선 버블정렬 이진탐색같은 이해하기 쉬운 것부터 시작해서 깊이우선탐색(DFS) 너비우선탐색(BFS) 같은 것들을 배운다 물론 학교마다 다를수잇으니 선배한테 물어보든가 강의계획서를 보든가하자 여기서 좀 진로설정과 함께 정신이 좀 깨어있다 싶은 애들은 백준 알고리즘(ACM ICPC) 같은 곳에서 알고리즘 지식을 개인적으로 학습하면 나중에 많은 도움이 된다 === 컴파일러 === 니가 c언어로 만든 프로그램은 C파일 -> (컴파일러) -> ASM 파일 -> (어셈블러) -> 오브젝트 파일 -> (링커) -> ... 순으로 실행파일로 바뀌는데, 이 C언어 파일을 어셈블리 파일로 바꿔주는 소프트웨어와 알고리즘을 배운다. === 네트워크 === 코딩이 싫어도 이것만큼은 기본 베이스로 깔아야한다. 시스템 운영관리 직무 및 보안 분야 면접에서 많이 물어보기때문. (OSI 7계층 동작 순서나 TCP의 3way handshaking 설명하랫는데 어버버거리면 나가리 된다) 그래서 시스템 문제 발생시 대응 상황, 예를 들어 디도스의 공격 유형과 작동 원리를 알려면 이 개념을 모르고선 이해할 수가 없다. 그러니 위에 언급한 시스템 운영관리 같이 개발이 주류가 아닌 직무로 지원하기 위해서라도 네트워크는 꼭 숙지해야한다. 근데 생각해보니 개발도 소켓프로그래밍 관련해서 다 알아야하네? ㅅㅂ 그냥 컴공이라면 프로그래밍 언어는 골라서 공부할 수 잇어도 이것만큼은 편식하지말자
요약:
조무위키에서의 모든 기여는 CC BY-SA 4.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
조무위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)