아래 모든 날짜는 시간대 입니다.
   열리는 날    닫히는 날
수강기간
2024-01-01 00:00:00 GMT
2024-04-14 23:59:59 GMT
수강신청기간
2023-12-18 00:00:00 GMT
2023-12-31 23:59:59 GMT

본 과목은 'COMP0000: 왕초보 프로그래밍 입문'을 통해 성공적으로 프로그래밍에 첫 발을 떼신 분 중 프로그래밍을 직업으로 삼으려는 분들을 위해 제공하는 첫 과목입니다. COMP0000이 단순히 따라 하며 즐기는 프로그래밍이었다면, 이 과목은 모든 프로그래밍에 사용되는 기초 중의 기초를 컴퓨터 공학적인 측면에서 하나씩 배워봅니다.

C#은 사용의 편의성 및 직관성, 그리고 성능이라는 세마리 토끼를 다 잡은 매우 훌륭한 매니지드(managed) 언어로, 현존하는 최고의 프로그래밍 언어 설계자이자 타입스크립트(TypeScript)의 핵심개발자인 Anders Hejls의 주도 하에 지속적으로 발전하면서 미래의 프로그래밍 언어가 나아가야 할 방향을 제시하고 있습니다. 그렇기에 C#은 데스크탑 애플리케이션, 웹 프로그래밍, 그리고 게임개발(예: 유니티 엔진 기반 게임)에 이르기까지 다양한 분야에서 널리 쓰이는 언어입니다.

이처럼 사용이 편하고 직관적인 언어는 프로그래밍을 처음 배울 때 매우 중요합니다. 아직 개념조차 제대로 잡히지 않았는데 사용하는 도구(즉, 프로그래밍 언어)가 모호하고 복잡하다면 실수만 거듭하다 흥미를 잃을 가능성이 높죠. 또한 C#은 프로그래머의 실수를 빨리 잡아주는 비주얼 스튜디오(Visual Studio)라는 매우 훌륭한 개발 도구와 꼼꼼한 참고문서를 제공하기로 유명합니다. 이 모든 것들은 소프트웨어 개발이 DNA에 묻어있는 마이크로소프트라는 회사가 배후에 있었기에 가능한 일이며, 따라서 프로그래밍을 처음 배우는 분들에게 C#은 최적의 언어라 말할 수 있겠습니다.

하지만 이 과목의 제목은 '프로그래밍 입문'이지 'C# 프로그래밍'이 아닙니다. 이것이 의미하는 바는 이 과목에서 배우는 내용은 어느 프로그래밍 언어에도 적용되는 기반 지식입니다. 프로그램을 작동하게 만들려면 필요한 입출력, 반복문, 조건문 등이 여기에 포함되겠죠. 하지만 기본기를 완벽히 소화한 학생들은 C# 고유의 기능들을 배울 기회도 있을 것입니다.

따라서 본 강좌는 다음과 같이 크게 두 부분으로 나뉩니다.

  1. 프로그래밍 입문: 대부분의 프로그래밍 언어에서 공통되는 기초 프로그래밍에 대해 배웁니다 ( ~ 8주 차)
  2. 기초 C# 프로그래밍: C# 프로그래밍 언어에서 지원하는 기초적인 기능들을 익혀봅니다. (9주 차 ~ 15주 차)

위와 같이 강의를 두 부분으로 나눈 이유는 C#이라는 특정 언어에 상관없이 모든 언어에 공통된 기초 지식들을 우선적으로 제대로 습득하여 다른 언어를 배울 때 혼동이 생기지 않게 하는 반면, C#에서 제공하는 타 언어보다 뛰어난 기능들까지 살펴 보아 앞으로 프로그래밍 언어가 나아갈 방향을 느낄 수 있게 하기 위해서입니다.

수강 시작 날짜 : 2024-01-01 00:00:00 GMT

수업 내용
  • 과목 설명
  • 헬로 월드(Hello World)
  • 프로그래밍 언어 분류

동영상 강의 범위(총 2시간 22분): 과목에서 사용하는 도구 및 서비스, 중요 정보 ~ 정리

과제 및 실습
  • 실습 1

수업 내용
  • 콘솔 출력
  • 구문(statement)과 주석
  • 상수
  • 변수
  • 기본 자료형(primitive type)
  • 기본 자료형의 2진수 표현

동영상 강의 범위(총 2시간 34분): 다시 만나는 Hello World ~ 정리

과제 및 실습
  • 실습 2

  • 과제 1  (제출 마감: 2024-01-28 22:00:00 GMT)

수업 내용
  • 자료형 변환
    • 묵시적 변환
    • 명시적 변환
  • 연산자(operator)
  • string(문자열)
  • 키보드 입력

동영상 강의 범위(총 3시간 03분): 묵시적 변환(Implicit Conversion) 1 ~ 정리

과제 및 실습
  • 실습 3

  • 과제 1  (제출 마감: 2024-01-28 22:00:00 GMT)

