2019 비주얼프로그래밍

IVIS wiki

Top

강의 개요

  • 웹 어플리케이션과 콘텐츠, 안드로이드 모바일 어플리케이션을 위하여 널리 활용되고 있는 자바 프로그래밍 언어를 이용한 비주얼 콘텐츠 개발과 어플리케이션 기법을 익힌다.
    • 자바 객체지향 언어를 이용하여 기초적인 프로그래밍로직을 학습한다
    • 자바 언어를 통한 다양한 문제 해결 기법을 익히도록 한다.
    • 자바 추상윈도 클래스를 이용한 윈도와 비주얼 프로그래밍 기법을 익힌다
    • 이벤트 기반 프로그래밍 기법을 익히게 된다.

강의 진행

  • 강사의 강의와 토론 그리고 프로그래밍 실습을 통하여 프로그래밍 기법을 익힌다
    • 주당 4시간의 강의이며 이론 강의와 프로그래밍 실습을 병행한다.
  • 강의실 : 51호관 310호실
    • 강의시간 : 매주 화요일 오후 12:30-16:15

강사

  • 정보통신공학과 교수 박동규
  • 이메일 : dongupak at gmail.com
    • 수시상담 환영

강의조교(TA)

  • 여러분의 강의를 도와줄 조교입니다
    • 강의와 실습중 궁금한 점을 해결해 주실겁니다.
    • 실습중 문제가 있으면 손을 들어서 알려주십시오.

강의 교재

  • 명품 JAVA Programming(생능출판사)(개정 4판)
    • 저자 : 황기태, 김효수 저

2016 IT VP textbook.jpg

과제관련

  • 과제 제출 기간은 제출일로부터 일주일
  • 각 문제 마다 아래 채점 기준을 만족 못할 시 한 문제당 1점씩 감점

  • 과제 표지
    • 매 표지 마다 과제 번호를 기입한다. ex) #1, #2, ...
    • 스탠플러는 왼쪽 상단에 찍는다.
  • 이론 문제
    • 문제와 답을 적는다.
      • 문제를 적지 않을 시 감점
      • 타이핑 가능
      • 스캔 불허
  • 실습 문제
    • 문제와 소스코드을 적는다.
      • 문제를 적지 않을 시 감점
      • 타이핑 가능
      • 스캔 불허
    • 실행 결과를 캡쳐하여 삽입한다.
      • 배경은 흰색으로 한다.
    • 코드에는 주석을 달도록한다.
      • 주석 달지 않을 시 감점
    • 각 실습문제마다 느낀점이나 어려웠던 점을 2문장 이상 적어서 제출한다.
      • 느낀점을 적지 않을시 감점
      • 풀지 못한 문제나 어려운 문제도 반드시 느낀점을 적도록 한다.
  • 과제 샘플

2017 VP Reportform1.png 2017 VP Reportform2.png

1주차 강의(9월 3일)

  • 개학 인사
    • 강의내용, 교재등에 대한 소개
    • 프로그래밍을 알아야 하는 이유
    • 첫주에는 자바 언어를 소개하고 전체적인 강의의 방향에 대해 이야기 합니다.
    • 우선 프로그래밍 기초에 대해 알아보고요
    • 컴퓨터와 프로그래밍등 전반적인 내용과
    • 이클립스와 개발환경 설정하기를 해 봅니다
    • 자바의 특징도 알아보겠습니다

강의자료

맥 활용

이클립스를 이용한 Java 프로그래밍

2018 eclipse workspace change.png 2018 eclipse workspace change1.png

과제 #1

  • 제목 : 자기소개문 출력!
  • 제출일자 : 9월 10일 강의시작전까지
  • 다음과 같은 문장을 출력하는 프로그램을 Java를 이용하여 작성하시오
안녕하세요 반갑습니다. 저는 OOO입니다
저는 창원대학교 OOOOOOOO학번이며, OOO 학과 O 학년입니다
앞으로 박동규 교수님과 즐거운 java 프로그래밍 시간을 가지면 좋겠습니다.
  • 제출 : 소스코드와 eclipse 실행화면을 캡쳐하여 제출할 것
  • 과제를 하면서 느낀점과 어려웠던 점을 2문장 이상 적어서 제출할 것

2주차 강의(9월 10일)

  • 일본 FFG 현장실습후기 발표자료.pdf
  • 자바 기본 프로그래밍
    • 둘째 주에는 자바 가상머신과 바이트 코드, 프로그래밍의 구조에 대해서도 알아봅니다
    • 식별자
    • 자바의 데이터 타입
    • 자바에서 키보드 입력받기
    • 연산자와 조건문

강의자료

과제 #2

  • 제목 : 교재 2장 문제풀이
    • 날짜 : 2019년 9월 17일 화요일까지
    • 교재 2장 연습문제 풀이
      • 이론문제 : 문제와 답을 손으로 적어서 제출할 것
        • 1-12번까지
      • 실습문제 : 1번부터 9번까지 프로그램을 작성하여 소스코드와 출력 결과를 제출할 것
        • 모든 문제에 대해서 어려웠던점과 알게된 점을 한 문장으로 적으시오.

