blueorpurple

교수님이 공지사항에 올리신 글 - Java 공부가 어렵다면? 본문

JAVA

교수님이 공지사항에 올리신 글 - Java 공부가 어렵다면?

에테RR 2021. 3. 15. 01:20

Java를어떻게공부해야할까? 이전학기에다른언어 C와 C++는어떻게공부하였지요?
C/C++를잘배웠고구사하는능력이있다면, 아마그와같은방식으로공부하면될 것입니다.
새로운문제/과제를받아서 프로그램을 자기나름대로설계를하고실제 코드로구현을하고
고생해서디버깅하는과정을거쳐완성해보는경험 - 이 경험을여러 번거쳐봐야됩니다.

지난 2주동안의수업이어려웠을겁니다. 내가 Java 언어를가르치지않았기때문이겠지요.
언어공부는아기가엄마를따라말을배울때처럼해야하는거라고생각해서, HelloWorld,
두개의맛보기프로그램을만들어보면서어떻게돌아가는지를알고코드가어떻게, 어떤
구조로표현되는지를보고그자체에익숙해지자는것이었습니다. 요즈음 TV 프로에두세살
아주어린아이들이나와서놀라운언어 표현을구사하는것을보았지요? 몇 번엄마, 아빠를
따라서말해본결과입니다. 문법은전혀모릅니다. 그냥 따라하고 받아들인 결과이지요.

실습한자바프로그램을한번보세요. 길지않습니다. HelloWorld, 짧지요? CarRace 역시
충분히짧습니다. 컴퓨터를 코드를 보지 말고, 기억을 더듬어 백지 위에 두프로그램을
직접적어보세요. 생각이안나더라고마지막 줄까지짜내서적어보세요. 반드시끝까지.
만약완성을못했다면 (컴퓨터가아니라) 책의코드를 '잠시 (반드시 1분이내로)' 보세요.
그리고나서책을다시덮고한번더써보세요. 코드 완성할 수 있을 때까지 이것을몇번이고
반복해보기바랍니다.
그다음에는 Soccer 쓰기를시도해보세요. 우선강의슬라이드에있는것처럼네모와화살표가
있는다이어그램을먼저그려놓고참고하면서시작합니다. 먼저 간단한 Field 와 Ball 클래스를
쓴다음 Soccer와 Player 클래스를적어보기바랍니다. 아마완성하기쉽지않을겁니다.
CarRace 처럼반복하는데, 한 10번정도에완성할수있을런지 모르겠네요. 반드시 컴퓨터/강의
노트의코드를보지말고적어보세요. 필요하다면 함수/메쏘드의이름만우선써놓고시도를
할 수도 있습니다. 아뭏튼 쓸수있는것부터먼저쓰세요. 처음부터끝까지다. 그런다음
확인하고컴퓨터의코드를한번읽어보봅다. 5분정도이내로.
그런다음덮고다시시도합니다. 10번에안되면 20번도해보기바랍니다.

여러분, 바보가아니지요?
결국은성공할겁니다. '네가이기나내가이기나한번해보자'라는오기로싸워보기바랍니다.
이과정으로 '이기고'나면프르그램을보는여러분의 눈이아마달라져있을겁니다. 과거의
C/C++에대해서도다른생각이들지도모르죠.

이번실습이후로한동안실습이뜸할겁니다. 그때까지실습한것을소화할시간이있다는
것이지지요. 이후에 하게 될실습은약간 발전하여 객체지향프로그래밍설계를보다심도
있게다룰실습이될겁니다. 아마그것까지위적은대로 실습한다면단언컨대우리 학생들은
모두 '절반의도사'가되어있을거라고확신합니다. 이번학기중간에준도사가된다는이야기
이지요.
단 3개의프로그램실습의완전한소화로! 여러 프로그램들이다르긴 하지만 어떻게 보면
크게다르지않습니다. 실행 목표는다를지언정결국 모두  if 문, while/for 문, switch 문,그리고
덧셈, 배정문, 그리고여러클래스의메쏘드를 호출하여쓰는것들로이루어져있을뿐입니다.
이중마지막의메쏘드호출이중요한데그간단한예가 CarRace, Soccer에 몇가지들어 있지요.

비대면수업을하게되어 저도매우안타깝습니다. 실시간비대면을해도 진행상 문제가많을
것같아일단은녹화비디오를올리고있습니다. 많은학생들이어려워하고있을것라고생각합니다.
또한 대면수업을한다고하더라도학생들질문이그다지많지않습니다.


결국프로그래밍언어공부는본인이하기나름이라는이야기입니다.
궤도에 올라서는 것이 그리 멀지만은 않습니다. 다소 힘들 뿐이고 요령이 필요하다는 것이지요.
여러분의 건투를 기대하겠습니다.

'JAVA' 카테고리의 다른 글

package, import 기초 1  (0) 2021.06.12
다시... java  (0) 2021.06.12
java restart  (0) 2021.02.28
Comments