수업 내용
  • 조건문
    • 불리언(bool) 형
    • 표현식(expression)
  • 관계 연산자(relational operator)
  • 논리 연산자(logical operator)
  • 조건 연산자(conditional operator)
  • 연산자 우선순위

동영상 강의 범위(총 2시간 21분): 조건의 필요성 ~ 정리

과제 및 실습
  • 실습 4

  • 과제 1  (제출 마감: 2024-01-28 22:00:00 GMT)

수업 내용
  • switch/case 문
  • 배열(array)
  • 반복문
  • 다차원 배열(multi-dimensional array)

동영상 강의 범위(총 2시간 03분): switch 문이란? ~ 정리

과제 및 실습
  • 실습 5

  • 과제 2  (제출 마감: 2024-02-18 22:00:00 GMT)

수업 내용
  • 함수(function)
  • 함수와 범위(scope)
  • 값에 의한 전달, 참조에 의한 전달
    • ref 매개변수(parameter)
  • 열거(enum) 형
  • 어서트(assert)

동영상 강의 범위(총 3시간 23분): 함수의 필요성 ~ 정리

과제 및 실습
  • 실습 6

  • 과제 2  (제출 마감: 2024-02-18 22:00:00 GMT)

수업 내용
  • 재귀(recursive) 함수
  • 재귀 함수와 반복문
  • 무작위 수(random)

동영상 강의 범위(총 1시간 45분): 재귀 함수(Recursive Function)란? ~ 정리

과제 및 실습
  • 과제 2  (제출 마감: 2024-02-18 22:00:00 GMT)

수업 내용
  • 중간고사. 수업 및 과제 없음
과제 및 실습
  • 과제 3  (제출 마감: 2024-03-17 22:00:00 GMT)

수업 내용
  • 배열 안의 배열
  • 문자열 분할(tokenizer)
  • 함수 오버로딩(function overloading)
  • 기본값 인자(default parameter)
  • out 매개변수

동영상 강의 범위(총 2시간 28분): 배열의 배열이 왜 필요한가요? ~ 정리

과제 및 실습
  • 실습 7

  • 과제 3  (제출 마감: 2024-03-17 22:00:00 GMT)

수업 내용
  • 문자열 빌더(string builder)
  • decimal 형
  • 컬렉션(collection)
    • var 키워드
    • foreach 반복문

동영상 강의 범위(총 2시간 49분): 문자열 빌더(String Builder) 1 ~ 정리

과제 및 실습
  • 실습 8

  • 과제 3  (제출 마감: 2024-03-17 22:00:00 GMT)

수업 내용
  • 개체지향 프로그래밍(Object-Oriented Programming, OOP) 기초
  • 클래스(class)
  • 프로퍼티(property)
  • partial 클래스
  • 정적(static) 클래스
  • 확장 메서드(extension method)

동영상 강의 범위(총 3시간 15분): 클래스(Class): 클래스는 왜 필요한가? 1 ~ 정리

과제 및 실습
  • 실습 9

  • 과제 3  (제출 마감: 2024-03-17 22:00:00 GMT)

수업 내용
  • 구조체(struct)
  • Nullable
  • LINQ

동영상 강의 범위(총 2시간 01분): 값형, 참조형은 무엇인가? ~ 정리

과제 및 실습
  • 실습 10

  • 과제 4  (제출 마감: 2024-04-07 22:00:00 GMT)

수업 내용
  • 파일 입출력 기초
  • 예외(exception)
  • 파일 스트림(stream)
    • 스트림 리더(reader)
    • 스트림 라이터(writer)
    • 이진(binary) 리더/라이터

동영상 강의 범위(총 2시간 41분): 파일 입출력 기초 1 ~ 정리

과제 및 실습
  • 실습 11

  • 과제 4  (제출 마감: 2024-04-07 22:00:00 GMT)

수업 내용
  • 파일과 디렉터리
  • 나만의 라이브러리 만들기
  • 직렬화(serialization)
  • 남이 만든 라이브러리 사용하기

동영상 강의 범위(총 1시간 46분): 파일(File) 1 ~ 에필로그

과제 및 실습
  • 과제 4  (제출 마감: 2024-04-07 22:00:00 GMT)

수업 내용
  • 기말고사. 수업 및 과제 없음
과제 및 실습
  • 없음

