Devin.KR

전공자의 대학 커리큘럼과 독학 대응

전공자의 대학 커리큘럼과 독학 대응을 살펴보고 자신의 경험에 맞는 다음 행동을 정합니다.

컴퓨터공학·소프트웨어 계열에서 무엇을 배우는지 학기별로 살펴보고 수료 프로젝트와 연결할 독학 실습을 안내합니다. 모든 과목을 같은 깊이로 공부하기보다 공통 기반을 익힌 뒤 목표 직무의 선택 과목을 검토합니다.

대학마다 다르며 대표적인 구성입니다. 기존 컴퓨터공학과 안내의 학년별 핵심 과목을 유지하고 응용·선택 과목을 더했으며, 모든 대학이 이 과목을 전부 개설하거나 필수로 지정한다는 뜻은 아닙니다. coverage는 기존 개요의 웹 개발 국비 과정을 기준으로 covered는 주요 내용을 실습하는 편, partial은 일부만 접하는 편, rare는 별도 학습이 필요한 편으로 표시하며 개인의 숙련도를 뜻하지 않습니다. 연결한 책은 실습 보조 자료이며 수학·회로·계산이론 등에는 별도의 강의와 연습문제 자료도 활용합니다.

1학년

프로그래밍과 수학으로 문제를 표현합니다.

1학년 전공 과목과 독학 대응
학기과목설명국비 과정에서 다루는 정도독학 대응책
1학기프로그래밍기초변수·조건·반복·함수로 입력을 처리하고 오류를 추적합니다.다룸수료 프로젝트의 입력 처리를 작은 함수로 옮기고 정상·잘못된 입력의 결과를 확인합니다.
1학기컴퓨터개론하드웨어와 소프트웨어의 역할 및 컴퓨터 분야의 연결을 살펴봅니다.일부프로그램 실행부터 화면 출력까지 CPU·메모리·운영체제가 맡는 일을 그림으로 정리합니다.
1학기미적분학함수의 극한·변화율·적분으로 연속적인 변화를 표현합니다.거의 없음함수 그래프를 그린 뒤 미분과 적분의 의미를 설명하고 작은 수치 계산으로 비교합니다.
1학기이산수학집합·명제·관계·증명으로 계산 문제의 조건을 표현합니다.거의 없음권한 조건을 논리식으로 쓰고 진리표와 코드의 결과를 비교합니다.
1학기컴퓨팅실습편집기·터미널·버전 관리로 프로그램을 작성하고 실행합니다.다룸빈 실습 폴더에서 프로그램을 실행하고 Git 기록과 재현 절차를 남깁니다.
2학기프로그래밍응용여러 함수와 파일을 연결하고 자료형·예외·입출력을 다룹니다.다룸파일을 읽어 집계하는 프로그램을 만들고 잘못된 형식과 파일 누락을 처리합니다.
2학기선형대수벡터·행렬·연립방정식과 선형변환으로 데이터를 표현합니다.거의 없음작은 행렬의 곱을 직접 계산하고 코드 결과와 비교하며 차원의 의미를 확인합니다.
2학기이산수학응용그래프·조합·귀납적 사고로 연결과 경우의 수를 분석합니다.거의 없음선수 과목 관계를 그래프로 표현하고 순환 관계가 없는지 확인합니다.
2학기웹프로그래밍기초HTML·CSS·JavaScript로 문서 구조와 상호작용을 구현합니다.다룸입력 폼을 만들고 키보드 조작·입력 오류·화면 크기 변화를 확인합니다.
2학기기술문서와 문제해결문제의 조건과 해결 과정을 문서와 코드로 전달합니다.일부공식 문서 예제를 실행한 뒤 적용 버전·전제 조건·실패 사례를 README에 기록합니다.

2학년

데이터 표현과 컴퓨터 실행의 기반을 익힙니다.

2학년 전공 과목과 독학 대응
학기과목설명국비 과정에서 다루는 정도독학 대응책
1학기자료구조리스트·스택·큐·트리·해시의 저장 방식과 연산 비용을 학습합니다.일부같은 검색 작업을 배열과 해시로 구현하고 입력 증가에 따른 작업량을 비교합니다.
1학기객체지향프로그래밍객체·상속·인터페이스로 책임과 협력 관계를 구현합니다.다룸수료 프로젝트에서 업무 규칙과 저장 기능을 분리하고 테스트로 동작을 확인합니다.
1학기디지털논리회로논리게이트·조합회로·순차회로로 디지털 동작을 설계합니다.거의 없음진리표에서 논리식을 구한 뒤 회로 시뮬레이터로 출력과 상태 변화를 확인합니다.
1학기확률과통계확률분포·표본·추정으로 불확실한 관측을 해석합니다.거의 없음작은 데이터의 평균·중앙값·분포를 비교하고 표본을 바꿨을 때 결과가 달라지는지 확인합니다.
1학기프로그래밍언어론타입·범위·값 전달·실행 모델을 통해 언어의 차이를 이해합니다.거의 없음서로 다른 언어의 참조 공유와 변수 범위를 같은 예제로 비교합니다.
2학기자료구조응용트리·그래프·우선순위 큐를 문제의 데이터 특성에 맞게 적용합니다.거의 없음의존 관계를 그래프로 저장하고 방문 기록을 사용해 순회 결과를 검증합니다.
2학기컴퓨터구조명령어·프로세서·메모리 계층이 코드를 실행하는 방식을 학습합니다.거의 없음연속 데이터와 흩어진 데이터의 접근을 비교하고 캐시와 입출력의 역할을 설명합니다.
2학기시스템프로그래밍프로세스·파일·메모리와 운영체제 인터페이스를 코드로 다룹니다.거의 없음실습 환경에서 파일 입출력과 프로세스 실행을 구현하고 실패 시 자원 해제를 확인합니다.
2학기웹프로그래밍응용요청·응답과 데이터 저장을 연결해 웹 서비스를 구현합니다.다룸화면·API·DB를 연결하고 로그인·입력 검증·오류 응답을 직접 확인합니다.
2학기수치계산기초근사 계산과 오차를 다루고 반복적인 수치 해법을 비교합니다.거의 없음부동소수점 덧셈 순서에 따른 차이를 관찰하고 근사값의 허용 오차를 정합니다.

