Computer Science 수업
12 개 수업
- 3D 모델링: 정육면체에서 출력물까지 – 3D 모델은 컴퓨터 안에 점(꼭짓점)으로 저장된 모양이에요. 점들이 모서리로 이어지고, 모서리로 둘러싸인 납작한 면이 모여 메시가 됩니다. 먼저 단순한 도형(기본 도형)에서 시작해 옮기고, 돌리고, 크기를 바꾸고, 면을 밖으로 끌어내요(돌출). 그다음 재질과 조명을 더하면 컴퓨터가 그림을 그려 주는데, 이것이 렌더링이에요. 같은 모델을 얇은 층으로 잘라 3D 프린터로 만들 수도 있고, 게임, 영화, VR, 제품 디자인에도 쓸 수 있어요.
- 고급 프로그래밍과 응용 – 고급 프로그래밍이란 알맞은 자료구조(배열, 연결 리스트, 스택, 큐)를 고르고, IDE에서 코드를 쓰고 테스트하며, 차트와 애니메이션을 그리고, 스프레드시트 함수를 쓰고, 관계형 데이터베이스에 데이터를 안전하게 저장해 SQL로 불러오는 것을 말해요.
- 데이터 분석 – 데이터 분석은 날것의 자료를 답으로 바꾸는 일이에요. 순서는 이래요. 질문하기, 자료 모으기, 정리하기(오류, 중복, 빈칸 없애기), 표로 만들고 바꾸기, 평균·중앙값·범위 같은 요약과 패턴으로 분석하기, 알맞은 그래프로 보여 주기, 조심스럽게 결론 내리기. 이상치, 너무 작은 표본, 편향을 조심하세요. 그리고 두 가지가 함께 변한다고 해서 하나가 다른 하나의 원인이라는 증거는 아니라는 점도 기억하세요. 자료는 안전하게 보관하고, 허락을 받고 써야 해요.
- 디지털 발자국과 네티켓 – 디지털 발자국은 우리가 인터넷에서 남기는 데이터의 흔적이다. 능동적 발자국은 게시글, 댓글, 신청서처럼 우리가 일부러 남기는 것이고, 수동적 발자국은 쿠키, 검색 기록, 위치, IP 주소처럼 모르는 사이에 수집되는 것이다. 발자국은 지우기 어렵고 나중에 다른 사람이 볼 수도 있다. 우리는 공부, 은행, 쇼핑, 행정 서비스가 온라인에서 이루어지는 디지털 사회에 살고 있으며, 이를 책임감 있게 쓰는 사람이 디지털 시민(네티즌)이다. 네티켓은 윤리적이고(저작권을 지키고 믿을 만한 정보만 공유), 존중하고(사생활과 다양성 존중, 괴롭힘 금지), 책임감 있게(과도한 공개 피하기, 악플러에게 반응하지 않기) 행동하는 것이다. 소통 예절은 간결하고, 공손하고, 믿을 만하게 쓰는 것이고, SNS 예절은 비밀번호와 공개 범위를 신중히 정하고, 올리기 전에 생각하고, 퍼뜨리기 전에 확인하는 것이다.
- 문제 해결 입문: 알고리즘과 순서도 – 컴퓨터로 문제를 풀 때는 단계가 있어요. 먼저 문제를 분석하고(입력, 출력, 규칙), 알고리즘을 만들고(끝이 있고 분명하며 순서가 있는 단계들), 프로그래밍 언어로 코드를 쓰고, 여러 입력으로 테스트하고, 오류를 찾아 고치는 디버깅을 해요. 알고리즘은 순서도(타원 = 시작/끝, 평행사변형 = 입력/출력, 직사각형 = 처리, 마름모 = 판단, 화살표 = 흐름)나 의사코드(구조를 갖춘 쉬운 말)로 나타낼 수 있어요. 문제 분해는 큰 문제를 작은 문제로 나눠 따로 풀고 다시 합치는 방법이에요.
- 사이버 보안: 위협과 이를 막는 방법 – 사이버 보안은 컴퓨터, 네트워크, 데이터를 지키는 일이에요. 목표는 기밀성, 무결성, 가용성(CIA 3요소)입니다. 흔한 위협은 악성코드, 피싱과 사회공학, 무차별 대입 비밀번호 공격, 서비스 거부 공격이에요. 방어 방법으로는 강한 인증, 암호화, 방화벽, 안티 악성코드 프로그램, 업데이트, 접근 통제, 백업이 있습니다.
- 알고리즘 복잡도: 알고리즘의 작업량은 얼마나 빨리 늘어날까? – 같은 문제를 푸는 알고리즘은 여러 가지인데, 어떤 것은 훨씬 많은 단계가 필요해요. 그래서 초시계 대신, 입력 크기 n이 커질 때 기본 단계가 몇 번인지 세어 알고리즘을 비교해요. 빅오 표기법은 이 증가 속도에 이름을 붙여요: O(1) 상수, O(log n) 로그, O(n) 선형, O(n log n), O(n²) 이차. 선형 탐색은 O(n), 이진 탐색은 O(log n)이고, 버블 정렬은 O(n²), 병합 정렬은 O(n log n)이에요. 사용하는 메모리의 양은 공간 복잡도라고 해요.
- 알고리즘 설계 기법 – 알고리즘을 설계하려면 먼저 문제를 명세해요. 어떤 데이터가 들어오는지(입력), 무엇을 내놓아야 하는지(출력), 어떤 조건이 있는지를 정해요. 그다음 분명하고 끝이 있는 단계를 말, 목록, 의사코드, 순서도로 적어요. 큰 문제는 위에서 아래로 작게 쪼개거나(단계적 세분화), 작고 검증된 조각을 쌓아 올려 만들어요. 대표 기법은 완전 탐색(전부 해 보기), 분할 정복(나누고, 풀고, 합치기. 이진 탐색과 병합 정렬처럼 반씩 줄이기), 그리디(그때그때 가장 좋아 보이는 선택. 빠르지만 항상 최선은 아님), 동적 계획법(작은 부분 문제를 한 번만 풀어 표에 저장), 백트래킹(선택해 보고 막다른 길이면 되돌리기)이에요. 정확성과 효율(시간 복잡도)을 따져서 기법과 자료구조(배열, 스택, 이진 트리)를 골라요.
- 인공지능 분야의 직업과 필요한 기술 – 모든 AI 시스템은 세 단계로 만들어져요. 데이터, 모델, 제품이에요. 단계마다 맡는 직업이 달라요. 데이터 분석가와 데이터 라벨러, ML 엔지니어와 연구원, AI 제품 기획자, 디자이너, 윤리 전문가가 있어요. 모두 여섯 가지 기술(수학, 코딩, 데이터 다루기, 분야 지식, 의사소통, 윤리)을 직업마다 다른 비율로 써요. 진로는 계단과 같아요. 학교 과목, 과정이나 학위, 나만의 프로젝트, 인턴십, 첫 직장 순이고 배움은 끝나지 않아요.
- AI 윤리: 인공지능을 공정하고 안전하게 쓰는 법 – AI는 데이터에서 규칙을 배우고 그것으로 결정을 내립니다. AI 윤리는 그 결정이 공정하고 안전하며 사람을 존중하는지 묻습니다. 핵심 문제는 편향(치우친 데이터는 불공정한 결과를 낳음), 개인정보(개인 데이터는 동의와 보호가 필요함), 투명성(AI가 왜 그렇게 결정했는지 알 수 있어야 함), 책임(결국 책임지는 것은 사람), 안전과 악용(딥페이크, 가짜 정보), 사회적 영향(일자리, 디지털 격차, 환경)입니다. 책임 있는 AI란 AI를 쓰기 전과 쓴 뒤에 이 모든 것을 점검하는 것입니다.
- AI 이동 시간 예측: 데이터로 교통량 맞히기 – 교통량을 예측하려면 AI는 먼저 과거 데이터를 모아요. 예를 들어 여러 날 동안 시간당 지나간 자동차 수예요. 그다음 아침과 저녁에 혼잡 언덕이 두 번 생기는 것 같은 패턴을 찾아요. 그리고 그 패턴으로 다음 날을 예측해요. 가장 간단한 방법은 지난 며칠의 같은 시간 값을 평균 내는 거예요. 사람들은 이 예측을 보고 더 좋은 시간이나 길을 골라요. 예측은 꽤 좋은 추측일 뿐, 약속이 아니에요.
- AI 프로젝트 사이클: AI 서비스는 어떻게 만들어질까? – 인공지능(AI)은 기계가 데이터에서 배워서 판단하거나 예측하는 능력이에요. 얼굴을 알아보거나 노래를 추천하는 것이 그 예예요. AI 서비스는 AI 프로젝트 사이클이라는 여섯 단계를 돌려 가며 만들어요. 1) 문제 정의: 4W(누가, 무엇을, 어디서, 왜)로 문제를 정리해요. 2) 데이터 수집: 믿을 만한 데이터를 모아요. 3) 데이터 탐색: 데이터를 정리하고 그래프로 그려 규칙을 찾아요. 4) 모델링: 규칙을 쓰거나 학습 방법을 골라요. 5) 평가: 새 데이터로 시험하고 정확도를 계산해요. 6) 배포: 실제로 쓰게 하고 계속 고쳐요. 모든 단계에서 공정성(편향 없음), 개인정보 보호, 투명성, 책임을 생각해야 해요.