제목   공지일   제출 마감  
실습 1
2024-01-01 00:00:00 GMT (1주 차) 2024-01-07 22:00:00 GMT
실습 2
2024-01-08 00:00:00 GMT (2주 차) 2024-01-14 22:00:00 GMT
실습 3
2024-01-15 00:00:00 GMT (3주 차) 2024-01-21 22:00:00 GMT
실습 4
2024-01-22 00:00:00 GMT (4주 차) 2024-01-28 22:00:00 GMT
실습 5
2024-01-29 00:00:00 GMT (5주 차) 2024-02-04 22:00:00 GMT
실습 6
2024-02-05 00:00:00 GMT (6주 차) 2024-02-11 22:00:00 GMT
실습 7
2024-02-26 00:00:00 GMT (9주 차) 2024-03-03 22:00:00 GMT
실습 8
2024-03-04 00:00:00 GMT (10주 차) 2024-03-10 22:00:00 GMT
실습 9
2024-03-11 00:00:00 GMT (11주 차) 2024-03-17 22:00:00 GMT
실습 10
2024-03-18 00:00:00 GMT (12주 차) 2024-03-24 22:00:00 GMT
실습 11
2024-03-25 00:00:00 GMT (13주 차) 2024-03-31 22:00:00 GMT
과제 1
2024-01-08 00:00:00 GMT (2주 차) 2024-01-28 22:00:00 GMT
과제 2
2024-01-29 00:00:00 GMT (5주 차) 2024-02-18 22:00:00 GMT
과제 3
2024-02-19 00:00:00 GMT (8주 차) 2024-03-17 22:00:00 GMT
과제 4
2024-03-18 00:00:00 GMT (12주 차) 2024-04-07 22:00:00 GMT
2024-01-14 23:59:59 GMT 환불 신청 마감
  • 성적표에 기록되지 않음
  • 전액 환불 (처리 수수료 US$ 100 공제)
2024-03-03 23:59:59 GMT 수강 철회 신청 마감
  • 성적표에 "W"로 표시
권장 소프트웨어
  1. 윈도우 운영체제
  2. 비주얼 스튜디오 2022
    • 주의: 비주얼 스튜디오 코드와는 다름
시험 응시 준비물
  1. 반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.

  2. 시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.

윈도우 리눅스 크롬 운영체제
운영체제 윈도우 7+ 맥 OSX 10.9+ 우분투 18.04+ 크롬 58+
프로세서 인텔 펜티엄 이상 인텔 또는 ARM 인텔 펜티엄 이상 인텔 또는 ARM
사용 가능한 디스크 공간 250 MB 250 MB 250 MB 250 MB
램(메모리) 4 GB1 4 GB1 4 GB1 4 GB1
업로드 속도 0.092 Mbps - 0.244 Mbps
마이크 내장형 또는 독립형
웹캠 VGA 해상도 320x240 이상, 내장형 또는 독립형
1   메모리의 적어도 25%는 다른 응용 프로그램에서 사용되지 않는다고 가정할 때의 최소 용량입니다. 시험 도중에 시스템 크래시가 나는 일이 생기지 않도록 최소 용량의 50%를 확보해 두길 권장합니다.

통과 점수: 85%

  • 실습 1 (1.00 %)

  • 실습 2 (2.40 %)

  • 실습 3 (2.40 %)

  • 실습 4 (2.40 %)

  • 실습 5 (2.40 %)

  • 실습 6 (2.40 %)

  • 실습 7 (2.40 %)

  • 실습 8 (2.40 %)

  • 실습 9 (2.40 %)

  • 실습 10 (2.40 %)

  • 실습 11 (2.40 %)

  • 과제 1 (6.25 %)

  • 과제 2 (6.25 %)

  • 과제 3 (6.25 %)

  • 과제 4 (6.25 %)

  • 중간고사 (25.00%)

  • 기말고사 (25.00%)

학생 비율 점수
   열리는 날    닫히는 날
수강기간
2024-05-06 00:00:00 GMT
2024-08-18 23:59:59 GMT
수강신청기간
2024-04-22 00:00:00 GMT
2024-05-05 23:59:59 GMT

본 과목은 'COMP0000: 왕초보 프로그래밍 입문'을 통해 성공적으로 프로그래밍에 첫 발을 떼신 분 중 프로그래밍을 직업으로 삼으려는 분들을 위해 제공하는 첫 과목입니다. COMP0000이 단순히 따라 하며 즐기는 프로그래밍이었다면, 이 과목은 모든 프로그래밍에 사용되는 기초 중의 기초를 컴퓨터 공학적인 측면에서 하나씩 배워봅니다.

C#은 사용의 편의성 및 직관성, 그리고 성능이라는 세마리 토끼를 다 잡은 매우 훌륭한 매니지드(managed) 언어로, 현존하는 최고의 프로그래밍 언어 설계자이자 타입스크립트(TypeScript)의 핵심개발자인 Anders Hejls의 주도 하에 지속적으로 발전하면서 미래의 프로그래밍 언어가 나아가야 할 방향을 제시하고 있습니다. 그렇기에 C#은 데스크탑 애플리케이션, 웹 프로그래밍, 그리고 게임개발(예: 유니티 엔진 기반 게임)에 이르기까지 다양한 분야에서 널리 쓰이는 언어입니다.

