코드스쿼드의 커리큘럼은
다양한 기업과 커뮤니티의 검증을 받으며 지속적으로 개선중입니다

모바일iOS 레벨 2

기간주제내용
1주

스위프트 프로그래밍과 기본 문법의 이해

  • Xcode 개발환경 설정과 이해
  • Playground에서 스위프트 함수 경험
  • 구구단 구현을 통한 스위프트 기본 문법 이해
  • 출력 함수, 변수, 반복문, 2중 반복문, 배열과 서브루틴 확장
  • git 기본 명령과 소스트리/Xcode 저장소 설정
2주차

타입과 함수로 클린 코드 연습하기

  • 스위프트 문법 익숙해지기
  • Command Line Tool 프로젝트 템플릿
  • 단위 변환기 - 길이 변환 함수 단위로 확장하기
  • 형변환
  • 클린 코드 경험하기
  • enum 타입과 확장하기
  • 무게 단위 변환을 위한 함수 분리, 중복 코드 줄이기
3주차

객체지향 프로그래밍과 단위 테스트

  • struct 객체 설계하기
  • 사다리게임 - 함수/객체 역할 분리
  • 단위 테스트
  • 설계하기 좋은 구조 경험하기
4주차

객체지향 + 프로토콜지향 프로그래밍

  • 객체 역할과 책임
  • SOLID 객체 설계 5원칙
  • 좌표계산기 - 객체 추상화
  • SOLID 객체 설계 5원칙
  • 프로토콜지향 인터페이스 설계
  • 단위 테스트
5-6주차

복합적인 데이터 설계

  • JSON 분석기 - 데이터 설계
  • 정규표현식
  • 중첩된 배열과 사전
  • 프로토콜과 익스텐션
  • 재귀 호출
  • Exception 예외처리
7-8주차

객체지향 + 함수형 프로그래밍

  • 객체 역할 분담하기
  • 객체 단위로 비교하기
  • 클로저 활용하기
  • 점수 알고리즘 단위테스트 적용
  • 유니코드

모바일iOS 레벨3

기간주제내용
1주차

디자인 가이드라인과 iOS 프로그래밍

  • 모바일 HIG
  • 사진액자 앱 - 탭 앱 템플릿
  • IBOutlet과 IBAction
  • Scene과 Segue
  • ViewController 프로그래밍
  • Container ViewController
2주차

Class중심 객체지향 프로그래밍

  • 음료수 자판기 - 객체 모델링
  • 구현 상속과 인터페이스 상속
  • SwiftLint
  • 객체지향 설계과 구현 패턴
  • 타입과 메타타입
  • 인터페이스 분리하기
3주차

설계 패턴과 View 프로그래밍

  • MVC 설계 패턴
  • 앱 생명주기와 아카이브
  • 싱글톤 패턴
  • 관찰자 패턴
  • 코드기반 뷰 생성하기
  • Core Graphics
4주차

고급 View 프로그래밍

  • Frame과 Bounds 이해하기
  • 카드게임 앱 - 계층구조를 가진 복잡한 MVC 역할 분리하기
  • 뷰 애니메이션
  • 제스처 인식과 터치 이벤트 핸들링
  • 드래그 앤 드롭 구현하기
5주차

UITableView 기초

  • UITableViewController와 Static Cell
  • DataSource 객체 설계하기
  • UITableViewCell 커스텀 셀
  • Contacts 프레임워크 적용
  • 섹션 정렬과 인덱스 구현
6주차

웹 앱 만들기

  • UIWebView과 WKWebView
  • 페이지 로딩 이벤트 핸들링
  • 모바일 웹 디버깅
  • UserScript 인젝션
  • WebKit 핸들러 통신하기
  • SafariViewController
7-8주차

네트워크 기반 앱 만들기

  • 오토레이아웃
  • 패키지 관리 - CocoaPod
  • 네트워크 담당 모델 만들기
  • 병렬처리 GCD와 OperationQueue
  • 쇼핑앱 - 상품목록/상세화면 전환하기
  • 연결성 확인 Reachability

모바일iOS 레벨4

기간주제내용
1주

개인 앱 포트폴리오

  • 기획하기
  • 일정관리
  • 이슈관리
  • 모바일 컴퓨팅 개론 - ARM, 성능측정, 메모리 구조
  • 멀티미디어 개론 - 오디오, 이미지, 비디오
2주차

