본문으로 건너뛰기
KEEPJOING

동국대학교 프로그래밍 중앙동아리 CAPS 프로젝트형 스터디

SIC/XE IDE — 엄준SIC

결과 요약

동국대학교 컴퓨터·AI학부 ‘시스템소프트웨어’ 정규 수업의 공식 실습 프로그램으로 활용되었습니다.

DOSBox에 의존하던 시스템소프트웨어 실습 환경을 Electron·React 기반 데스크톱 IDE로 다시 만든 CAPS 프로젝트입니다.

UmJoonSIC 실행 화면. 왼쪽에 프로젝트 파일, 가운데에 SIC/XE 코드의 주소·목적 코드 리스트, 오른쪽에 레지스터와 메모리 값이 표시되어 있다.
실행 중인 UmJoonSIC — 리스트 파일, 레지스터, 메모리를 한 화면에서 확인합니다.
실행 중인 UmJoonSIC — 리스트 파일, 레지스터, 메모리를 한 화면에서 확인합니다.
역할
공동 개발총괄
기간
2025.05 – 2025.09
팀
4인 팀
사용 기술
Electron, React, TypeScript, Java, Spark

문제

수업 실습은 DOSBox 기반 CLI 도구 세 가지에 의존하고 있었습니다. 실행 결과를 복사하기 어려웠고, macOS에서는 편집기가 아예 실행되지 않아 학생들이 코드를 쓰는 단계부터 막혔습니다.

핵심 기여와 선택

CAPS 프로젝트형 스터디에서 4인 팀의 공동 개발총괄을 맡았습니다. CAPS 여름 프로젝트로 실습 환경을 다시 만들고, 교수님의 지도 아래 수업에 도입할 수 있도록 확장했습니다. 팀은 Git으로 협업했습니다.

  • 한 화면에서 이어지는 실습 흐름 — Electron과 React로 코드 작성 → Assemble → Link → Run → Debug가 끊기지 않는 화면을 구현했습니다.
  • 기존 엔진을 서버로 재구성 — Java 기반 SicTools의 Swing 앱을 Java용 Spark 서버로 바꾸고, 프론트엔드와 백엔드를 나누어 연동했습니다.
  • 로직 보강(팀) — SIC/XE와 순수 SIC를 모두 지원하도록 보강하고, 문법 오류의 위치를 반환하는 부분의 문제를 개선했습니다.
UmJoonSIC 디버깅 화면. 아래쪽 변수 패널에 TABLE, BUFFER, RESULT의 주소와 값이, 오른쪽 메모리 패널에 해당 주소의 바이트 값이 강조되어 있다.
디버깅 중 변수·레지스터·메모리 값을 함께 확인하는 화면
디버깅 중 변수·레지스터·메모리 값을 함께 확인하는 화면

검증된 결과

  • Windows · macOS · Linux에서 실행되는 데스크톱 앱으로 만들었습니다.
  • 앱 시작 화면에 개발 지도 교수진과 개발 총괄 4인이 함께 표기됩니다.
엄준SIC 시작 화면. ‘엄청나게 준수해진 SIC 개발환경’이라는 문구와 픽셀 아트 캐릭터, 동국대학교 컴퓨터·AI학부와 CAPS 로고, 개발 지도 교수와 개발 총괄 4인의 이름이 적혀 있다.
앱 시작 화면 — 개발 지도와 개발 총괄 명단
앱 시작 화면 — 개발 지도와 개발 총괄 명단
macOS의 파일 정보 창. UmJoonSIC.app, 버전 1.1.0, 281.1MB가 표시되어 있다.
macOS에서 실행되는 UmJoonSIC.app (버전 1.1.0)
macOS에서 실행되는 UmJoonSIC.app (버전 1.1.0)

배운 점

운영체제의 제약과 학습자의 사용 흐름을 함께 고려해야 실제로 쓰이는 도구가 된다는 것을 배웠습니다. 기능을 만드는 데서 멈추지 않고 수업에서 쓰이는 제품으로 완성하는 과정이 가장 큰 배움이었습니다.