이처럼 사용이 편하고 직관적인 언어는 프로그래밍을 처음 배울 때 매우 중요합니다. 아직 개념조차 제대로 잡히지 않았는데 사용하는 도구(즉, 프로그래밍 언어)가 모호하고 복잡하다면 실수만 거듭하다 흥미를 잃을 가능성이 높죠. 또한 C#은 프로그래머의 실수를 빨리 잡아주는 비주얼 스튜디오(Visual Studio)라는 매우 훌륭한 개발 도구와 꼼꼼한 참고문서를 제공하기로 유명합니다. 이 모든 것들은 소프트웨어 개발이 DNA에 묻어있는 마이크로소프트라는 회사가 배후에 있었기에 가능한 일이며, 따라서 프로그래밍을 처음 배우는 분들에게 C#은 최적의 언어라 말할 수 있겠습니다.

하지만 이 과목의 제목은 '프로그래밍 입문'이지 'C# 프로그래밍'이 아닙니다. 이것이 의미하는 바는 이 과목에서 배우는 내용은 어느 프로그래밍 언어에도 적용되는 기반 지식입니다. 프로그램을 작동하게 만들려면 필요한 입출력, 반복문, 조건문 등이 여기에 포함되겠죠. 하지만 기본기를 완벽히 소화한 학생들은 C# 고유의 기능들을 배울 기회도 있을 것입니다.

따라서 본 강좌는 다음과 같이 크게 두 부분으로 나뉩니다.

  1. 프로그래밍 입문: 대부분의 프로그래밍 언어에서 공통되는 기초 프로그래밍에 대해 배웁니다 ( ~ 8주 차)
  2. 기초 C# 프로그래밍: C# 프로그래밍 언어에서 지원하는 기초적인 기능들을 익혀봅니다. (9주 차 ~ 15주 차)

위와 같이 강의를 두 부분으로 나눈 이유는 C#이라는 특정 언어에 상관없이 모든 언어에 공통된 기초 지식들을 우선적으로 제대로 습득하여 다른 언어를 배울 때 혼동이 생기지 않게 하는 반면, C#에서 제공하는 타 언어보다 뛰어난 기능들까지 살펴 보아 앞으로 프로그래밍 언어가 나아갈 방향을 느낄 수 있게 하기 위해서입니다.

수강 시작 날짜 : 2024-05-06 00:00:00 GMT

수업 내용
  • 과목 설명
  • 헬로 월드(Hello World)
  • 프로그래밍 언어 분류

동영상 강의 범위(총 2시간 22분): 과목에서 사용하는 도구 및 서비스, 중요 정보 ~ 정리

과제 및 실습
  • 실습 1

수업 내용
  • 콘솔 출력
  • 구문(statement)과 주석
  • 상수
  • 변수
  • 기본 자료형(primitive type)
  • 기본 자료형의 2진수 표현

동영상 강의 범위(총 2시간 34분): 다시 만나는 Hello World ~ 정리

과제 및 실습
  • 실습 2

  • 과제 1  (제출 마감: 2024-06-02 22:00:00 GMT)

수업 내용
  • 자료형 변환
    • 묵시적 변환
    • 명시적 변환
  • 연산자(operator)
  • string(문자열)
  • 키보드 입력

동영상 강의 범위(총 3시간 03분): 묵시적 변환(Implicit Conversion) 1 ~ 정리

과제 및 실습
  • 실습 3

  • 과제 1  (제출 마감: 2024-06-02 22:00:00 GMT)

수업 내용
  • 조건문
    • 불리언(bool) 형
    • 표현식(expression)
  • 관계 연산자(relational operator)
  • 논리 연산자(logical operator)
  • 조건 연산자(conditional operator)
  • 연산자 우선순위

동영상 강의 범위(총 2시간 21분): 조건의 필요성 ~ 정리

과제 및 실습
  • 실습 4

  • 과제 1  (제출 마감: 2024-06-02 22:00:00 GMT)

수업 내용
  • switch/case 문
  • 배열(array)
  • 반복문
  • 다차원 배열(multi-dimensional array)

동영상 강의 범위(총 2시간 03분): switch 문이란? ~ 정리

과제 및 실습
  • 실습 5

  • 과제 2  (제출 마감: 2024-06-23 22:00:00 GMT)

수업 내용
  • 함수(function)
  • 함수와 범위(scope)
  • 값에 의한 전달, 참조에 의한 전달
    • ref 매개변수(parameter)
  • 열거(enum) 형
  • 어서트(assert)

동영상 강의 범위(총 3시간 23분): 함수의 필요성 ~ 정리

과제 및 실습
  • 실습 6

  • 과제 2  (제출 마감: 2024-06-23 22:00:00 GMT)

수업 내용
  • 재귀(recursive) 함수
  • 재귀 함수와 반복문
  • 무작위 수(random)

동영상 강의 범위(총 1시간 45분): 재귀 함수(Recursive Function)란? ~ 정리

과제 및 실습
  • 과제 2  (제출 마감: 2024-06-23 22:00:00 GMT)

수업 내용
  • 중간고사. 수업 및 과제 없음