멀티미디어 프레임워크

  • UICollectionView와 Layout
  • Photos 라이브러리 활용
  • AVFoundation 이해
  • AVAssetWriter 활용하기
  • GCD 작업 단위 스케줄링하기
  • Core Image 필터
3주차

Objective-C

  • 런타임 API
  • Block과 Closure
  • 스위프트 상호 호환성
  • Effective Objective-C
4주차

지역화/국제화

  • 유니버설 영화앱 프로젝트
  • 지역화 L10n - 언어
  • 국제화 I18n - 언어와 지역
  • 파편화 - 디바이스/시뮬레이터/iOS 버전
5주차

TCP 네트워크 프로그래밍

  • 간단 TCP Client 만들기
  • StreamTask 와 커스텀 프로토콜
  • TCP Stream 이미지 데이터 분할 처리
  • 원격캠 뷰어 앱 만들기
  • 화면 저장하기
6주차

영구저장소

  • 코어 데이터 이해와 문제해결
  • 키체인 이해와 문제해결
  • iCloud Key-Value / Document 이해와 문제해결
  • Firebase 이해와 문제해결
  • Realm 이해와 문제해결
7주차

확장성

  • Multipeer-Connectivity 이해와 문제해결
  • Today Extension 이해와 문제해결
  • Metal 이해와 문제해결
  • CoreML 이해와 문제해결
8주차

개인 앱 배포하기

  • CI 도구 활용
  • TestFlight 베타 배포
  • 앱 스토어 리뷰등록하기
  • 사용자 경험 측정하기

Java 웹백엔드 레벨2

기간주제내용
1주차

자바 개발 환경 및 기본 문법 학습

  • 개발환경이해와 구성
  • git & github PR 이해
  • 구구단 구현을 통해 자바 기본 문법, 메소드, 클래스 개념 이해
  • 문자열 계산기 구현을 통해 자바 기본 문법, 메소드, 클래스 개념 이해
2주차

초간단 경주용 게임 개발

  • 클래스 변수와 인스턴스 변수
  • 클래스 메소드와 인스턴스 메소드
  • 자바 package와 import 문법 이해
  • 단위 테스트
3주차

사다리 게임 개발

  • 2차원 배열
  • 자바 Collection, Generic
4주차

좌표 계산기 개발

  • 상속, 추상 클래스
  • 인터페이스
5-6주차

로또 애플리케이션 개발

  • 자바 enum
  • 자바 Exception
  • 웹 UI 적용을 통해 HTML, CSS
  • DB 적용을 통해 테이블과 SQL 쿼리
7-8주차

볼링 게임 점수판 개발

  • 자바 다형성 경험을 통해 객체 지향 프로그래밍 기본 이해
  • 웹 UI 적용과 DB 적용 반복 연습

Java 웹백엔드 레벨3

기간주제내용
1-3주차

반복 주기를 통한 자바 웹 프로그래밍 이해

  • Spring Boot, JPA 기반 개발
  • 원격 서버에 리눅스 명령어와 쉘 스크립트를 활용해 배포
  • MVC
  • 세션, 쿠키 이해
  • XHR, AJAX, JSON API 이해
  • Logging 라이브러리
  • 메이븐, 그래들 빌드 도구
4,5주차

Q&A 서비스를 ATDD 기반 개발

  • ATDD 기반
  • Restful API 구현
  • 객체지향 개발
6,7주차

이슈 관리 시스템 개발

  • 5주차까지 경험함 내용을 기반으로 개발 연습
  • 파일 업로드, 다운로드 기능 구현
8주차

체스 게임 구현

  • TDD, 리팩토링 연습
  • 객체지향 설계 및 구현 연습

Java웹백엔드 레벨4

기간주제내용
1,2주차

HTTP 웹 서버 구현 및 리팩토링

  • HTTP 웹 서버 구현
  • 앞에서 구현한 HTTP 웹 서버 리팩토링 실습
  • HTTP 이해
3-4주차

서블릿 학습, MVC, JDBC 리팩토링

  • HTTP 웹 서버와 비교해 서블릿/JSP 기본 이해
  • 지금까지 구현한 서블릿 코드의 문제점
  • MVC 프레임워크 1단계 구현 실습
  • JDBC 구현 및 JDBC 코드 문제점 파악
  • MVC 프레임워크 2단계 구현 실습
5-6주차

