대학은 DOS 스타일 C ++를 다루는 방법을 가르치고있다.


19

나는 몇 년 동안 프로그래밍을 해왔지만 졸업장을 원할 때 취업 기회를 원했습니다. 한 번은 대학을 졸업 한 후 5 년 동안 컴퓨터 과학 전공을 선택하지 않고 더 짧고 실용적인 소프트웨어 엔지니어링 프로그램을 선택했습니다.

나는 이론보다는 구체적인 기술에 더 집중할 것으로 예상했지만, 대학과 교수들은 정확하고 공식적인 학문적 인 것을 좋아한다는 생각을 여전히 가지고있었습니다. 아직 과학이야? 틀린-나는 많은 IT 과정이 얼마나 조잡했는지 놀랐습니다.

C ++에 대한 입문 과정에서 1-2 개의 프로그램을 작성한 후 "전세계가 왜 나쁜지"와 "상수가 좋은 이유"와 같은 진부한 시험을 치렀습니다. 적절한 맥락이없는 무작위 일화. 유인물은 포함 system(pause/cls), getch및 헤더 좋아 conio.h하고 iodos.h. 이 작업 중 하나는 "ASCII 문자"를 32에서 255 까지 인쇄하는 것이 었 습니다. 스크린 샷은 Windows-1252 코드 페이지를 사용하여 인쇄 된 표를 보여 주지만 인코딩은 전혀 언급하지 않았습니다.

질문 : 대학교 / 교수가 열등하거나 구식 도구와 방법을 사용하는 것 같고 가르치고있는 내용이 경계선이 맞지 않을 경우, 어떻게 구성적이고 정중하게 다루어야합니까?

일부 답변은 프로그래밍이 데이터 구조 및 알고리즘과 같은 주제를 학습하기위한 도구 일 뿐이므로 프로그래밍 그 이상을 살펴보아야한다고 지적합니다. 나는이 아이디어에 동의하지만,이 경우에 열악한 스타일 뒤에는 그런 계획이 없었습니다. 대부분의 과정은 많은 배경 이론이나 "큰 그림"없이 다른 "도구"를 가르치는 것입니다. 그러한 코스를 제공하기 위해 신속하게 정리 된 것처럼 느꼈습니다.


나는 그것을 고수하고 마침내 졸업했다. 몇 가지 예외를 제외하고는 전반적으로 품질이 매우 낮았으며 몇몇 다른 학생들이 그것에 대해 불평했습니다. 나는 개인 사업과 학교에서보다 아르바이트에서 훨씬 더 배운 예상대로, 그러나 학교와 라벨의 "소프트웨어 학생"을 마무리하는 과정은 그 자체가 신비 유용한 것!


2
내 경험을 바탕으로, 스스로 프로그래밍을 공부하고 포럼에서 도움을받는 것이 더 좋고 빠르며 저렴하게 배울 수 있습니다. 대학 강의 계획서가 오래된 것은 드문 일이 아닙니다. 러시아에서는 파스칼이 여전히 일부 대학에서 가르치고 있습니다 (그러나 나는 언어를 좋아하지만 완전히 나쁜 것으로 보지는 않습니다).
WKS

@ WKS : 파스칼은 전혀 구식이 아닌 (프로그래밍 프로그래밍의) 원리에 대해 배우기에 매우 좋은 교수 언어라고 생각합니다. 대학 과정은 특정 프로그래밍 언어를 가르치는 데 시간을 낭비하지 말고 패러다임 (절차, 객체 지향, 기능, 논리 등)을 가르치는 데 시간을 낭비해서는 안됩니다.
Giorgio

물론 교육 도구로 선택된 프로그래밍 언어 인 @Giorgio는 중요하지 않지만 제시된 프로그래밍 실습은 건전하고 최신이어야합니다.
glampert

대부분의 대학은 학사 과정을 성공적으로 이수 할 수 있도록 학부생을 가르칩니다. 대부분의 석사 학위 프로그램은 석사 과정을 성공적으로 박사 학위를 취득 할 수 있도록 목표로 학생들을 가르칩니다. 대부분의 PhD 프로그램은 성공적인 연구자가되는 데 도움이됩니다.
Rob P.

@glampert : Pascal이 도입 된 후에 절차 프로그래밍이 변경되지 않았습니다. 파스칼은 교육용 언어로 설계 되었기 때문에 실제로 유용 할 수있는 해킹이 많지 않지만 새로운 것을 배울 때 큰 방해가됩니다. 따라서 파스칼은 명령형 프로그래밍을 가르치는 한 최신입니다. 물론 객체 지향, 기능, 논리와 같은 다른 패러다임을 가르치고 싶을 수도 있습니다. 그런 다음 Python, Java, Haskell, Scheme, Prolog 등과 같은 다른 언어를 찾아야합니다.
Giorgio