과제 및 실습
  • 과제 3  (제출 마감: 2024-07-21 22:00:00 GMT)

수업 내용
  • 배열 안의 배열
  • 문자열 분할(tokenizer)
  • 함수 오버로딩(function overloading)
  • 기본값 인자(default parameter)
  • out 매개변수

동영상 강의 범위(총 2시간 28분): 배열의 배열이 왜 필요한가요? ~ 정리

과제 및 실습
  • 실습 7

  • 과제 3  (제출 마감: 2024-07-21 22:00:00 GMT)

수업 내용
  • 문자열 빌더(string builder)
  • decimal 형
  • 컬렉션(collection)
    • var 키워드
    • foreach 반복문

동영상 강의 범위(총 2시간 49분): 문자열 빌더(String Builder) 1 ~ 정리

과제 및 실습
  • 실습 8

  • 과제 3  (제출 마감: 2024-07-21 22:00:00 GMT)

수업 내용
  • 개체지향 프로그래밍(Object-Oriented Programming, OOP) 기초
  • 클래스(class)
  • 프로퍼티(property)
  • partial 클래스
  • 정적(static) 클래스
  • 확장 메서드(extension method)

동영상 강의 범위(총 3시간 15분): 클래스(Class): 클래스는 왜 필요한가? 1 ~ 정리

과제 및 실습
  • 실습 9

  • 과제 3  (제출 마감: 2024-07-21 22:00:00 GMT)

수업 내용
  • 구조체(struct)
  • Nullable
  • LINQ

동영상 강의 범위(총 2시간 01분): 값형, 참조형은 무엇인가? ~ 정리

과제 및 실습
  • 실습 10

  • 과제 4  (제출 마감: 2024-08-11 22:00:00 GMT)

수업 내용
  • 파일 입출력 기초
  • 예외(exception)
  • 파일 스트림(stream)
    • 스트림 리더(reader)
    • 스트림 라이터(writer)
    • 이진(binary) 리더/라이터

동영상 강의 범위(총 2시간 41분): 파일 입출력 기초 1 ~ 정리

과제 및 실습
  • 실습 11

  • 과제 4  (제출 마감: 2024-08-11 22:00:00 GMT)

수업 내용
  • 파일과 디렉터리
  • 나만의 라이브러리 만들기
  • 직렬화(serialization)
  • 남이 만든 라이브러리 사용하기

동영상 강의 범위(총 1시간 46분): 파일(File) 1 ~ 에필로그

과제 및 실습
  • 과제 4  (제출 마감: 2024-08-11 22:00:00 GMT)

수업 내용
  • 기말고사. 수업 및 과제 없음
과제 및 실습
  • 없음

제목   공지일   제출 마감  
실습 1
2024-05-06 00:00:00 GMT (1주 차) 2024-05-12 22:00:00 GMT
실습 2
2024-05-13 00:00:00 GMT (2주 차) 2024-05-19 22:00:00 GMT
실습 3
2024-05-20 00:00:00 GMT (3주 차) 2024-05-26 22:00:00 GMT
실습 4
2024-05-27 00:00:00 GMT (4주 차) 2024-06-02 22:00:00 GMT
실습 5
2024-06-03 00:00:00 GMT (5주 차) 2024-06-09 22:00:00 GMT
실습 6
2024-06-10 00:00:00 GMT (6주 차) 2024-06-16 22:00:00 GMT
실습 7
2024-07-01 00:00:00 GMT (9주 차) 2024-07-07 22:00:00 GMT
실습 8
2024-07-08 00:00:00 GMT (10주 차) 2024-07-14 22:00:00 GMT
실습 9
2024-07-15 00:00:00 GMT (11주 차) 2024-07-21 22:00:00 GMT
실습 10
2024-07-22 00:00:00 GMT (12주 차) 2024-07-28 22:00:00 GMT
실습 11
2024-07-29 00:00:00 GMT (13주 차) 2024-08-04 22:00:00 GMT
과제 1
2024-05-13 00:00:00 GMT (2주 차) 2024-06-02 22:00:00 GMT
과제 2
2024-06-03 00:00:00 GMT (5주 차) 2024-06-23 22:00:00 GMT
과제 3
2024-06-24 00:00:00 GMT (8주 차) 2024-07-21 22:00:00 GMT
과제 4
2024-07-22 00:00:00 GMT (12주 차) 2024-08-11 22:00:00 GMT
2024-05-19 23:59:59 GMT 환불 신청 마감
  • 성적표에 기록되지 않음
  • 전액 환불 (처리 수수료 US$ 100 공제)
2024-07-07 23:59:59 GMT 수강 철회 신청 마감
  • 성적표에 "W"로 표시
권장 소프트웨어
  1. 윈도우 운영체제
  2. 비주얼 스튜디오 2022
    • 주의: 비주얼 스튜디오 코드와는 다름
시험 응시 준비물
  1. 반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.

  2. 시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.