3학년

이론을 서비스의 동작과 검증에 연결합니다.

3학년 전공 과목과 독학 대응
학기과목설명국비 과정에서 다루는 정도독학 대응책
1학기운영체제프로세스·스케줄링·동기화·가상메모리·파일시스템의 관리 원리를 학습합니다.거의 없음경쟁 상태를 재현하고 잠금 적용 전후 결과와 실행 중인 프로세스의 자원 사용을 비교합니다.
1학기알고리즘탐욕법·분할정복·동적 계획법을 적용하고 정확성과 복잡도를 분석합니다.일부같은 문제를 다른 전략으로 풀고 반례·종료 조건·시간 및 공간 비용을 기록합니다.
1학기데이터베이스관계형 모델·정규화·SQL·트랜잭션·인덱스로 데이터 일관성을 다룹니다.일부SQL 실습에 키·제약조건·롤백 검증을 더하고 동시 수정과 실행계획을 관찰합니다.
1학기컴퓨터네트워크계층별 프로토콜·주소·라우팅·신뢰성 있는 전송을 학습합니다.일부실습 환경에서 DNS 조회·연결·HTTP 요청을 관찰하고 단계별 실패를 구분합니다.
1학기소프트웨어공학요구사항·설계·구현·테스트·변경 관리의 관계를 학습합니다.일부사용자 요구와 인수 조건을 작성하고 코드 변경·리뷰·검증 결과를 연결합니다.
2학기데이터베이스응용질의 최적화·동시성 제어·데이터 모델의 적용과 한계를 비교합니다.일부느린 질의의 실행계획과 인덱스 변경 전후를 비교하고 쓰기 비용도 기록합니다.
2학기소프트웨어테스팅테스트 설계·자동화·품질 평가로 요구한 동작을 검증합니다.일부업무 규칙의 경계·실패 테스트와 실제 연결을 확인하는 통합 테스트를 구분해 작성합니다.
2학기사용자인터페이스사용 흐름·접근성·사용성 평가를 바탕으로 화면을 설계합니다.일부수료 프로젝트의 핵심 기능을 키보드로 실행하고 로딩·오류·빈 결과 상태를 점검합니다.
2학기임베디드시스템장치 입출력·인터럽트·시간 제약을 고려한 프로그램을 구현합니다.거의 없음장치 시뮬레이션에서 입력 주기와 지연을 측정하고 비정상 입력의 처리 방식을 확인합니다.
2학기계산이론오토마타·형식언어·계산 가능성과 복잡도 분류를 학습합니다.거의 없음간단한 문자열 규칙을 상태 전이로 표현하고 허용·거부 입력의 실행 경로를 기록합니다.

4학년

핵심 선택 과목과 팀 설계로 관심 분야를 확장합니다.

