Devin.KR

소프트웨어학과

사용자의 요구를 소프트웨어로 구현하고 협업과 품질 관리 방법을 학습합니다. 교육과정은 대학마다 다르며 아래는 대표적인 구성입니다.

4년제 공학

  • 소프트웨어공학과
  • 소프트웨어융합학과

이런 학생에게 맞습니다

  • 서비스를 직접 만들어 사용자의 반응을 살피는 학생에게 맞습니다.
  • 팀에서 기능을 나누고 개선하는 과정이 즐거운 학생에게 맞습니다.

고교에서 준비합니다

정보 과목의 프로그래밍과 수학의 논리를 익히고 간단한 앱을 만들어 개선 과정을 기록하면 도움이 됩니다.

대표적인 교육과정

교육과정은 대학마다 다르며 대표적인 구성을 안내합니다.

1학년

프로그래밍기초
변수와 조건문, 반복문, 함수를 이용해 작은 프로그램을 작성합니다.
미적분학
함수의 변화율과 적분을 배우고 공학 문제에 적용합니다.
이산수학
집합과 논리, 그래프를 배우고 계산 문제를 표현합니다.
컴퓨터개론
컴퓨터의 구성과 소프트웨어의 역할을 살펴봅니다.
선형대수
벡터와 행렬, 연립방정식을 이용해 데이터를 수학적으로 표현합니다.

2학년

자료구조
리스트와 트리, 해시 등 데이터를 저장하고 찾는 구조를 구현합니다.
객체지향프로그래밍
객체와 인터페이스를 이용해 프로그램의 역할을 나누고 구현합니다.
웹프로그래밍
브라우저와 서버 사이의 요청과 응답을 이용해 웹 기능을 구현합니다.
컴퓨터구조
명령어와 프로세서, 메모리가 프로그램을 실행하는 방식을 학습합니다.
확률과통계
확률분포와 표본의 특성을 배우고 불확실성을 해석합니다.

3학년

소프트웨어공학
요구사항과 설계, 구현, 테스트를 연결해 개발 과정을 관리합니다.
운영체제
프로세스와 메모리, 파일시스템의 관리 원리를 학습합니다.
데이터베이스
데이터 모델과 관계형 데이터베이스, 질의와 트랜잭션을 학습합니다.
컴퓨터네트워크
통신 계층과 프로토콜을 배우고 데이터 전달 과정을 분석합니다.
알고리즘
문제 해결 절차를 설계하고 시간과 공간의 사용량을 비교합니다.

4학년

캡스톤디자인
팀에서 문제를 정하고 설계부터 구현과 검증까지 수행합니다.
소프트웨어설계
모듈의 책임과 의존 관계를 정하고 변경에 대응하는 구조를 설계합니다.
소프트웨어테스팅
요구사항과 경계 조건을 바탕으로 테스트를 설계하고 결함을 확인합니다.
모바일프로그래밍
모바일 화면과 상태, 데이터 처리를 연결해 앱을 구현합니다.
사용자인터페이스
사용자 흐름과 화면 구성을 설계하고 사용성을 검토합니다.

졸업할 때 갖추는 능력

  • 요구사항을 기능과 테스트 기준으로 정리하는 능력을 기릅니다.
  • 웹이나 앱의 기능을 구현하고 오류를 재현하는 능력을 기릅니다.
  • 코드를 검토하고 변경 이력을 관리하며 협업하는 능력을 기릅니다.

관련 직무와 책

함께 확인합니다

특정 개발 도구의 사용법만으로 교육과정이 구성되지는 않습니다. 설계와 이론을 실제 구현에 연결하는 연습이 필요합니다.