윈도우 리눅스 크롬 운영체제
운영체제 윈도우 7+ 맥 OSX 10.9+ 우분투 18.04+ 크롬 58+
프로세서 인텔 펜티엄 이상 인텔 또는 ARM 인텔 펜티엄 이상 인텔 또는 ARM
사용 가능한 디스크 공간 250 MB 250 MB 250 MB 250 MB
램(메모리) 4 GB1 4 GB1 4 GB1 4 GB1
업로드 속도 0.092 Mbps - 0.244 Mbps
마이크 내장형 또는 독립형
웹캠 VGA 해상도 320x240 이상, 내장형 또는 독립형
1   메모리의 적어도 25%는 다른 응용 프로그램에서 사용되지 않는다고 가정할 때의 최소 용량입니다. 시험 도중에 시스템 크래시가 나는 일이 생기지 않도록 최소 용량의 50%를 확보해 두길 권장합니다.

통과 점수: 85%

  • 실습 1 (1.00 %)

  • 실습 2 (2.40 %)

  • 실습 3 (2.40 %)

  • 실습 4 (2.40 %)

  • 실습 5 (2.40 %)

  • 실습 6 (2.40 %)

  • 실습 7 (2.40 %)

  • 실습 8 (2.40 %)

  • 실습 9 (2.40 %)

  • 실습 10 (2.40 %)

  • 실습 11 (2.40 %)

  • 과제 1 (6.25 %)

  • 과제 2 (6.25 %)

  • 과제 3 (6.25 %)

  • 과제 4 (6.25 %)

  • 중간고사 (25.00%)

  • 기말고사 (25.00%)

학생 비율 점수
   열리는 날    닫히는 날
수강기간
2025-01-06 00:00:00 GMT
2025-04-20 23:59:59 GMT
수강신청기간
2024-12-23 00:00:00 GMT
2025-01-05 23:59:59 GMT

본 과목은 'COMP0000: 왕초보 프로그래밍 입문'을 통해 성공적으로 프로그래밍에 첫 발을 떼신 분 중 프로그래밍을 직업으로 삼으려는 분들을 위해 제공하는 첫 과목입니다. COMP0000이 단순히 따라 하며 즐기는 프로그래밍이었다면, 이 과목은 모든 프로그래밍에 사용되는 기초 중의 기초를 컴퓨터 공학적인 측면에서 하나씩 배워봅니다.

C#은 사용의 편의성 및 직관성, 그리고 성능이라는 세마리 토끼를 다 잡은 매우 훌륭한 매니지드(managed) 언어로, 현존하는 최고의 프로그래밍 언어 설계자이자 타입스크립트(TypeScript)의 핵심개발자인 Anders Hejls의 주도 하에 지속적으로 발전하면서 미래의 프로그래밍 언어가 나아가야 할 방향을 제시하고 있습니다. 그렇기에 C#은 데스크탑 애플리케이션, 웹 프로그래밍, 그리고 게임개발(예: 유니티 엔진 기반 게임)에 이르기까지 다양한 분야에서 널리 쓰이는 언어입니다.

이처럼 사용이 편하고 직관적인 언어는 프로그래밍을 처음 배울 때 매우 중요합니다. 아직 개념조차 제대로 잡히지 않았는데 사용하는 도구(즉, 프로그래밍 언어)가 모호하고 복잡하다면 실수만 거듭하다 흥미를 잃을 가능성이 높죠. 또한 C#은 프로그래머의 실수를 빨리 잡아주는 비주얼 스튜디오(Visual Studio)라는 매우 훌륭한 개발 도구와 꼼꼼한 참고문서를 제공하기로 유명합니다. 이 모든 것들은 소프트웨어 개발이 DNA에 묻어있는 마이크로소프트라는 회사가 배후에 있었기에 가능한 일이며, 따라서 프로그래밍을 처음 배우는 분들에게 C#은 최적의 언어라 말할 수 있겠습니다.

하지만 이 과목의 제목은 '프로그래밍 입문'이지 'C# 프로그래밍'이 아닙니다. 이것이 의미하는 바는 이 과목에서 배우는 내용은 어느 프로그래밍 언어에도 적용되는 기반 지식입니다. 프로그램을 작동하게 만들려면 필요한 입출력, 반복문, 조건문 등이 여기에 포함되겠죠. 하지만 기본기를 완벽히 소화한 학생들은 C# 고유의 기능들을 배울 기회도 있을 것입니다.

따라서 본 강좌는 다음과 같이 크게 두 부분으로 나뉩니다.

  1. 프로그래밍 입문: 대부분의 프로그래밍 언어에서 공통되는 기초 프로그래밍에 대해 배웁니다 ( ~ 8주 차)
  2. 기초 C# 프로그래밍: C# 프로그래밍 언어에서 지원하는 기초적인 기능들을 익혀봅니다. (9주 차 ~ 15주 차)