답변:


34

수학과 프로그래밍은 완전히 다릅니다. 수학은 과학이고 프로그래밍은 기술입니다. 학계에서는 프로그래밍이 실제로 흥미롭고 중요한 알고리즘 인 알고리즘을 처리 할 수 ​​있도록 알아야합니다.

컴파일러가 고대인 경우 누가 신경 쓰며 system호출 을 사용 합니까? Windows가 아닌 Linux가 있는지 누가 신경 쓰나요? 교수님은 확실하지 않습니다. 그리고 그들은 정말로해서는 안됩니다. 교육 기관의 과정에서 전문 프로그래머가 될 것으로 기대하지 마십시오. 그것은 당신이 거기가는 것이 아닙니다.

그가 당신이 사용하기를 기대하는 컴파일러는 고대이고 OS에 대한 가정은 시대에 뒤 떨어지고 문제가 있다는 것이 사실입니다. 당신은 그것을 제기 할 수 있으며, 아마도 처리 될 것입니다. 그러나 코스가 업계와 호환되지 않기 때문에 학생에게 즉각적인 어려움을 초래하기 때문입니다. 그 오래된 컴파일러를 찾아서 MacBook에서 실행하십시오 ...

일반적으로 학문적 연구는 C ++ 및 Android 학습에 낭비되지 않아야하며 실제 컴퓨터 과학에 대해 배우십시오. 당신은 그것에 대한 또 다른 기회를 얻지 못할 것입니다. 기계적 인조 인간? ADT와 함께 Eclipse를 다운로드하고 집에서 작업을 시작하십시오. 학교가 필요하지 않습니다.

대학에서 기술 개발을 기대하는 것은 좋지 않다고 생각합니다. 특히 연구 대학은 아닙니다. 학사 만 제공하는 곳은 더 산업을 목표로해야하지만 연구 대학은 연구원을 원한다고 말할 수 있습니다. 교수들은 우수한 프로그래머가 아닌 예비 대학원생과 박사 후보자를 찾고 있습니다. 따라서 기대 수준을 적절히 설정해야한다고 생각합니다.


3
귀하의 답변에 한 가지 문제가 있습니다. "일반적으로 C ++ 및 Android를 배우는 데 학문적 연구가 낭비되어서는 안되며 실제 컴퓨터 과학 관련 내용을 배우고 있어야합니다." -최소한 하나의 프로그래밍 언어에 대한 기본 지식을 알지 못하면 CS는 의미가 없으며 잘못된 방식을 적용하기가 너무 쉽습니다.
이즈 카타

4
@Martin 및 izkata-이전 세기의 컴파일러를 사용하여 C ++로 DOS에서 프로그래밍한다고해서 프로그래밍을 모른다는 의미는 아닙니다. 그것은 구식 도구를 사용하고 있다는 것을 의미합니다. 그러나 RB 트리를 구현해야하는 경우 누가 관심이 있습니까? 업계에서는 구식이지만 프로그램이 실행되고 수행해야 할 작업을 수행하면 충분합니다.
littleadv

3
@littleadv-OP는 "내가 읽은 내용에 따라 고대인 것 같습니다."라고 썼습니다. 이것은 유인물이 아니고 휴대가 불가능하다는 것을 알기 위해 관련 유인물 이외의 다른 곳을보아야한다고 제안합니다. 물론 모든 컴파일러에 비표준 라이브러리가 추가되어 있지는 않지만 많은 사람들이 비표준 라이브러리를 가르치지 않으면 비표준이라고 생각합니다. 나쁘다고 생각합니다. C ++ 03은 현재 가장 광범위하고 완벽하게 지원되는 표준입니다.
Steve314

3
@littleadv-글쎄요, 어쩌면 우리는 동의하지 않을 것입니다. 비록 컴퓨터 과학자가 세부 사항에 대한 교육자가 필요하다고 생각했지만, 표준이 아닌 것이 그와 일치하고 결코 큰 어려움이 아니라는 것을 지적하는 데 몇 초가 걸립니다. CS 교수가 자신의 임시 표기법을 수학과 함께 사용하여 지적하지 않았다면 어떻게 느끼겠습니까? 다른 컴퓨터 과학자들이 당신을 이해할 수 있는지 여부는 같은 문제의 또 다른 측면입니다. 사람들은 물론 컴파일러도 코드를 읽습니다.
Steve314

4
@littleadv-나는 OP가 conio.h가 표준이라고 들었다고 주장하지 않았다-나는 그것이 표준이 아니라고 말하지 않았을지도 모른다고 제안했다. 확인.". 기본 과학까지 배운 방식은 표준 용어를 사용하거나 비표준 용어를 사용해야 하는 경우 그 의미를 정의하는 것입니다. 우리 학교 과학 수업에서는 센티미터를 사용하더라도 규칙에 위배됩니다. SI 단위가 아닙니다. 비표준 라이브러리를 사용하는 것은 나에게 다르지 않습니다. 컴퓨터 과학에서 코드의 의미는 분명해야합니다.
Steve314

