Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5783] Re:또 공부하다보니 궁금한 점이 생겼습니다
남병철.레조 [lezo] 2309 읽음    2006-08-01 23:48
묻고자 하는 부분을 조금 분리해 주시는게 답변이 편할듯합니다. ^^;

일단 다양한 자료구조를 습득합니다.
또한 다양한 알고리즘을 습득합니다. 알고리즘 구현에는 자료구조가 필요할것입니다.
이제 자신이 만들고자 하는 프로그램에 맞게 여러 알고리즘 중 적합한것을 적용해서 만듭니다.
상황에 따라 적당한 알고리즘이 있으며 그 상황은 각 알고리즘의 특징이기도 합니다.

유전자 알고리즘도 마찬가지로 어떤 일을하는데 사용할것입니다.
그러기에 알고리즘 자체가 복잡할 이유는 없을것입니다. 또한 대부분의 알고리즘 슈더코드를 보면 정말 짧습니다. -_-+
어떤 자료구조를 바탕으로 어떻게 활용하느냐는 목적하는 프로그램에 따라 변할것입니다.
(저도 유전자 알고리즘을 사용해서 뭔가 만들어 본적은 없습니다.)

연구 목적으로 프로그램을 짜게될경우 신경망 이론을 적용하거나 유전자 알고리즘을 적용하기도 할것입니다.
학부 수준에서는 깊게 다루지 않을것입니다. ^^
깊게 다루려면 좀 더 범위를 좁힌 전공(할일?)이 필요할테니까요...(석사이상? 논문 쓸라고 -_-;)
물론 대학에서는 해당 과목의 교제로 사용하는 책의 내용을 배울것이지만 소스 레벨의 습득은 대부분 자신의
노력이 필요합니다. (어찌보면 당연한 말이겠지만... ^^;)

기본적으로 언어를 익히는 순서를 적어보자면... (C/C++을 기준으로 보겠습니다.)
(아마 각 부분을 마스터 한다는 마음으로 공부하는것이 좋지만 자신의 상황을 잘 판단해서 가능한 범위를 잘 설정
하셔야할것입니다.)

C/C++ 문법 -> 자료구조 -> 알고리즘 -> 윈도우프로그래밍(GUI & DATABASE & NETWORK 등등)
-> 작성하는 프로그램에 맞게 구현 (자신만의 모듈이나 공개된 다양한 컴포넌트, 라이브러리 등이 사용될 수 있습니다.)

다소 이상적인것 처럼 보이지만 실제 저런 순서로 대부분의 대학이 전공 과정을 구성하고 있습니다.
그리고 대학에서는 알고리즘까지가 프로그래밍 관련 전공과목에 배정되고 나머지 윈도우 프로그래밍 이후는
알아서 하는 분위기이거나 도움될만한 실습 시간이 배정되어 있을것입니다.
즉, 윈도우 프로그래밍 잘해두면 레포트 쓸때 같은 내용을 더 멋지게?? 구현할 수 있으며 그런것들로 플러스
효과를(학점-_-?) 얻기도 합니다.

가장먼저 자신의 상황을 잘 분석해서 나름의 순서를 잡는것이 중요합니다.
제시한 저 위의 순서는 예일 뿐이며 각 단계가 더 깊을수도 있으니 화살표가 한방향이 아니라 트리 구조일수도
있습니다. 자신의 계획에 따라 다를뿐입니다. 다만 처음에는 그 범위를 보는 시야가 없기 때문에 저런 순서로
접해나가는것입니다.

단적인 예로 C/C++만 보더라도 코드 작성에 관련된 다양한 서적들이 있습니다.
(물론 저도 이걸 다 마스터 한것은 아닙니다. 저도 갈길이 멉니다. ^^)

