한양대학교 ERICA 신산업소프트웨어전공

교과목개요

이 과목은 객체지향 프로그래밍 패러다임으로 소프트웨어의 부품 구조를 설계하고 구현하는 방법을 배운다. 소프트웨어를 부품으로 잘 나누어 설계하기 위하여 가장 널리 사용하는 MVC(Model-View-Controller) 아키텍처 기법을 채용하고, 부품의 독립성을 유지하면서 부품을 개발할 수 있는 인터페이스의 개념도 공부한다. 아울러, 다양한 GUI 기반 입력을 소화하기 위하여 이벤트 구동 프로그래밍 기법도 다룬다. 사용 언어는 Java 이다.

수업목표

MVC 아키텍처의 구조를 이해하고, 이를 기반으로 클래스 다이어그램을 그려 소프트웨어를 설계하고, 이를 참고하여 각 클래스를 구현하는 방법을 다양한 프로그래밍 실습과 과제, 팀프로젝트를 통하여 배우고 숙달한다.

  • 객체지향 프로그래밍 패러다임 이해
  • MVC 아키텍처를 활용한 소프트웨어 설계 기법 숙지
  • GUI API 활용하여 이벤트 구동 프로그래밍 개념 이해

수업안내

두 시간 강의과 두 시간 실습으로 구성하며, 매주 프로그래밍 과제가 주어진다. 기말에는 팀 프로젝트를 통하여 배운 내용을 소프트웨어 설계와 구현에 실제로 적용하는 경험을 한다. 시험은 중간, 기말 두 회로 나누어 실시하며, 코딩 테스트로 진행한다.

교재

언어 및 IDE

수업 시간 및 장소

  • 시간 : 목 14:00 ~ 18:00

주별 수업 계획

날짜 주제 숙제
1 3/4 Introduction -
2 3/11 Simple Java Applications -
3 3/18 Arithmetic and Variables #1
4 3/25 Input, Output, and State #2
5 4/1 Component Structure: Method and Class Building #3
6 4/8 Control Structure: Conditional Statements and Software Architecture #4
7 4/15 Patterns of Repetition #5
8 4/22 (오프라인) 코딩 시험 1 -
9 4/29 Data Structure: Arrays #6
10 5/6 Programming to Interfaces #7
11 5/13 Graphical User Interfaces and Event-Driven Programming #8
12 5/20 Text and File Processing -
13 5/27 Team Project Proposal Presentation -
14 6/3 Team Project Design Presentation Demo -
15 6/10 Team Project Demo -
16 6/17 (오프라인) 코딩 시험 2 -

평가

항목 비율 세부 내용
출석 20% 2% x 10
숙제 16% 2% x 8
코딩시험1 28%  
코딩시험2 28%  
팀프로젝트 8% 팀 = 제안(문서) 3% + 디자인 2% + 시연 3%
합계 100%  

수업 윤리

  • 다른 학생의 코드를 그대로 베껴서 제출하면 부정행위로 간주되어 해당 학생 모두 0점 처리됩니다. 모여서 토론하며 공부하는 건 장려하지만 코드는 본인 스스로 작성해야 합니다.
  • 시험에서 부정행위가 발견되면 즉시 F학점 처리됩니다.

연락처

  • 교수: 도경구, doh@hanyang.ac.kr, 제4공학관 3층 320호
  • 실습 조교: 양준혁, jun97y@gmail.com, 제4공학관 3층 319호 프로그래밍언어연구실