저는 CS 과정에 있습니다. 어떤 프로그래밍 주제에 집중해야합니까? [닫은

StackOverflow https://stackoverflow.com/questions/641553

  •  22-07-2019
  •  | 
  •  

문제

현재 가장 중요한 것은 무엇입니까? 나중에 프로그래밍 경험을 얻을 수 있다는 것을 알고 있습니다. 다음 중 졸업 후 좋은 프로그래머 나 분석가가되기 위해 공부해야 할 것은 무엇입니까?

  • 데이터 구조
  • 알고리즘
  • 소프트웨어 공학
  • 저수준 측면
  • 설계 패턴 및 OO 분석

편집하다

답변 주셔서 감사합니다. 다른 학생들을위한 참조로 사용하기 위해 다른 중요한 주제를 포함하고 싶습니다.

  • 상담 프로그래밍
  • 운영체제

/편집하다

참고 : 목록의 첫 번째 항목은 영어를 배우다

도움이 되었습니까?

해결책

그들 모두. 목록의 모든 것이 중요합니다.

다른 팁

나는 개인적으로 다음을 연구 할 것입니다.

  • 하나의 C 같은 언어 (C/C/C ++/C#/Java)
  • 하나의 스크립팅 언어
  • 하나의 기능 프로그래밍 언어
    • 특히 우리는 여러 핵심 세계로 이동하기 때문에 다른 언어가 현재 할 수있는 것 이상의 병행을 허용하기 때문에 유용합니다. 예를 들어 전체 통신 인프라가 Erlang에서 실행됩니다.
  • 데이터 구조
    • 당신은 어디에서나 이것을 사용할 것입니다. 그들은 프로그래밍 언어가 불가지론 적이며, 당신은 당신의 경력 전반에 걸쳐 필요할 것입니다.
  • 알고리즘
    • 이것들은 위에서 언급 한 항목과 함께 갈 것입니다. 특정 데이터 구조에는 액세스 할 수있는 특정 알고리즘이 있습니다.
  • 디자인 패턴
    • 그렇습니다. 과정은 다양한 디자인 패턴을 배우지 만 동시에 소프트웨어 엔지니어링에서 끝이 아니라는 것을 알 수 있습니다.

목록의 다른 모든 것도 매우 중요하므로 위 항목을 제안하지만 나열된 다른 항목보다 중요하지 않습니다. 이것들은 내가 학교에서 나왔 으면 좋겠다. 나는 수업으로 제공하지 않았지만 다른 모든 코스 작품과 함께 나 자신을 배워야한다고 슬프다.

목록에 특정 언어를 언급하지 않았기 때문에 이미 올바른 길을 가고 있다고 생각합니다. 언어 나 패러다임에 중점을 둔 CS 학생들이 저지른 실수라고 생각합니다.

전체 목록이 매우 중요합니다. 내가 추가 할 유일한 것은 멀티 스레딩에 대한 상당히 심층적 인 연구입니다. 앞으로 점점 더 중요해질 것입니다 : (Ars-Technica 기사)

여기에 Joel을 연결하는 것이 적절 해 보입니다. ;-)

http://www.joelonsoftware.com/articles/collegeadvice.html

그들 모두는 필수입니다 !!

당신은 무엇을 생각하고 있습니까? 집중력 (예 : 게임 디자인 대 보안 및 암호화) 중에서 선택할 것으로 기대했습니다.

"알고리즘, OOP, 데이터 인프라, 소프트웨어 엔지니어링 등"중에서 선택할 수 없습니다. 이것들은 기본입니다! 당신은 그들 모두를 배워야합니다.

나는 데이터 스트러크와 알고리즘으로 시작할 것입니다. OO 디자인이 유용합니다. 약간의 낮은 수준, 예. S/W 엔지니어링을 건너 뛸 수 있습니다 (소금 한도로 괜찮습니다).

또한 다음은 몇 가지 아이디어입니다.

  • 관계형 DB 기본 사항 ( "Oracle 사용 방법"이 아니라 실제 관계형 대수)
  • 운영체제
  • 컴파일러 + 통역사
  • IR의 무언가 ( / 유전자 알고리즘 / 신경 그물)

예, 나는 "하드 코어"CS에 편향되어 있습니다. 바쁜 일, 가장 무거운 프로세스 및 기타 PM 쓰레기는 곧 업계에서 배우게됩니다. 교육 자원을 낭비 할 필요가 없습니다. :-)

보자 ..

중요한 선택을 할 수 있도록 복잡성과 데이터 구조 및 알고리즘을 이해해야합니다. 불행히도, 당신은 이러한 주제를 실제로 이해하고 복잡한 뇌우스를 해결해야합니다. 왜냐하면 그들은 나중에 실제 작업보다 면접에서 훨씬 더 큰 역할을하기 때문입니다. 따라서 이것은 실제적인 이유로 집중해야 할 가장 중요한 것들입니다.

소프트웨어 엔지니어링, 설계 패턴 및 분석은 매우 중요합니다 (편향되어 있지만). 불행히도, 디자인 패턴을 제외하고는 주요 프로젝트에서 적극적으로 연습하지 않으면 이러한 주제를 실제로 배울 수 없습니다. 객체 지향 프로그래밍의 개념과 가상 함수/동적 바인딩의 개념을 이해하는 데 중점을 둡니다. 왜냐하면 그들은 매우 중요하고 많은 사람들이 제대로 이해하지 못하기 때문입니다. 좋은 인턴쉽을 얻으려면 최선을 다하십시오.

나열된 모든 것은 괜찮은 컴퓨터 과학 교육의 기본 구성 요소이지만 다음을 추가해야합니다.

  • 운영체제
  • 네트워킹
  • 수학 (개별, 미적분학, 대수, 증거, 통계에 대한 소개 과정)
  • 데이터베이스
  • 기초 (유한 자동 타마, 정규 표현, 튜링 머신 등)

이 두 목록은 함께 컴퓨터 과학에 대한 좋은 핵심 이해를 제공 할 것입니다. 그 후에는 더 전문적인 주제 (가장 관심이있는 것)를 선택해야합니다.

  • 인공 지능
  • 암호화/보안
  • 이미지/신호 처리/인식
  • 컴파일러
  • 제도법
  • 게임 디자인
  • 등.

일단 주제에 깊이 들어가기 시작하면 수학을 포함한 모든 핵심 과정이 모두 시작될 것임을 알게 될 것입니다! 예를 들어, 현재 이미지 인식을 연구하고 있으며 통계, AI, 미적분학, 증명, 대수, 알고리즘, 데이터 구조, OOP 등의 물건을 사용하고 이해해야했습니다.

목록의 모든 것이 중요하지만 올바른 태도도 필요합니다. 공부하는 각 작업이 어떻게 작동하는지, 왜 이런 식으로 수행되었는지에 대한 충분한 세부 사항을 파헤쳐 야합니다. 이것이 실제로 미래의 전문가로서 우위를 점할 것입니다.

  1. 멀티 스레딩 및 분산 시스템.
  2. 멋진 GUI로 사용자 친화적 인 응용 프로그램을 구축하는 방법.

이들 모두는 매우 좋지만 알고리즘은 시작하기에 좋은 곳입니다. 아마도 당신은 이론에 대한 이산 수학 과정을 먼저 살펴 봐야 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top