모듈 목표
- 패키지·배열·네이티브 ABI·CMake/colcon 빌드와 AI·로봇 실행 경계의 계약을 진단한다.
원안의 선수 안내: 일반적인 코딩이 가능한 학습자의 도구·실행 환경 경로입니다. 언어 문법 입문은 포함하지 않습니다.. 실제 보충은 아래 소주제별 권장 선수를 참고하세요.
M01.01Ubuntu 24.04 셸·프로세스·권한·USB·네트워크
학습 목표
- 실행 파일·작업 경로·상속 환경과 ROS underlay/overlay 기록을 대조해 환경 불일치를 진단한다.
- 실행 사용자·그룹과 장치 식별·접근 기록에서 확인된 조건과 추가 검증을 구분한다.
- 프로세스·대기 socket과 호스트/컨테이너 경계를 대조해 연결 실패의 최소 확인 순서를 제안한다.
권장 선수
일반 프로그래밍과 명령 실행 경험을 전제로 하며 언어·셸 문법을 다시 가르치지 않는다. Ubuntu 24.04/Jazzy의 환경·장치·통신 계약은 본문에서 설명한다. 장비와 설치 없이 합성 실행 기록을 진단하며 실제 ROS·권한·네트워크 변경은 필요하지 않다. 이미 알고 있다면 직접 열어볼 수 있습니다.
학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.
교재 본문: Ubuntu 24.04 셸·프로세스·권한·USB·네트워크 · 본문M01.02Python 패키지·가상환경·NumPy·파일과 로그
학습 목표
- 실행 인터프리터·패키지 설치 대상·실제 import 경로를 대조해 환경 불일치를 진단한다.
- 로그의 시간·단위·유효성 계약에 따라 변환 결과와 거부 이유를 판정한다.
- AI 입력의 shape·축·dtype·device와 메모리 배치를 대조해 실행 가능성과 의미 일치를 구분한다.
권장 선수
일반 Python 코딩 경험과 M01.01의 실행 경로 개념을 전제로 한다. 언어 문법을 다시 가르치지 않는다. NumPy·PyTorch 설치와 GPU 없이 합성 기록으로 모든 활동을 수행하며, 표준 라이브러리 예제 실행은 선택이다. 이미 알고 있다면 직접 열어볼 수 있습니다.
학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.
교재 본문: Python 패키지·가상환경·NumPy·파일과 로그 · 본문M01.03C/C++ 확장·ABI·버퍼 소유권과 수명
학습 목표
- native 확장의 API·ABI 및 인터프리터·플랫폼·의존성 기록을 대조해 호환성 확인 범위를 설명한다.
- 버퍼의 dtype·shape·stride·범위를 소비 계약과 비교해 잘못된 메모리 해석을 진단한다.
- 생산·소비·재사용·해제 사건표에서 소유권과 데이터 유효 기간을 판정하고 보존 방법을 제안한다.
권장 선수
일반 코딩 경험과 M01.02의 dtype·shape·device를 전제로 한다. C/C++ 언어 문법과 포인터 기호를 입문 과정으로 가르치지 않는다. native 확장과 버퍼 계약은 본문에서 보충하며 위험 코드·컴파일러·장비 실행 없이 사건표로 수행한다. 이미 알고 있다면 직접 열어볼 수 있습니다.
학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.
교재 본문: C/C++ 확장·ABI·버퍼 소유권과 수명 · 본문M01.04CMake·colcon·컴파일·링크·빌드 오류 진단
학습 목표
- CMake·colcon·컴파일러와 타깃·패키지의 역할을 나누고 configure·build·install·실행의 근거를 연결한다.
- 최초 실패 로그를 설정·컴파일·링크·로더·자료 계약 층위로 분류하고 다음 확인을 제안한다.
- 소스·구성·의존성·산출물·실행 경로를 대조해 재빌드 반영과 검증 한계를 기록한다.
권장 선수
일반 코딩 경험과 M01.01~03의 실행 환경·native ABI 개념을 사용한다. C/C++ 문법 수업은 포함하지 않는다. CMake·colcon·ROS 설치 없이 완전한 합성 빌드 기록을 진단하며 실제 ROS 빌드·장비 실행은 요구하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.
학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.
교재 본문: CMake·colcon·컴파일·링크·빌드 오류 진단 · 본문M01.05Git·의존성 고정·컨테이너와 재현 환경
학습 목표
- Git 커밋과 작업 트리·추적/미추적 파일의 차이를 읽고 실제 실행한 소스 상태를 설명한다.
- 소스·패키지·입력 데이터·컨테이너·호스트 환경의 재현 범위를 구분하고 버전 표기의 한계를 분석한다.
- 합성 실험 기록의 차이를 찾아 재현 명세와 비교 절차·미확인 범위를 작성한다.
권장 선수
일반 코딩 경험과 M01.01~04의 실행 환경·자료/ABI·빌드 개념을 사용한다. Git 명령 입문이나 언어 문법을 다시 가르치지 않는다. 저장소 변경·패키지/Docker 설치·모델 실행 없이 합성 기록으로 실습한다. 이미 알고 있다면 직접 열어볼 수 있습니다.
학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.
교재 본문: Git·의존성 고정·컨테이너와 재현 환경 · 본문M01.06Python 실험과 C++ 실행 경계·시간·데이터 계약
학습 목표
- 실험·계획·주기적 소비의 책임과 비동기 제출/완료를 구분하고 언어만으로 시간 보장이 생기지 않는 이유를 설명한다.
- 합성 기록에서 시작 간격·실행 소요·마감 위반과 자료 나이를 계산해 평균 성능과 구분한다.
- 입력 배열·소유권 및 절대/증분 명령의 의미를 반영해 데이터·최신성·순서·실패 대응 계약을 작성한다.
권장 선수
일반 코딩 경험과 M00.04의 주기/지연, M01.02~05의 배열·수명·환경 기록을 사용한다. 언어 문법 수업은 없다. 실제 GPU·제어기·스레드·ROS·로봇을 실행하지 않고 합성 시간표와 데이터 계약으로 설계한다. 이미 알고 있다면 직접 열어볼 수 있습니다.
학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.
교재 본문: Python 실험과 C++ 실행 경계·시간·데이터 계약 · 본문