19

컴퓨터 과학은 물리학이 목공에 무엇인지 프로그래밍하는 것입니다.

목수가 되려면 물리학을 공부하는 것이 그렇게되지 않을 것입니다. 그것은 당신에게 당신의 일에 적용 할 수있는 많은 흥미로운 것들을 가르쳐 줄 것이지만, 훌륭한 목수가되는 방법을 가르쳐주지는 않을 것입니다. 이를 위해서는 목공예를 배워야합니다.

마찬가지로, 훌륭한 프로그래머가 되려면 프로그래밍 기술 을 배워야합니다 . 불행히도, 어떤 종류의 인증도 발행 할 기관이 없습니다. 기본적으로, 이것은 사람들이 찾을 수 있도록 도움을 주면서 스스로해야 할 일입니다. 당신에게 이것은 반복과 반성을 의미합니다. 많은 코드를 작성한 다음 다시 돌아와서 살펴보십시오. 또한 다른 사람들의 코드를 읽는 데 시간이 걸립니다. 오픈 소스 프로젝트 참여를 고려하십시오.

대학은 프로그래밍에 관심이없고 앞으로 몇 년 내에 변경 될 세부 사항에 대해서는 관심이 적습니다. 당신이 학교에서 보는 것은 그들이 어떤 프로그래밍 환경 (나쁜 환경이지만 그렇게 중요하지는 않다)을 고르고 그것을 당신에게 보여 주므로, 그들이 당신에게 다양한 프로그래밍 기술을 가르 칠 수있는 참조 틀을 가질 것입니다. 참조 프레임이 열악하고 언어조차 이상한 선택이라고 주장 할 수 있습니다. 그들의 관점에서 볼 때 아마도 중요하지 않을 것입니다. 왜냐하면 그것은 임의로 선택 되었기 때문입니다.


2
물리학은 공학에 어떻습니까? 프로그래머는 엔지니어가 건물, 비행기 및 화학 공정을 설계하기 위해 물리학을 이해해야하는 방식으로 프로그램을 설계 할 때 적용 할 CS 원칙을 이해해야합니다.
Jay Elston

3
@JayElston : 물리학은 공학, 컴퓨터 공학은 소프트웨어 공학, 분석, 디자인, 계획, 구현, QA 등으로 구성됩니다. 프로그래밍 자체는 실제로 원하는 작업을 수행하도록 재료를 얻는 기술입니다. 엔지니어링은 실제로하고 싶은 것이 무엇인지 알아 내기 시작합니다.
back2dos

나는 여전히 교수의 인용 중 하나 인 "엔지니어링은 과학을 적용하여 문제를 해결하는 기술"이라고 인용합니다.
Chris O

1
@Chris : 아마도 과학은 새로운 문제를 만들어내는 기술 일 것입니다.
JasonTrue

@JasonTrue : 과학은 더 나은 문제 를 만드는 기술이라고 주장 할 수 있습니다.)
back2dos

9

'DOS 스타일'을 배우는 데 아무런 문제가 없습니다. 나는 여기에 많은 오래된 타이머가 DOS에서 시작했거나 심지어 초기 운영 시스템으로 시작하여 라인 기반 프로그램을 작성하고 잘 조정했다고 확신합니다. 컴퓨팅 세계는 너무 빨리 변화하여 어떤 라이브러리가 무엇에 사용되는지와 같은 특정 사항에 매달리지 않을 것입니다.

실제로, 나는 우리가 의존성 주입 이 무엇인지 말할 수 있지만 FizzBuzz 에 대답하기 위해 노력할 수있는 프로그래머들로 가득 찬 세상을 가지고있는 이유를 의심합니다 . 많은 프로그래머가 그 기본 수준에서 많은 시간을 소비하지 않기 때문입니다.

이것이 프로그래밍에 대한 소개 인 것처럼 들리므로 본질적으로 걱정하지 마십시오. 기본 사항을 배우면 잘 할 수 있습니다. 다른 플랫폼에 관심이 있다면 직접 탐색하십시오. 이것이 프로그래밍에 관한 위대한 것입니다.


5

어떻게 대처할 수 있습니까? 프로그래밍 전자 책 또는 스트리밍 비디오를 다운로드하고 직접 예제를 사용해보십시오. 교수님에게 의지하지 마십시오. 프로그래밍은 스스로 배웁니다.


1
프로그래밍은 피아노 연주와 같습니다. 당신은 일을하는 방법을 가르치기 위해 마스터가 필요합니다. 나는 세계적으로 유명한 피아니스트가 거의 없다고 생각합니다.