3주차 강의(9월 17일)

  • 내용 : 자바 반복문과 배열 그리고 예외처리
  • 자바 기본 프로그래밍
    • 반복적인 명령처리의 필요성
    • 자바 언어의 반복문
    • 자바의 배열과 예외처리

참고 사이트

과제 #3

  • 제목 : 교재 3장 실습문제 풀이
    • 소스코드와 실행 결과 화면의 배경은 흰색으로 하여 제출합니다
    • 164쪽 실습문제 1-14번 풀이
      • 문제를 적고 코드를 작성한 후 결과와 함께 캡쳐하여 제출합니다
        • 문제내에는 반드시 주석문을 4줄 이상 작성하세요.

강의자료(3장)

4주차 강의(9월 24일)

  • 내용 : 클래스와 객체
    • 객체지향 언어와 절차지향 언어의 개념
    • 자바 언어의 클래스
    • 자바의 클래스 선언과 객체생성
    • 접근 지정자의 이해

참고

과제 #4

  • 제목 : 교재4장 연습문제 풀이
  • 제출일 : 10월 1일
  • 내용
    • 교재 4장 연습문제 1-10번
    • 실습문제 1-5번 풀이
      • 프로그래밍을 짜고 결과를 캡쳐한다.
      • 프로그래밍 코드에는 올바른 들여쓰기를 하여야 하며, 코드를 설명하는 주석문을 3개 이상 달아야 합니다
      • 모든 프로그래밍 코드에 주석을 넣으세요. 프로그래밍 코드에 주석이 없으면 그 연습 문제는 0점 처리됩니다
      • 모든 프로그래밍 문제에 대해서 느낀점과 어려웠던 점에 대해서 적도록 한다

강의자료(4장)

5주차 강의(10월 1일)

  • 5장 상속
    • 오늘은 교재 5장의 자바 상속에 대해 알아봅니다.
    • 상속을 사용함으로써 클래스의 기능을 강력하게 사용할 수 있습니다.

강의자료

과제 #5

  • 제목 : 교재 5장 문제풀이
    1. 연습문제 : 1,3,4,7,9번
    2. 실습문제 : 3,4,9,10, 11, 12번

6주차 강의(10월 8일)

  • 모듈과 패키지 개념, 자바 기본 패키지
    • 자바의 패키지와 사용법에 대해 알아봅니다.

강의자료

과제 #6

  • 제목 : 교재 6장 연습문제 풀이
  • 내용
    • 교재 6장 연습문제 1-11번
    • 실습문제 짝수번 문제 풀이
      • 프로그래밍을 짜고 결과를 캡쳐한다.
      • 프로그래밍 코드에는 올바른 들여쓰기를 하여야 하며, 코드를 설명하는 주석문을 3개이상 달아야 합니다
      • 모든 프로그래밍 코드에 주석을 넣으세요. 프로그래밍 코드에 주석이 없으면 그 연습 문제는 0점 처리됩니다
      • 모든 프로그래밍 문제에 대해서 느낀점과 어려웠던 점에 대해서 적도록 한다
  • 제출일 : 10월 15일

7주차 강의(10월 15일)

  • 제네릭과 컬렉션

강의자료

8주차 강의(10월 22일)

  • 중간시험
  • 시험범위 : 교재 1장 - 7장 컬렉션까지
  • 시험시간 : 13:00 - 15:00(2시간)
  • 주관식과 객관식 문제의 혼용

9주차 강의(10월 29일)

10주차 강의(11월 5일)

  • 9장 자바 GUI
  • 10장 자바 이벤트 처리
    • 자바의 이벤트 처리 루틴

강의자료

과제 #6

  • 제목 : 교재 10장 연습문제풀이
    1. 실습문제 2,3,5,6,7번 풀이하기
      • 프로그래밍을 짜고 결과를 2개 이상 캡쳐한다.(캡쳐 화면에 어떤 상황인지를 설명한다- 예 : 마우스가 드래깅 중)
      • 프로그래밍 코드에는 올바른 들여쓰기를 하여야 하며, 코드를 설명하는 주석문을 달아야 합니다
      • 모든 프로그래밍 코드에 주석을 넣으세요. 프로그래밍 코드에 주석이 없으면 그 연습 문제는 0점 처리됩니다
      • 모든 프로그래밍 문제에 대해서 각각 느낀점과 어려웠던 점에 대해서 적도록 한다(없을시 0점)

11주차 강의(11월 12일)

안드로이드 특강

  • 안드로이드 기초
    • 이영록 강사님의 안드로이드 기초 프로그래밍 특강이 있습니다
    • 12:30-14:50분 까지입니다.

수업자료

* twice.zip

기본적인 스윙 컴포넌트

  • 11장 기본적인 스윙 컴포넌트와 활용
    • 스윙 컴포넌트의 상속구조와 공통 메소드
    • 레이블 컴포넌트, 버튼 컴포넌트