4학년 전공 과목과 독학 대응
학기과목설명국비 과정에서 다루는 정도독학 대응책
1학기캡스톤디자인: 설계·구현팀이 실제 문제를 정하고 요구사항·설계·구현을 연결합니다.일부수료 프로젝트의 사용자 문제를 다시 정의하고 대안 비교와 검증 가능한 요구사항을 작성합니다.
1학기분산시스템분산 환경의 통신·복제·일관성·부분 장애를 학습합니다.거의 없음격리된 실습 서비스에서 시간 초과와 중복 요청을 발생시키고 저장 결과의 일관성을 확인합니다.
1학기정보보안인증·접근 제어·암호의 역할·취약점과 방어 원리를 학습합니다.일부타인 데이터 접근과 입력 공격을 테스트하고 보호 대상·신뢰 경계·방어 근거를 기록합니다.
1학기인공지능탐색·추론·기계학습으로 문제를 해결하고 결과를 평가합니다.거의 없음작은 공개 데이터로 비교 기준을 만들고 학습·평가 데이터를 분리해 실패 사례를 분석합니다.
1학기컴파일러어휘·구문·의미 분석과 중간 표현·코드 생성의 흐름을 학습합니다.거의 없음간단한 수식 언어의 토큰과 구문 트리를 만들고 올바른 입력과 문법 오류를 구분합니다.
2학기캡스톤디자인: 검증·개선설계한 시스템을 시험하고 한계·개선 과정·기여 내용을 전달합니다.일부시연 성공 외에 장애·보안·성능 검증을 수행하고 본인 기여와 남은 제한을 정리합니다.
2학기클라우드·서비스운영자원 구성·배포 자동화·관측·복구로 서비스 실행 환경을 관리합니다.일부실습 환경에서 자동 배포와 상태 확인을 연결하고 설정 오류 뒤 이전 상태 복구를 검증합니다.
2학기데이터분석·기계학습응용전처리·특성·평가 지표를 연결해 데이터 기반 결과를 해석합니다.거의 없음결측 처리와 데이터 분리 조건을 기록하고 다른 표본에서도 결과가 유지되는지 확인합니다.
2학기모바일프로그래밍모바일 앱의 화면 생명주기·비동기 처리·네트워크 연결·기기 권한을 다룹니다.거의 없음수료 프로젝트의 API 를 그대로 쓰는 작은 앱을 만들고 네트워크가 끊기거나 느릴 때의 화면 상태를 검증합니다.
2학기기술세미나·컴퓨팅윤리기술 자료를 비판적으로 읽고 데이터·저작권·사회적 영향을 검토합니다.일부공식 문서와 공개 연구 자료의 주장·근거·한계를 정리하고 AI 도구 사용과 데이터 권한을 설명합니다.

학위 경로

학점은행제

진행 방법

이전 학습 이력과 인정 가능한 학습을 공식 안내에 따라 확인하고 학습자 등록·학점 인정·학위 신청 계획을 세웁니다.

맞는 상황

기존 학습을 활용하며 직장과 병행해 학위 요건을 채우려는 분에게 맞습니다. 학습 경로를 선택할 수 있지만 일정과 신청 절차를 스스로 관리합니다.

고려할 점

국비 수료가 그대로 학점 인정된다고 가정하지 않고 개별 인정 여부를 확인합니다. 학위 요건 이수와 전공 실습의 깊이는 따로 점검합니다.

공식 안내를 확인합니다

원격대학

진행 방법

정규 학위 과정을 제공하는 원격대학의 전공 교육과정과 입학 안내를 확인하고 수업·평가·졸업 요건을 따라 학습합니다.

맞는 상황

정해진 과목 순서와 평가를 활용하면서 일과 학업을 병행하려는 분에게 맞습니다. 이동 부담을 줄일 수 있지만 과제와 시험 시간을 확보합니다.

고려할 점

온라인 수업이라도 평가 방식과 출석·대면 활동 여부는 과정마다 확인합니다. 학위 종류와 전공 개설 여부를 대학알리미 및 해당 모집요강에서 비교합니다.

공식 안내를 확인합니다

편입

진행 방법

목표 전공의 모집요강에서 지원 자격·전형·기존 학습 인정 방식을 확인하고 필요한 선수 지식을 준비합니다.

맞는 상황

대학의 수업·동료 학습·실험 환경에서 전공 학습을 이어가려는 분에게 맞습니다. 이전 학습을 연결할 수 있는 범위는 개별 심사 결과로 확인합니다.

고려할 점

합격 후 인정되는 과목과 실제 졸업 계획은 별도로 확인합니다. 학업 공백과 생활 비용·시간을 고려하며 대학알리미에서 기본 정보를 살핀 뒤 모집요강을 확인합니다.

공식 안내를 확인합니다

대학원: 비전공 진학

진행 방법

학위와 지원 자격을 먼저 확인하고 관심 연구 주제의 논문·선수 과목·연구실 활동을 살펴 연구 계획을 준비합니다.

맞는 상황

기존 전공이나 실무의 문제를 컴퓨팅 연구와 연결하려는 분에게 맞습니다. 연구 지도와 동료 토론을 활용하되 필요한 CS와 수학을 추가로 학습합니다.

고려할 점

대학원은 학부 전공 전체를 순서대로 다시 배우는 과정으로 기대하지 않습니다. 비전공 지원 가능 여부·선수 과목·연구 방식은 해당 모집요강과 전공 안내에서 확인합니다.

공식 안내를 확인합니다

학위 없이 경력으로

진행 방법

학력 요건이 맞는 공고를 찾아 구현·테스트·운영 경험을 쌓고 기술 선택과 문제 해결의 근거를 결과물로 정리합니다.

맞는 상황

학위 취득보다 당장의 직무 경험에 시간을 배분하려는 분에게 맞습니다. 실제 업무와 연결해 배울 수 있지만 이론 학습과 피드백 환경을 직접 마련합니다.

고려할 점

학위를 요구하는 채용이나 진학에는 선택이 제한될 수 있습니다. 고용24 등의 개별 공고에서 지원 요건을 확인하고 장기 목표에 학위가 필요한지 주기적으로 검토합니다.

공식 안내를 확인합니다