7
이상한 유추로, 많은 숙련 된자가 학습 프로그래머가 있습니다.
ocodo

@Slomojo True, 그리고 나는 그들 중 몇 명을 만났습니다. 그들은 그들이 알고있는 것을 뛰어 넘는 이상한 품종입니다. 그들이 직면 한 문제의 폭은 거의 없습니다. 때때로 컴퓨터 과학의 한 부분을 알면 문제가 해결되는 데 걸리는 시간이 훨씬 짧지 만, 재능있는 사람들은 자신이 아는 유일한 방식으로 계속 망치는 경향이 있으며 결국에는 무차별적인 힘으로 보입니다. 예를 들어, 자체 학습에 대해 "해결하기 어려운"문제는 테스트 (TCL / TK에서 부팅)로 이틀 안에 DFA에 의해 해결되었습니다. 2 주가 지난 후에도 설명을 통해 이해하지 못했습니다.
Edwin Buck

4

많은 대학에는 초조 한 프로그래밍 교수가 있습니다. 나는 우리나라 최고의 대학원에 다니고 프로그래밍에 대한 스쿼트를 배웠습니다. 나는 대부분의 unis가 정말로 훌륭한 프로그래머가 더 나은 임금을받는 것을 선택하게하는 것과 같다고 생각한다. 작은 프로젝트를 수행하고 직접 코딩해야합니다. 이 포럼과 같은 많은 포럼에서 팁을 얻을 수 있습니다. 장기적으로 배우는 것이 더 좋은 방법 일 것입니다.


물론 좋은 조언은 전적으로 동의합니다. 그것은 단지 졸업장입니다 ... :)
Toerndev

@gaidal : 응! 그것이 내가 대학원 학교에서 나왔던 것-브랜드 이름 : P (내가 가입했을 때 훨씬 더 많이 바랐지만)
Jan S

2
대학은 프로그래밍 학습에 관한 것이 아니라 프로그래밍 언어의 개념,보다 일반적으로 컴퓨터 과학에 대한 학습에 관한 것입니다. 대학에서 운영 체제에 대한 프로젝트를 수행해야 할 때, 나는 C로, 책은 도서관에 있고, 책을 가져 가서 배웁니다. 프로그래밍은 실습에 관한 것이며 대학에서 가르치는 것이 아닙니다.
Giorgio

1
더 나은 유급 일자리에 대한 정보. 대학에서 가르치고있는 친구가 한 번 불평했다. "우리는 그들에게 프로그램하는 법을 가르쳐서 우리가하는 것보다 더 많은 돈을 벌면 다른 방향으로 가야합니다!"
Giorgio

3

대학은 프로그래밍 언어, 알고리즘 등의 추상적 개념을 가르쳐야하며 프로그래밍을 배우는 곳이되어서는 안된다고 생각합니다. 프로그래밍은 매우 실용적인 활동이며 수행해야만 배울 수 있습니다.

공부하는 동안 나는 파스칼에서 프로그래밍의 기초를 배웠고, C로 한 개의 프로젝트를 가졌으며 (우리 스스로 언어를 배워야했습니다) 프로그래밍 언어 개념 (절차, 객체 지향, 기능, 논리)에 대한 과정을 가졌습니다. . MSDOS에는 conio.h 또는 멀리 포인터가 있으며 UNIX 시스템에는 없습니다. 이것은 우리 학생들이 맥주를 통해 토론 할 내용이었습니다. 수업 중에는 중요하지 않았기 때문에 토론하지 않았습니다. 대학 교육은 추상적이고 일반적인 지식에 초점을 맞추고 세부 사항에 들어가는 것을 피합니다. 예제와 세부 사항은 일반적인 내용을 설명하기 위해 제시됩니다.

ASCII 대 유니 코드 및 MSDOS conio.h 라이브러리에 대한 예제는 모든 프로그래밍 환경에서 작업을 수행하고 구성하는 특정 방법이 있음을 의미합니다. Visual Studio에서 C ++로 프로그래밍하는 경우 다른 라이브러리 (예 : Linux)를 찾을 수없는 다른 라이브러리를 사용해야합니다. 따라서 코스가 Windows 7 / Visual Studio에있는 경우 일부 사람들은 Linux / GCC에서 코스를하는 것이 더 낫다고 불평 할 수 있습니다. 그러나 IMO는 이것이 요점이 아닙니다.

따라서 세부 사항에 신경 쓰지 말고 과정에서 다루는 일반적인 개념에 집중하지 말아야한다고 생각합니다. 예를 들어, 대부분의 프로그래밍 언어에서는 콘솔 I / O를 구현하기 위해 라이브러리가 필요하며 프로그래밍 환경이 제공되는 도구를 사용하여 문제를 해결해야합니다. 어쩌면 이것은 당신에게 분명하게 들릴 것입니다. 이미 사전 지식이 있기 때문에 실제로 배우지 않고 있다는 인상을 받았습니다.