MVC 3단계, DI 프레임워크 구현

  • JSON API 개발 및 Ajax 구현 실습
  • MVC 프레임워크 2단계 구현 실습
  • 자바 reflection 학습
  • MVC 프레임워크 3단계 구현 실습
  • DI 프레임워크 구현을 통한 DI 개념 이해
7-8주차

Spring 프레임워크 이해

  • Dependency Injection 이해 및 필요성
  • Bean, Bean Container 이해
  • Spring AOP, Interceptor, Transaction
  • Spring Profile, 서버에 따른 배포 자동화

웹프론트엔드 레벨2

기간주제내용
1주차

자바스크립트 프로그래밍

  • 개발환경이해와 구성
  • git & github PR 이해
  • 브라우저 자바스크립트
  • 자바스크립트 기본 문법(ES2015+)
  • 함수, 재귀, 자료구조, Scope
  • 자바스크립트 에러와 디버깅
  • 다각형의 넓이 구하기
  • 진수변환 프로그래밍 실습
2주차

객체다루기와 클린코드

  • 자바스크립트 객체와 배열 이해
  • 자바스크립트 데이터처리
  • 프로그래밍 설계
  • 클린코드
  • 자바스크립트 비동기
  • 학점계산기 개발
  • 최대공약수와 알고리즘 패턴
3주차

자바스크립트 프로그래밍과 특징

  • 언어적인 특징의 이해와 활용
  • 타입과 함수활용
  • 대화형 자판기 개발
  • 로또 생성기 개발
  • 프로그래밍 복잡도
  • 부분집합과 알고리즘
4주차

함수형 프로그래밍

  • 함수형 프로그래밍의 이해
  • 리팩토링 및 클린코드
  • 문자열 조작과 정규표현식
  • TODO List 개발
5주차

객체지향 자바스크립트

  • Object literal Pattern
  • Classes
  • 객체지향적인 프로그래밍 설계
  • scope,this,bind
  • 자바스크립트 객체만들기
  • TODO List 개발
6-8주차

복합적인 데이터 설계

  • Array Parser개발과 tokenizer
  • 데이터 분석과 Stack
  • 재귀적 호출
  • 프로그래밍 모듈화 및 설계
  • 테스트 라이브러리 개발 및 테스트코드 구현
  • 오류처리
  • 문서화

웹프론트엔드 레벨3

기간주제내용
1주차

웹 & HTML & CSS의 이해

  • 웹프로그래밍 이해
  • HTML 구조화 설계
  • CSS 속성과 기본활용
  • 레이아웃
  • 웹 자판기 HTML,CSS 개발
2주차

DOM과 Event

  • DOM APIs 활용
  • Event
3주차

MV* 와 웹UI개발

  • MV* 와 구조설계
  • 웹자판기 인터랙션 개발
  • 비동기이해
4주차

JavaScript 코드개선

  • loading 개선
  • Event delegation
  • prototype pattern
  • JavaScript Unit test
  • 코드 리팩토링
5주차

모듈방식 프로그래밍과 Ajax

  • ES Modules과 서비스 설계
  • Ajax를 통한 비동기 인터랙션
  • Food 서비스 개발
6주차

애니메이션과 UI 인터랙션

  • 웹애니메이션과 transition
  • 무한 Sliding 인터랙션 개발
7주차

form 데이터 개발 및 리팩토링

  • form 데이터 처리
  • 검색자동완성 기능 개발
  • 클라이언트 캐시 전략
8주차

nodeJS 기반 웹서버구현

  • 웹 백엔드 이해 및 기본환경 구성
  • nodeJS 기반 자동완성 API 서버 개발

웹프론트엔드 레벨4

기간주제내용
1주차

CSS Advanced

  • Flexbox & Grid layout
  • CSS Preprocessor 기반 개발
  • 예약서비스 개발
2주차

Front-End 빌드환경

  • webpack 기반 빌드 환경 구성
  • boilerplate 구성
  • Mobile web & Touch events
  • Touch 기반 Slide UI 개발
3주차

비동기와 최적화

  • 비동기프로그래밍(promise,async,generator)
  • lazy loading
  • Tab UI 개발
4주차

패턴과 리팩토링

  • Observer 패턴기반 리팩토링
  • 테스트 코드 개발
  • 예약하기 기능 개발
5-7주차

SPAs와 React

  • SPA 이해
  • React 이해 및 환경구성
  • State Management
  • React 기반 프로젝트 개발
  • SPAs 리팩토링
8주차

Functional Programming

  • Functional Programming
  • Reactive Programming