위와 같이 강의를 두 부분으로 나눈 이유는 C#이라는 특정 언어에 상관없이 모든 언어에 공통된 기초 지식들을 우선적으로 제대로 습득하여 다른 언어를 배울 때 혼동이 생기지 않게 하는 반면, C#에서 제공하는 타 언어보다 뛰어난 기능들까지 살펴 보아 앞으로 프로그래밍 언어가 나아갈 방향을 느낄 수 있게 하기 위해서입니다.

수강 시작 날짜 : 2025-01-06 00:00:00 GMT

수업 내용
  • 과목 설명
  • 헬로 월드(Hello World)
  • 프로그래밍 언어 분류

동영상 강의 범위(총 2시간 22분): 과목에서 사용하는 도구 및 서비스, 중요 정보 ~ 정리

과제 및 실습
  • 실습 1

수업 내용
  • 콘솔 출력
  • 구문(statement)과 주석
  • 상수
  • 변수
  • 기본 자료형(primitive type)
  • 기본 자료형의 2진수 표현

동영상 강의 범위(총 2시간 34분): 다시 만나는 Hello World ~ 정리

과제 및 실습
  • 실습 2

  • 과제 1  (제출 마감: 2025-02-02 22:00:00 GMT)

수업 내용
  • 자료형 변환
    • 묵시적 변환
    • 명시적 변환
  • 연산자(operator)
  • string(문자열)
  • 키보드 입력

동영상 강의 범위(총 3시간 03분): 묵시적 변환(Implicit Conversion) 1 ~ 정리

과제 및 실습
  • 실습 3

  • 과제 1  (제출 마감: 2025-02-02 22:00:00 GMT)

수업 내용
  • 조건문
    • 불리언(bool) 형
    • 표현식(expression)
  • 관계 연산자(relational operator)
  • 논리 연산자(logical operator)
  • 조건 연산자(conditional operator)
  • 연산자 우선순위

동영상 강의 범위(총 2시간 21분): 조건의 필요성 ~ 정리

과제 및 실습
  • 실습 4

  • 과제 1  (제출 마감: 2025-02-02 22:00:00 GMT)

수업 내용
  • switch/case 문
  • 배열(array)
  • 반복문
  • 다차원 배열(multi-dimensional array)

동영상 강의 범위(총 2시간 03분): switch 문이란? ~ 정리

과제 및 실습
  • 실습 5

  • 과제 2  (제출 마감: 2025-02-23 22:00:00 GMT)

수업 내용
  • 함수(function)
  • 함수와 범위(scope)
  • 값에 의한 전달, 참조에 의한 전달
    • ref 매개변수(parameter)
  • 열거(enum) 형
  • 어서트(assert)

동영상 강의 범위(총 3시간 23분): 함수의 필요성 ~ 정리

과제 및 실습
  • 실습 6

  • 과제 2  (제출 마감: 2025-02-23 22:00:00 GMT)

수업 내용
  • 재귀(recursive) 함수
  • 재귀 함수와 반복문
  • 무작위 수(random)

동영상 강의 범위(총 1시간 45분): 재귀 함수(Recursive Function)란? ~ 정리

과제 및 실습
  • 과제 2  (제출 마감: 2025-02-23 22:00:00 GMT)

수업 내용
  • 중간고사. 수업 및 과제 없음
과제 및 실습
  • 과제 3  (제출 마감: 2025-03-23 22:00:00 GMT)

수업 내용
  • 배열 안의 배열
  • 문자열 분할(tokenizer)
  • 함수 오버로딩(function overloading)
  • 기본값 인자(default parameter)
  • out 매개변수

동영상 강의 범위(총 2시간 28분): 배열의 배열이 왜 필요한가요? ~ 정리

과제 및 실습
  • 실습 7

  • 과제 3  (제출 마감: 2025-03-23 22:00:00 GMT)

수업 내용
  • 문자열 빌더(string builder)
  • decimal 형
  • 컬렉션(collection)
    • var 키워드
    • foreach 반복문

동영상 강의 범위(총 2시간 49분): 문자열 빌더(String Builder) 1 ~ 정리

과제 및 실습
  • 실습 8

  • 과제 3  (제출 마감: 2025-03-23 22:00:00 GMT)

수업 내용
  • 개체지향 프로그래밍(Object-Oriented Programming, OOP) 기초
  • 클래스(class)
  • 프로퍼티(property)
  • partial 클래스
  • 정적(static) 클래스
  • 확장 메서드(extension method)

동영상 강의 범위(총 3시간 15분): 클래스(Class): 클래스는 왜 필요한가? 1 ~ 정리

과제 및 실습
  • 실습 9

  • 과제 3  (제출 마감: 2025-03-23 22:00:00 GMT)

수업 내용
  • 구조체(struct)
  • Nullable
  • LINQ

동영상 강의 범위(총 2시간 01분): 값형, 참조형은 무엇인가? ~ 정리