고마워요, 당신은 그것이 나쁜 코스라고 말하기에 충분하지 않다고 생각합니다. 부수적으로, 나는 그것이 Linux에 있어야한다는 것을 의미하지는 않았다. 단지 그가 학생들에게 차이점과 표준이 있음을 알리기 위해 노력할 수 있다는 의미였다.
Toerndev

다른 시스템에 대해 알리는 것이 좋습니다. 그것은 또한 교사의 경험에 달려 있습니다. 그들은 익숙하지 않은 환경에 대해 말하는 것이 불편할 수 있습니다. 예를 들어, 저는 Windows와 Linux를 사용하고 있지만 MacOS는 매우 멋진 OS 일지라도 사용하지는 않았기 때문에 MacOS를 사용하지 않을 것입니다. 어쩌면 서로 다른 C ++ 환경을 간단히 비교할 수 있는지 물어볼 수 있습니다. 몇 가지 예만으로도 무엇이 달라지고 어떤 것이 동일하게 남아 있는지 느낄 수 있습니다. 예를 들어 MSDOS와 Linux에서 sizeof를 사용할 수 있습니다.
Giorgio

2

대학은 기초를 제공하고 있습니다. 강해지면 그 위에 고층 건물을 지을 수 있습니다. 저는 대학 시절에 BASIC, C 및 C ++을 배웠습니다. 나중에 Visual C ++에서 프로젝트를 수행했을 때 완전히 다른 세상이라고 믿었습니다. 나중에 프레임 워크와 언어의 차이점을 깨달았습니다.

원하는 컴퓨팅 분야의 개발에 중점을 둔 적절한 대학을 선택하십시오. 나중에 경력에 도움이 될 수 있습니다.


2

인쇄물이 가득한 system("");것은 실제로 꽤 좋은 것입니다! 요즘 사람들이이 기능들에 대해 전혀 모른다는 것에 충격을 받았습니다.

system("pause")getX 함수의 모든 문제를 제거합니다. system("cls")코드 한 페이지를 저장했습니다. system("mkdir foo")방금 2 페이지의 버퍼 할당, 경로 분할, _makepath_ss, 256 개 경로 제한, 톤 오류 종료 등을 저장했습니다.

또한 코드는 너무 간단하여 원숭이가 이해할 수 있습니다.

 if(!system("mkdir foo"))
     //booo and exit`

다형성 왜곡 학교는 법으로 금지되어야합니다.

추신 : 또한 모든 것을 존중하면서 사람들이 C ++을 예외와 가상으로 배운다는 것을 받아들이는 데 어려움을 겪고 있습니다. 아주 쉽고 안전한 무언가, 실제로는 핵 지뢰입니다.

Misra-C ++ 및 JSF-C ++에 대한 분석을 참조하십시오. 그리고 http://blogs.msdn.com/b/oldnewthing/archive/2005/01/14/352949.aspx . 오늘 남은 모든 기사를 찾기에는 너무 게으르다.

모든 것을 말하면, 나는 C ++ 개발자이며 많은 기능과 언어를 전체적으로 즐깁니다.


1
경험이 부족한 개발자가 문제에 대한 실제적인 아이디어없이 시스템으로 바로 뛰어 들도록 암묵적으로 격려하는 것이 좋은 생각이라는
데는 확신이 없습니다

@deworde : 콘솔에서 쓰는 것과 똑같습니다. 오류가 적고 안전하다는 것을 줄일 수 있다고 생각하지 않습니다.
코더

예, 그러나 콘솔에서 작성하면 (예를 들어) 현재 위치, 실행중인 사람, 실행중인 머신 종류 및 가장 중요한 이유는 IT를 수행하는 이유를 알 수 있습니다. 프로그램은 이러한 것들을 반드시 인식 할 필요는 없으며 실행 파일을 실행하는 사람은 실행하기 전에 확인해야한다는 것을 알 수 없습니다.
deworde

@deworde : 정확하지는 않지만, EraseFile 명령은 여전히 ​​프로세스 권한을 상속하므로 두 명령을 엉망으로 만드는 것이 동일합니다.
코더

1

내 제안은 들리지만 내 말을들을 수 있습니다 ... 전공 전환.