C/C++ 문법서 (요즘은 STL도 기본에 포함되어가는듯...)
Effect C++같은 코드 향상서적 (역시 Effect STL이 있습니다.)
(혹은 김백일님이 추천했었던 퍼즐 서적등... (링크에 링크라..--;)
http://turboc.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_qna&no=5773
)
Design Pattern
Refactoring ... 등등 코드에 관련된 다양한 단련 서적들이 있습니다.
자료구조나 알고리즘은 문법이후부터는 적용되기 시작하지만 비교적 단순한 수준입니다.
이해와 더불어 자신의 코드로 습득하는 노력이 필요할것입니다.

윈도우프로그래밍에 대해서는 적지 않겠습니다. 시중에 있는 프로그래밍 서적 코너에 있는 대부분이
윈도우 프로그래밍과 관련되기에... -_-;;
시그모이드 함수의 경우 알고리즘 서적이나 인공지능 서적에 나올것입니다.
대학가면 배울수있는지 궁금할 수 있지만 대학에서 공부 방법은 스스로 공부하는 경향이 강합니다.
기본적 이론을 가르쳐 주거나 설명해주기도 하지만 레포트로 대신하기도 합니다.
(스스로 자료 찾아서 레포트 난이도에 따라 다르겠지만 구현하거나 뭔가 프로그램에 적용해야 하기도합니다.)
고등학교까지는 모든 문제에 정답이 있는 정형화된 범위 내의 문제이며 실제 선생님들이나 EBS에서 트레이닝
할 수 있습니다. 대학은 그 범위를 뛰어넘는 학문이기에 초기에 가르쳐주지 않는다고 적응하기를 미루는
분들이 분명 있습니다. (실제 잘 못가르치는 ^^; 교수님도 있긴합니다. 혼자 연구만 하시고 --;)

제가 답변하는 전체적인 의미는 대학의 전공 내부의 다양한 학문과 부딪히기 전에 기초를 다져 놓으라는 의미였습니다.
(프로그램 관련 전공일 경우입니다.~ 다른 전공은 저도 몰라요 @,@~)



시노 님이 쓰신 글 :
: 저번 질문에서 하셨던 답변에서 알고리즘이랑 자료구조라는게 뭔지 궁금해서 도서관이랑 인터넷에서 찾아 보왔습니다. 자료를 찾는데 어떻게 정렬하여서 얼마나 빨리 그자료를 찾아내고
: 오차가 작아야한다. 대충 이런 것같은.. 그렇다면 얼마나 빨리 그자료를 찾는 것은
: 찾는 과정이 짧으면 되는 건가요? 아님 완전 다른 의미 인가요? 그리고 알고리즘을 보다 문득 떠오르는 것... 옛날에 그루구일..(이게. 맞는지.. )이라는 곳을 자주 들렸었는데 그때도 유전자 알고리즘을 이라는 것을 본 적이 있는데 다른 곳에서 설명을 읽다보니 구하고자하는 문제를 미분하여서 어찌 한다고 하는데 미분이라는 그런 의미인가요? (학교에서 수2의 미분을 배우고는 있으나.. 접선의 기울기...x,y의 평균변화량정도라고 배웠는데...) 그리고 유전자 알고리즘으로 짠 소스를 보니.. 일반적인 진화의 요소정도 있고 그리 썩.. 어려워는 않보이는데.. 어느 부분에서
: 그리 소스가 길어지고 어렵게 변하는 것인가요???
: p.s 그리고 시그모이드함수라는 것도 있던데..인터넷회선..(표현이 맞는가..)이나 신경의 전달과 같은 연속적인.. 것을 처리 하는 필요하다고 하던데요..뭐하는 녀석인지는 지금은 별로 않궁금하지만...... 이 함수.. 대학생가면 배울수 있나요?(무슨 과목인가요?,.수학..?)

+ -

관련 글 리스트
5781 또 공부하다보니 궁금한 점이 생겼습니다 시노 2128 2006/08/01
5783     Re:또 공부하다보니 궁금한 점이 생겼습니다 남병철.레조 2309 2006/08/01
5788         Re:Re:고맙습니다 ^^(쓸때없이.. 질문만 길었던 같습니다 '__';) 시노 2189 2006/08/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.