과제 및 실습
  • 실습 10

  • 과제 4  (제출 마감: 2025-04-13 22:00:00 GMT)

수업 내용
  • 파일 입출력 기초
  • 예외(exception)
  • 파일 스트림(stream)
    • 스트림 리더(reader)
    • 스트림 라이터(writer)
    • 이진(binary) 리더/라이터

동영상 강의 범위(총 2시간 41분): 파일 입출력 기초 1 ~ 정리

과제 및 실습
  • 실습 11

  • 과제 4  (제출 마감: 2025-04-13 22:00:00 GMT)

수업 내용
  • 파일과 디렉터리
  • 나만의 라이브러리 만들기
  • 직렬화(serialization)
  • 남이 만든 라이브러리 사용하기

동영상 강의 범위(총 1시간 46분): 파일(File) 1 ~ 에필로그

과제 및 실습
  • 과제 4  (제출 마감: 2025-04-13 22:00:00 GMT)

수업 내용
  • 기말고사. 수업 및 과제 없음
과제 및 실습
  • 없음

제목   공지일   제출 마감  
실습 1
2025-01-06 00:00:00 GMT (1주 차) 2025-01-12 22:00:00 GMT
실습 2
2025-01-13 00:00:00 GMT (2주 차) 2025-01-19 22:00:00 GMT
실습 3
2025-01-20 00:00:00 GMT (3주 차) 2025-01-26 22:00:00 GMT
실습 4
2025-01-27 00:00:00 GMT (4주 차) 2025-02-02 22:00:00 GMT
실습 5
2025-02-03 00:00:00 GMT (5주 차) 2025-02-09 22:00:00 GMT
실습 6
2025-02-10 00:00:00 GMT (6주 차) 2025-02-16 22:00:00 GMT
실습 7
2025-03-03 00:00:00 GMT (9주 차) 2025-03-09 22:00:00 GMT
실습 8
2025-03-10 00:00:00 GMT (10주 차) 2025-03-16 22:00:00 GMT
실습 9
2025-03-17 00:00:00 GMT (11주 차) 2025-03-23 22:00:00 GMT
실습 10
2025-03-24 00:00:00 GMT (12주 차) 2025-03-30 22:00:00 GMT
실습 11
2025-03-31 00:00:00 GMT (13주 차) 2025-04-06 22:00:00 GMT
과제 1
2025-01-13 00:00:00 GMT (2주 차) 2025-02-02 22:00:00 GMT
과제 2
2025-02-03 00:00:00 GMT (5주 차) 2025-02-23 22:00:00 GMT
과제 3
2025-02-24 00:00:00 GMT (8주 차) 2025-03-23 22:00:00 GMT
과제 4
2025-03-24 00:00:00 GMT (12주 차) 2025-04-13 22:00:00 GMT
2025-01-19 23:59:59 GMT 환불 신청 마감
  • 성적표에 기록되지 않음
  • 전액 환불 (처리 수수료 US$ 100 공제)
2025-03-09 23:59:59 GMT 수강 철회 신청 마감
  • 성적표에 "W"로 표시
권장 소프트웨어
  1. 윈도우 운영체제
  2. 비주얼 스튜디오 2022
    • 주의: 비주얼 스튜디오 코드와는 다름
시험 응시 준비물
  1. 반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.

  2. 시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.

윈도우 리눅스 크롬 운영체제
운영체제 윈도우 7+ 맥 OSX 10.9+ 우분투 18.04+ 크롬 58+
프로세서 인텔 펜티엄 이상 인텔 또는 ARM 인텔 펜티엄 이상 인텔 또는 ARM
사용 가능한 디스크 공간 250 MB 250 MB 250 MB 250 MB
램(메모리) 4 GB1 4 GB1 4 GB1 4 GB1
업로드 속도 0.092 Mbps - 0.244 Mbps
마이크 내장형 또는 독립형
웹캠 VGA 해상도 320x240 이상, 내장형 또는 독립형
1   메모리의 적어도 25%는 다른 응용 프로그램에서 사용되지 않는다고 가정할 때의 최소 용량입니다. 시험 도중에 시스템 크래시가 나는 일이 생기지 않도록 최소 용량의 50%를 확보해 두길 권장합니다.

통과 점수: 85%

  • 실습 1 (1.00 %)

  • 실습 2 (2.40 %)

  • 실습 3 (2.40 %)

  • 실습 4 (2.40 %)

  • 실습 5 (2.40 %)

  • 실습 6 (2.40 %)

  • 실습 7 (2.40 %)

  • 실습 8 (2.40 %)

  • 실습 9 (2.40 %)

  • 실습 10 (2.40 %)

  • 실습 11 (2.40 %)

  • 과제 1 (6.25 %)

  • 과제 2 (6.25 %)

  • 과제 3 (6.25 %)

  • 과제 4 (6.25 %)

  • 중간고사 (25.00%)

  • 기말고사 (25.00%)

학생 비율 점수