학계에서의 나의 경험에서, 컴퓨터 과학 전공은 컴퓨터를 틱하게 만드는 것에 대한 매우 낮은 수준의 시각이었습니다. C ++의 기본 입문서로 시작하여 프로그램이 무엇인지, 프로그램의 메모리와 계산의 기본 사항을 알고 어셈블리, OS 개념, 전기 공학, 디지털 디자인 등을 배웠습니다. 이 학위는 NVidia 또는 AMD 또는 Lockheed와의 작업을 찾습니다. 새로운 하드웨어를 만드는 곳에서 드라이버를 작성하고 소프트웨어를 제어하기에 충분한 수준의 하드웨어를 이해할 수있는 사람이 필요합니다.

당신이 원하는 것은 우리 대학에서 정보 시스템 관리라고 불리는 과정입니다. 그것이 내가 따라온 과정입니다. Java, VB.NET, C # 및 일부 PHP 및 기타 웹 스크립팅 프로그래밍을 진행했습니다. 또한 미적분학 (CS와 같은 수준은 아님), 회계, 재무, 통계, 비즈니스 커뮤니케이션, OO A & D, 데이터베이스 설계 및 시스템 분석이 필요했습니다. BS 대신 BBA를 받았으며 Windows 또는 웹 소프트웨어 개발자로 작업을 시작하는 기본 도구가있었습니다.

"컴퓨터 과학"전공이 준비하는 것은 어느 대학이 제공하는지에 달려 있습니다. 교육을 마친 후의 컴퓨터처럼 들리지 않는 컴퓨터에 대해 매우 시대에 뒤 떨어지지 않는 저수준의 시각을 얻으려면 초기 단계에있는 것 같습니다. 나는 당신이 대학을 둘러보고 방과 후에 들어 가고자하는 컴퓨터 작업의 유형에 더 중점을 둔 과정을 찾을 것을 촉구합니다.

어쨌든, 여러분의 학습 과정은 매우 기본적인 "콘솔 수준"프로그램 작성에서 시작됩니다. 언어는 중요하지 않습니다. 그들이 가르치는 것은 기본적인 절차 적 프로그래밍입니다. 컴퓨터가 단계적으로 단계적으로 따라갈 수있는 작은 단계로 생각하는 방법 여기에서 모든 것을 수행하는 하나의 긴 함수 대신 실제 객체의 상태와 논리를 나타내는 여러 개의 작은 코드 "개체"를 유지하는 것이 훨씬 유지 관리가 용이 ​​한 객체 지향 프로그래밍으로 진행합니다. 이벤트 중심 프로그래밍 ( "전화하지 마십시오. 전화하겠습니다"; 프로그램이 기본적으로 시작되고 OS에 초기 그래픽 UI를 설정하도록 지시합니다.


고마워요, 그래요. 나중에 방향을 바꿀 수 없다고 생각되면 기본 코스는 유니버스간에 호환되어야합니다.
Toerndev

그 가정에주의하십시오. 전공을 CS에서 MIS로 변경했으며, 경영 대학원이 완전히 별도의 수학 트랙을 가지고 있었기 때문에 이미 취한 수학 중 어느 것도 이전하지 않았습니다. 영어, 과학, 인문학, 네.
KeithS

1

컴퓨터 과학 과정은 프로그래밍을 가르치지 않습니다. 이것은 CS 과정에서 수행 한 일부 프로그래밍과 비교하여 공원에서의 산책입니다.

이것에 대한 근본적인 문제는, 내 경험, 거기에 거의 아무데도 그 것입니다 더 선택의 여지가 전혀 없다, 그래서 당신은 동등한 수준의 프로그래밍을 가르칩니다.


0

무엇을 왜 공부하는지에 대해 혼란 스러울 수 있다고 생각합니다.

당신이 입문 컴퓨터 과학 프로그램을 공부하는 것처럼 보입니다. 이것은 컴퓨터가 낮은 수준에서 작동하는 방법에 대한 기초를 배우는 최소한의 경험을 가진 사람들을 대상으로합니다.

또한 귀하는 준 심각하거나 전문적인 프로그래머 인 것으로 보입니다. 10 년간 프로그래밍을 해왔으며 3 개 언어로 편안합니다. 적어도 팀의 일원으로 일하기에 충분한 일을하고있는 것 같습니다. 이 과정에서 기분이 어떻습니까? 다른 학생들은 당신과 비슷한 수준의 경험이나 기술을 가지고 있습니까?

이 과정에서 무엇을 얻으려고하십니까?

그 '종이'바로 뒤에 있습니까? 이 경우 공부하는 동안 취업을 멈추지 마십시오. 직업을 신청하고, 유능한 프로그래머이고, 직업을 얻기 위해 종이가 필요하기 때문에 공부하고 있다고 말하십시오. 그들이 당신을 고용한다면 그만두기를 고려하십시오-일단 당신이 직업적인 직업을 가지고 있다면 당신은 더 이상 그 종이를 더 이상 필요로하지 않습니다. 학교 에서 배우기 위해 지불하는 것보다 (직장에서) 배우는 것이 더 낫기 때문에 정상 임금보다 낮은 비용을 받아들이십시오. 더 빨리 배울 수도 있습니다. 1 년 또는 2 년 후에는 대부분 속도를 늦추고 적절한 임금 인상을 요구하거나 경험이 있기 때문에 다른 직업을 찾게 될 수 있습니다.

아니면 무언가를 배우려고 노력하고 있습니까? 그런 다음 교수 판단을 중단하십시오. 기억에 남는 고교 선생님처럼 '앉아서 엎드려'라고 말했던 것처럼. 교수가 당신보다 훨씬 더 많은 경험과 지식을 가지고 있으며 그에게서 많은 것을 배울 수 있다는 것이 거의 보장됩니다. 그가 당신을 위해 너무 느리게 진행된다면, 당신의 이전 학습과 경험을 바탕으로이 입문 과정에 대한 학점을 얻으려고 노력하십시오.

그러나 당신은 올바른 과정에 있습니까? 문학 교수 나 역사 교수로부터 많은 것을 배울 수 있습니다. 특히 관련이 없습니다. 아마도 당신은 '컴퓨터 과학'을 원하지 않고 오히려 더 실용적인 '실제 세계'기술을 원할 것입니다. '소프트웨어 엔지니어링'을 시도하십시오. 더 집중된 과정을 위해 다른 기관을 살펴보십시오.

새 직장을 시작할 때와 마찬가지로 수업이나 학습 과정은 외부에서 검토하기가 매우 어려울 수 있습니다. 당신은 당신이 기대하는 것을 제공하지 않는 과정에있는 것 같습니다. 옵션을 재고하십시오.


감사합니다, 나는 이것에 대해 생각했고 당신 이이 두 가지 옵션에 대해 옳다고 생각합니다. 전자는 나에게 더 사실이며, 과정이 더 흥미로워 지는지 기다리는 동안 일자리를 찾을 것입니다. 그것은 이다 내가 빨리 속도에 일어나서 작업을 통해 학습 할 때부터 컴퓨터 과학을 통해 선택하는 것이, 실제로 소프트웨어 공학 교육. 아마도 내가 왜 좀 더 '실제 기술'을 기대했는지 설명 할 수 있습니다. :)
Toerndev