안드로이드 과제 #1(과제 #7)

  • Activity에 버튼을 추가하고 버튼을 터치할때마다 터치회수를 증가시켜서 표시하시오.
  • 안드로이드 실행화면과 주요 코드와 주석문을 출력하여 제출하시기 바랍니다.

강의 AS

  • 질문
 Q : import java.awt.*; 명령을  통해 java.awt 아래 패키지를 가져오는데 굳이 java.awt.event.* 를 중복해서 해야하나요?
 A : import java.awt.*; 명령은 모든 하위 패키지를 다 가져오는 명령이 아닙니다. 그래서 event 패키지를 가져오려면 import java.awt.event.*; 명령을 사용해야 합니다.

12주차 강의(11월 19일)

  • 안드로이드 프로그래밍 심화(이영록 강사님)
    • 12:30-14:50분까지 입니다.

12장 그래픽

  • 자바의 그래픽의 필요성에 대해 다루어 봅니다
    • 그래픽스 객체와 paintComponent() 메소드
    • 클리핑 제어등

안드로이드 과제 #2(과제 #8)

  • 이미지뷰어앱에 전체사진 갯수와 현재보고 있는 사진의 index를 표시하시오.
  • 안드로이드 실행화면과 주요 코드와 주석문을 출력하여 제출하시기 바랍니다.

13주차 강의(11월 26일)

  • 안드로이드 고급강의
    • 이영록 강사님의 안드로이드 기초 프로그래밍 특강이 있습니다
    • 12:30-14:50분 까지입니다.
  • 자바 GUI 및 그래픽 프로그래밍
  • 13장 쓰레드와 멀티태스킹
    • 멀티태스킹은 컴퓨터에서 다수의 작업을 동시에 수행하는 것을 말한다
    • 쓰레드를 이용하면 손쉽게 멀티태스킹을 달성할 수 있다.

안드로이드 과제 #3(과제 #9)

  • DetailActivity에 버튼을 추가해서 눌렀을때 트와이스 멤버의 별명이 출력되는 Activity로 전환되게 하시오.
  • 안드로이드 실행화면과 주요 코드와 주석문을 출력하여 제출하시기 바랍니다.

과제(기말과제 제안서)

  • 제목 : 비주얼 프로그래밍 프로젝트 제안서 만들기
  • 자바 프로그래밍 언어를 이용하여 기말과제로 적합한 과제를 기획하고 프로그램을 만들어 봅니다
    • 예시 : 1:1 채팅 어플리케이션, 자바 게임 프로그램, 안드로이드 모바일 앱 개발등 자유로운 프로그램 개발을 주제로 정하세요
    • 예시1 : 자바 가계부
    • 예시2 : 자바 쿠키런
    • 예시3 : 사다리 타기
    • 2인 1조의 조를 만들고 조원들이 함께 할 프로젝트의 이름을 정합니다
    • 어떤 프로젝트를 할지 구체적인 계획서를 제출하도록 합니다
      • 계획서 분량 : A4용지 1매이상
      • 위키 페이지에 계획서를 pdf로 만들어서 slideshare에 업로드하고 발표를 합니다
        • 별도의 발표자료를 만들어서 5분 가량 팀발표를 진행합니다
        • 발표자료는 slideshare.net 에 업로드합니다.
  • 제출 : 12월 3일까지

강의자료


14주차 강의(12월 3일)

참고

15주차 강의(12월 10일)  : 보충강의

  • 자바 쓰레드
  • 안드로이드 프로그래밍
  • ListView 사용법
  • Activity 전환
  • Intent를 이용한 데이터 전달
  • 다양한 adapter 사용

참고

16주차 강의(12월 17일) : 기말과제와 발표

  • 기말과제
  • 발표시간 : 12월 17일 화요일 오후 1:00, 310 강의실
    • 2인 1조의 자바프로젝트 또는 안드로이드 모바일 앱 프로젝트
    • 수강생들은 2인 1조의 프로젝트를 기획해서 구현해 보도록 합니다.
    • 조원들은 5-10분 이내의 구현된 작품에 대해 발표를 합니다.
      • 발표자료는 wiki에 업로드 하고 데모 영상은 youtube에 올리도록 합니다
    • 점수( 100점 만점 )
      • 위키페이지 정리 10점
        • 과제 계획서 보고서를 위키페이지에 업로드하고 이를 잘 정리해 둡니다
      • 계획서 및 보고서 자료 30점
        • 보고서는 A4 용지에 다이어그램 형식으로 과제의 구성에 대해 설명합니다.
        • 6장 이상의 실행 스크린 샷을 첨부합니다.
      • 작품의 기획과 프로그램의 완성도 30점
        • 프로젝트는 완성도가 중요하므로 작은 기능이라도 완전하게 동작하도록 구현되어 있어야 합니다.
      • 발표점수 30점
        • 위키페이지에 slideshare.net 사이트와 youtube.com 사이트에 demo 영상을 올리고 이를 토대로 발표를합니다.

기말프로젝트 위키