※본 내용은 2016 - 2020 퍼듀 CS 학사 재학 중이던 개인적인 이야기입니다.
이번에는 퍼듀 내 세부 전공, 특히나 Software Engineering Track에 대해 이야기하겠습니다.
퍼듀 내 세부 전공( Tracks )은 아래와 같이 있습니다.
- Computational Science and Engineering
- Computer graphics and Visualization
- Database and Information Systems
- (Algorithmic) Foundation
- Machine Intelligence
- Programming Language
- Security
- Software Engineering
- System Software
학생별로 원하는 Track이 다르고 더 배우고 싶어 하는 분야에 따라 선택하면 됩니다. 각 Track 별로 들어야 하는 과목이 약간씩 차이가 있습니다. 꼭 전에 확인하고 체크하고 들어야 합니다. 여러 Track을 들어도 가능하기 때문에 보통 겹치는 수업들이 많이 있는 Track들을 듣게 됩니다.
저의 개인적인 경험을 얘기하자면 Software Engineering 선택했었습니다.
현재로서는 CS 381이 필수과목으로 추가되었으나, 제가 재학 중일 당시에는 2019년도 이전 프로그램을 따랐기 때문에 위 사진에 기반하여 설명하겠습니다.
CS 307, CS 407, CS408은 기본적으로 팀으로서 프로젝트를 제작, 평가하는 수업입니다. 꽤나 많은 문서를 내면서 잘하고 있는지, 확실하게 굴러가고 있는지를 확인합니다. 물론 각 수업마다 중점으로 여기는 부분이 약간씩 다릅니다.
CS 307 - Software Engineer을 하는 방법, 문제 해결의 기본, git의 사용법, Software engineering의 패턴 등을 배우는 수업입니다. 학기에 전반만 수업을 듣고 중간고사 이후 수업은 없습니다. 하지만 학기 내내 그룹 프로젝트를 1개를 끝내야 되며 중간중간 확인, 평가, 팀원 리뷰를 하게 됩니다. 팀원 리뷰가 점수의 multiplier가 됨으로 전반적으로 다 잘해야지 점수를 잘 받게 됩니다. TA가 한 명 붙어서 만약 문제가 있으면 TA에게 말해 조정하게 됩니다.
CS 408 - Software 테스팅의 다양한 방법, TDD (Test Driven development) 등을 배우는 수업입니다. 역시 학기에 전반만 수업을 듣고 중간고사 이후 수업은 없습니다. 총 2번의 스프린트로 모든 개발과정을 끝내야 되며 나중에는 다른 팀과 과제를 바꿔서 다른 팀을 평가하게 됩니다. 의도한 25개의 버그를 찾아내고, 그 이외에 문제가 있다면 또 찾아내며 어떻게 하면 부서지는 가를 테스트해야 합니다. CS 307과 달리 테스트에 메인 중점을 주고 있으며 최대한 부서지지 않게 만들고 의도한 버그 25개를 넣어야 합니다.
CS 407 - 이 수업은 수업이 없이 완전히 학생들에게 달려있습니다. 1학기내에 프로젝트를 완성시켜 마지막에 프레젠테이션으로만 확인하면 시키면 됩니다. 전 두 수업에서 배운 걸 종합한 이해도를 407에서 사용하라고 쓴 수업입니다.
마지막으로 CS 352, CS 354 중 하나를 선택해 들어야합니다. 하나는 컴파일러, 다른 하나는 OS에 대한 수업이나, 제가 들은 것은 CS354, OS에 관한 수업이기에 CS354에 대해서만 이야기해보겠습니다.
CS 354 - Operating System, OS에 대한 이해에 대해 배우는 수업인데, 학교에 계신 교수님 중 한 분이 만든 Xinu라는 OS를 기반으로 수업이 진행됩니다. OS에 대한 이해로 현재 제시된 Xinu에 특정 주어진 능력이 가능하게 코드를 짜야됩니다. 이론에 대한 이해도가 없으면 안 되며 그와 비래해 코드에 대한 이해도 있어야 합니다. 1 중간고사, 1 기말고사, 그리고 약 6개의 랩으로 구성되어 있으며, Test case는 보통 주어지지 않습니다. 교수님마다 다르긴 하지만 박교수 님과 함께 들으신다면, Past exam을 주시기 때문에 꼭 풀어보고 가시길 바랍니다. Past exam이 엄청 엄청 도움이 됩니다. 특히 교과서를 읽는 게 이 수업에는 매우 도움이 됩니다. 이해가 훨씬 더 잘되고 기초가 다 설명되어 있어 PPT보다 자세합니다. 하지만 역시 난이도가 꽤나 있는 수업입니다. 제대로 작동되는지 확인이 힘든 랩들이 많고, 디버깅이 가능은 하지만 하는 방법을 모르는 사람이 대다수기에 kprintf로 계속 돌려봐야 합니다.
Software Track에 중요 수업을 한번 봤습니다. 다음번에는 Software Track의 교양을 한번 찾아보겠습니다.
'미국 유학 라이프' 카테고리의 다른 글
퍼듀 Career Fair란? (0) | 2020.05.17 |
---|---|
퍼듀에서 CS로 살아남기 - 4 (0) | 2020.05.05 |
퍼듀에서 CS로 살아남기 - 2 (0) | 2020.04.27 |
퍼듀에서 CS로 살아남기 - 1 (0) | 2020.04.25 |
퍼듀 대학교 (Purdue University) (1) | 2020.04.23 |