우리 대학 과거의 몇 가지 발언 : 나는 우리가 일정에 "프로그래밍 101"을 가지고있는 과정을 공부했는데, 그 부분은 귀찮게 지루했습니다. 그러나 다른 과정 (물리, 역학 등)은 흥미로 웠습니다. 강의가 지루하더라도 전체 프로그램에 적용되지 않을 수도 있고 다른 부분에 대해서는 고통을 겪을 가치가 있습니다. 그러나 나는 중퇴했다. 한편 그 배운 때로는 용지가 내 작업 (이 나쁘지 않아 그래서 내가 ... 멋진 작업, 좋은 급여를 ;-))에 더 좋은 것 의미하지 않는다하지만 용지가되었을 것이라고 이익도를
johannes

0

이 질문에 대한 많은 답변이 실망 스럽다고 생각했습니다. 그들은 CS 대 프로그래밍 등에 대한 지겹고 오래된 논쟁으로 돌아갔습니다. 그러나 OP가 진행되는 과정이 가르치지 않는 것처럼 들립니다.

나는 이미 프로그래머로 일한 상황에 있었고 대학에서 파트 타임으로 CS를 공부하기 전에 혼자서 조금 공부했습니다. 나는주의 깊게 쇼핑했지만 커리큘럼은 시간 낭비라는 것을 알았습니다. 또한 그들은 이미 지역에서 전문적인 경험을 가지고 있음에도 불구하고 코스를 건너 뛸 수 없었습니다.

내 경험상 상당수의 교수들은 꽤 게으 르며 구식 커리큘럼을 사용하고 있습니다. 솔직히 시간을 낭비하는 것처럼 들립니다. 졸업장을 이수하는 것이 구직에 도움이 될지 의문입니다.

나는 당신이 당신의 코스에 대해 많은 것을 바꿀 수 있을지 의심합니다. 혼자서 공부하면서 보충 할 수도 있습니다. 또는 전체 내용을 잊고 CS를 독립적으로 연구하고 일부 산업 인증도 수행하십시오.

나는 당신의 직업 시장에서 졸업장의 가치에 대해 전혀 모른다고 덧붙여 야합니다. 내용에도 불구하고 졸업장 자체가 가치가 있다면 다소 부족한 커리큘럼을 따라야 할 수도 있습니다.


