1학년
- 프기실
- c언어
- 배열 다루는법
- 공컴프
- C++, 파이썬
- 컴퓨터개론
- 입문
- 컴퓨터공학의 기초, 잡다한거 여러개
- 컴퓨터의 역사
- 어떤분야가 있는지
- 자료구조개론
- 스택, 큐, 트리구조
- 프로그램에서 사용되는 데이터를 효율적으로 저장하는법
- 알고리즘 문제풀때 같이쓰이기 때문에 중요
- 논리회로
- 전전 기초과목같은 느낌?
- 회로수준에서 어떻게 논리 연산을 수행하는지?
- AND, OR, 덧셈 연산
- 이런것들을 조합해서 복잡한 연산을 어떻게 수행?
2학년
- 문제해결기법
- 알고리즘문제(백준) - 주구장창푼다
- 시스템 프로그램 (소프트웨어 위주)
- 프로그램이 저수준에서 어떻게 돌아가는지
- C, C++ : 고수준 언어
- 어셈블리어 → 기계어 → 컴퓨터가 실행
- 프로그램이 컴퓨터에서 작동할때 메모리 구조가 어떻게되는지
- 어셈블리어 기초
- Binary Bomb 과제
- 알고리즘 개론
- 소팅 알고리즘
- 그래프 알고리즘
- 길찾기 알고리즘 (Breadth First Search, Depth First Search)
- 오토마타
- 프로그래밍 언어를 만들때 필요한 개념?
int number;
- Regular Expression
- 컴퓨터 구조개론 (하드웨어, OS가 어떻게 관리하는지)
- 시스템 프로그램 비슷함
- https://aidanbae.github.io/code/devops/computer/cpucache/
- 컴퓨터에 구성 요소(Component)
- 레지스터
- 램
- CPU에서 캐싱을 어떻게하는지
- 메모리 최적화를 어떻게 하는지
- 어셈블리어
- ICT 사업운영론 (이수혁교수님)
- 개꿀 수업 무조건 들을것
- 왜 ? 들어보시면 압니다
- 기업의 제무제표 보는법
- 기술시대회계 교양과목 이랑 내용 비슷
- 금융 관련된 지식
- 개꿀 수업 무조건 들을것
3학년
- 소프트웨어세미나, 컴퓨터공학세미나 (1학점)
- 어떤 분야가있는지 관련 분야의 전문가들(교수님, 현직자)
- 분야소개
- 주로 연구실 소개 시간
- 프로그래밍 언어
- 컴파일러 이전에 필요한 지식
- 오토마타랑 컴파일러 중간단계??
- 컴파일러 설계
- 컴파일러 직접 만드는수업
- Java이용해서 컴파일러 관련 라이브러리 써서 직접 만들기
- AST (abstract syntax tree) 파싱
- Lexer 어떻게 동작하는지
- Antlr 자바 라이브러리
while ( x < 20 ) {
x = x + y * 2;
}
- 데이터베이스 개론
- MySQL 같은 DB 어떻게 쓰는지 (SQL 문법)
- 내부적으로 어떻게 구현되있는지
- 운영체제
- 운영체제가 어떻게 돌아가는지
- xv6 라는 심플한 옛날 운영체제가지고 직접 구현
- 운영체제의 기능 : 자원할당
- CPU 스케쥴링
- 메모리 할당
- 마이크로 프로세서
- 처음보네요
- 확률과 랜덤프로세스
확률과 통계
라는 교양과목- 수학과목
- 머신러닝에 필요할수도?
- 소프트웨어 공학개론
- 모두가 피하고싶은 과목
- 왜? 시키는게 매우많다
- 60페이지짜리 개발 기획서 (팀플)
- 100페이지짜리 보고서 (팀플)
- 소프트웨어 공학 : 개발 방법론
- Agile 방법론
- 빨리빨리 필요할때마다 → 무한반복
- Waterfall 방법론
- 차근차근 한단계씩
- Agile 방법론
- 모두가 피하고싶은 과목
- 인공지능개론
- 머신러닝에 필요한 기초적인 수학
- 통계, 선형대수, 확률
- 머신러닝을 직접 하진않는것같음
- 컴퓨터 네트웍개론
- 실제로 네트워크가 어떻게 작동하는지
- 네트워크 OSI 7계층
- 실제 IP를 가지고 물리적인 컴퓨터 찾는 과정
- TCP 패킷 전송과정
- HTTP 작동방식
- 파이썬 채팅서버 만드는 실습과제
- 실제로 네트워크가 어떻게 작동하는지
- 정보보호 개론
- 암호화 알고리즘
- 수학적인 원리 위주
- HTTPS (암호화 적용된 HTTP) 원리
- TLS 인증서 (HTTPS에 쓰이는 인증서)
- 웹 취약점
- 암호화 알고리즘
4학년
- 소프트웨어 특강1, 2
- 컴퓨터 그래픽스 개론
- 3D, 2D 그래픽이 컴퓨터에서 어떻게 그려지는지
- OpenGL, C++ 라이브러리 이용해서
- 태양계 그리기
- 기계학습원론
- 머신러닝 배우는 수업
- TensorFlow 쓸수도 있고 안쓸수도 있다
- 저는 라이브러리 없이 numpy 만으로 기계학습 짜기
- 원리위주로
- 또는 현장에서 쓰이는 라이브러리 위주
- 임베디드 소프트웨어
- 빅데이터 분석방법론
- 머신러닝이랑 비슷한데
- 빅데이터 위주 (+ 머신러닝)
- 인간컴퓨터 상호작용
- 키보드는 왜 이렇게 생겼을까?
- 마우스는 왜 이렇게 생겼을까?
- 스마트폰 터치화면은 왜 생겨났을까?
- 시스템 시뮬레이션
- 컴퓨터 비전개론
- 영상인식
- 머신러닝이 뜨기 전에는 비전만을 위한 방법이 있었음
- 요새는 고전적인 방법 + 머신러닝
- 멀티코어 컴퓨팅
- 멀티 쓰레딩을 활용하여 프로그램 작성하는법
- 프로그램 실행되는 흐름이 하나 이상
- 병렬 컴퓨팅
- CUDA computing (GPU 활용)
- 무어의 법칙 끝
- 멀티 쓰레딩을 활용하여 프로그램 작성하는법
- 데이터 통신 (ICE 과목코드)
- 전전컴 과목
실습
실습은 대부분 팀플 있음
- 오픈소스 SW 실습
- Git github
- 과제로 실제 다른 저장소에서 코드 기여해보기
- Java 프로그래밍 실습
- Java 언어 배우는 과목
- 프로그래밍 과제 좀 많을듯?
- GUI 자바프로그램?
- 논리회로설계 (ICE)
- 시스템프로그래밍 실습
- 리눅스에서 C언어 라이브러리 쓰기
- pthread (쓰레드), 소켓 프로그래밍
- 모바일 앱 프로그래밍 실습
- Java로 안드로이드 앱개발
- 웹 프로그래밍 실습
- HTML, CSS, JavaScript
- JSP (java 로 하는 웹서버개발)
- 개인과제 블로그 만들기
- 수강신청 웹사이트 만들기 (팀플)
- MySQL DB사용
- 네트워크 프로젝트
- 캡스톤설계프로젝트
- 글로벌캡스톤디자인?
- 팀플로 서비스 기획 (소공개처럼 heavy하진 X)
- 해외 대학 학생들이랑 같이
- 미국, 베트남 보내줬음
- 2022년엔 가지않을까