전에 이것을 보지 못했습니다. 나는 누군가가 내가 어떤 답변에 대한 느낌을 정확하게 말하는 것을 보게되어 기쁩니다 (첫 번째 단락)! 그렇습니다. 가르침은 다소 쓸모가 없습니다. 더 이상 수업에 참석하지 않고 제가 작성해야 할 프로그램을 시작합니다. 나는 그것을 내 자신의 방식으로 (일반적으로 꽤 나쁘고 CL에서 C ++로오고) 커리큘럼에없는 많은 것들을 만나고 교수보다는 프로그래머 친구에게 조언을 구합니다. 이런 식으로 실제로 재미있다. 그래도 졸업하기 전에 일자리를 찾을 수 있기를 바랍니다.
Toerndev

0

그들은 학생들을 수용해야합니다. 대부분의 학생들은 프로그램을 할 수 없습니다. 그래서 그들은 기술적 인 노력을 기울이지 않습니다.

그들은 그들 만의 연구 분야도 가지고 있지만 그것을 가르치고 있지는 않습니다. 어쨌든 많은 연구자들은 어쨌든 훌륭한 교사가 아니므로 이미 알고있는 것을 가르치고 있다면 운이 좋을 것입니다!

어쨌든 컴퓨터 과학이 무엇인지 모르는 것 같습니다. 산업에 실용적인 것이 아닙니다.


-6

나는 표준 C ++로 과제를 반환하도록 요청한 다음 주장한다. 그렇지 않으면 과제를 완료 할 수 없기 때문에 이것은 전적으로 합리적입니다.

나쁜 스타일에 관해서는; 불가피하게이 중 일부가 시작될 것입니다. 표준 io 라이브러리를 올바르게 사용하는 방법을 익히려면 특히 템플릿과 반복자 같은 고급 C ++ 기능이 필요합니다. 강사가 왜 매우 간단한 io 함수를 사용하여 시작하게하는지 알 수 있습니다. 나는 이것에 대해 묻는 것을 두려워하지 않을 것입니다, 그것은 당신의 눈에 열정과 약간의 빛을 보여줍니다. 강사는 귀하의 질문을 미래의 강의로 편성하여 귀하가 초기 연습을 올바르게 수행 할 수 있도록해야합니다.

그래도 그대로 두겠습니다. c ++는 플랫폼 독립적 언어 일 수 있지만 자주 그렇지 않습니다. 일부 Windows 시스템 기능을 배우는 것은 나쁜 일이 아닙니다. 특히 표준에 따라 수행하도록 훈련시키는 경우 특히 그렇습니다. conio.h다른 사람들의 코드 를 볼 때 어느 시점에서 우연히 만날 것 입니다.


10
아니요, 작업을 수행하기위한 도구가 제공되며 해당 도구를 사용하는 것이 귀하의 임무입니다. CP / M을 실행하는 15 년 된 XT 인 직업이 있다면 64 비트 Windows 7 코드도 작동하지 않을 것이므로 최대한 빨리 사용하십시오.
초에 jwenting

2
@Ramhound 대학은 값 비싼 장비 (예 : Windows 운영 체제)를 구매하지 않고도 과정을 수료 할 수 있도록해야합니다. 편견.
Tom

3
@Tom, Photoshop을 가르치고 있다면 Photoshop을 구입할 것을 기대할 것입니다 (매우 비쌉니다). 비싼 교과서를 구입하기를 기대할 수 있습니다. 이것이 다른 곳은 없습니다. 그리고 캠퍼스에 Windows를 구입하지 않고도 작업에 사용할 수있는 많은 컴퓨터가있을 것입니다. 솔직히 CS를 공부하는 사람이라면 어쨌든 둘 다 있어야 할 것입니다. 제품은 Linux를 사용하지 않는 경향이 있습니다.)
HLGEM

3
@Ramhound 교수가 왜 단순한 dos 기반 IO 루틴을 사용하고 있는지 명시 적으로 말하지 않았더라도 우리는 아마도 올바른 추측을 할 수 있습니다. Tom이 C ++의 io 루틴은 상대적으로 복잡하므로 인트로 레벨 코스에서 세부 사항을 숨기는 것은 합리적이지 않습니다. * nix 기반 라이브러리 대신 Windows 기반 플랫폼 특정 라이브러리를 사용하기로 한 결정은 대부분의 학생들이 * nix가 아닌 Windows를 사용하고 있고 그보다 더 많은 Windows 사용자가 * nix를 시작하는 데 어려움을 겪을 것이라는 가정에 거의 기인합니다.
Dan Neely

5
@gaidal-규칙이 이유가 있습니다. 어딘가에서 작업을 시작하고 독점 라이브러리 대신 "표준이 이유가 있기 때문에"표준을 사용하기로 결정했다면 실제로 실직 상태에 빠질 것입니다. 이 과정을 코딩 표준 준수 실습으로 가져 가십시오. 당신은 항상 그것들을 좋아하지 않을 것입니다.
littleadv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.