수강대상
•
국민내일배움카드 발급 대상이면서 K-디지털 기초역량훈련에 성실히 참여할 것으로 확인되는 사람
•
Python 및 프로그래밍 기초 학습이 필요하거나 관심있는 국민 누구나
◦
프로그래밍의 기본적인 원리를 알고 싶은 분
◦
코딩에 관심이 있는 분
◦
코딩에 관심이 있지만 언어 선택을 하지 못한 분
◦
웹 개발, 앱 개발, 데이터 분야 등에 관심이 있는 분
◦
파이썬을 배워보고 싶은 분
교육과정 소개
프로그래밍 공부, 어떻게 시작해야 할지 막막하신가요? 입문자도 쉽게 배울 수 있는 파이썬과 함께 시작해 보세요! 이번 과정을 통해 프로그래밍의 기초를 탄탄히 쌓을 수 있습니다.
이번 과정에서는 자료형과 추상화, 제어문 등 프로그래밍의 핵심 개념 학습을 통해 프로그래밍 인사이트를 얻고, 데이터를 자유자재로 처리하는 방법을 학습합니다. 또한 유용하게 사용되는 자료형과 함께 잘 알려지지 않은 파이썬 자료형의 시크릿 키를 알려드립니다.
주제별로 진행되는 실습과 프로젝트를 통해, 직접적이고 실용적인 프로그래밍을 시작하실 수 있습니다.
커리큘럼
연번 | 차시명 | 세부내용 |
1 | 프로그래밍 입문자 가이드 | - 프로그래밍 분야 전반에 대해 개론적으로 이해하기
- 서비스가 동작하는 원리와, 서비스를 프로그래머가 실제 구현하는 방식에 대해 이해하기
- 퀴즈를 통해 프로그래밍 분야와 서비스 동작 원리에 대한 이해를 확인하기 |
2 | 프로그래밍 분야들 | - 프로그래밍의 여러 분야에 대하여 이해하기
- 각 분야에 해당하는 개발을 위해 어떤 학습이 필요한지 파악하기
- 퀴즈를 통해 프로그래밍 각 분야와, 분야별 학습이 필요한 내용에 대한 이해를 확인하기 |
3 | 프로그래밍 활용 방안: 업무 자동화 | - Python을 활용한 업무 자동화 진행 방식에 대해 이해하기
- 간단한 실습으로 업무 자동화를 통해 할 수 있는 일에 대하여 파악하기 |
4 | 프로그래밍 활용 방안: 데이터 사이언스 | - 데이터 사이언스에 Python 및 SQL 프로그래밍을 활용할 수 있는 방안 이해하기
- 간단한 실습으로 시각화, 쿼리 조회, 머신러닝 등 데이터를 활용해 할 수 있는 일에 대하여 파악하기 |
5 | 프로그래밍 활용 방안: 웹 개발 | - 웹 개발 분야에서 JavaScript 프로그래밍을 활용해 할 수 있는 작업에 대하여 이해하기
- 간단한 실습으로 웹 개발 분야의 프로그래밍 활용 방안에 대해 파악하기 |
6 | 프로그래밍의 다양한 분야 | - 프로그래머들을 이해하기 위해 알아야 하는 다양한 분야에 대한 개론적 이해를 갖추기
- 퀴즈를 통해 프로그래머들을 이해하기 위해 필요한 지식을 정확하게 습득했는지 여부를 파악하기
- 프로그래머들이 자주 사용하는 도구에 대하여 파악하고 직접 활용해보기 |
7 | 트렌드를 읽는 능력 | - 개발 트렌드를 파악하기 위한 노하우 습득하기 |
8 | 프로그래밍 언어 살펴보기 | - 프로그래밍 언어가 무엇인지에 대하여 이해하기
- 객체 지향 프로그래밍에 대하여 이해하기
- 동적 언어와 정적 언어에 대하여 이해하기
- 퀴즈를 통해 프로그래밍 언어와, 프로그래밍 언어가 갖는 패러다임에 대해 이해 여부를 점검하기 |
9 | 프로그래밍 언어 제대로 사용하기 | - 고수준 언어와 저수준 언어의 차이에 대하여 이해하기
- 프로그래밍 언어의 심화 활용 방안 및 라이브러리,프레임워크를 활용한 프로그래밍 방식에 대하여 이해하기 |
10 | 파이썬 프로그래밍 기본 개념 | - Python 실습 진행을 위해 필요한 IDE에 대해 이해하기
- 원활한 실습 진행을 위해 IDE 직접 설치하고 실행해보기
- Python 프로그래밍의 기본 개념인 코멘트, 변수, 함수에 대해 이해하기
- 변수를 선언하고 값을 할당하기
- 함수를 선언하고, 파라미터를 통해 값을 전달하여 함수에서 활용하기
- return문을 통해 함수 내부의 실행 결과를 반환하기
- (실습 과제) 칼로리 계산기: 변수를 통해 각 음료 별 투입 재료에 따른 칼로리를 계산하는 프로그램 만들기
- (실습 과제) 카페모카 레시피: 카페모카 레시피를 한 번에 출력해주는 함수 만들기
- (실습 과제) 세 수의 곱: 파라미터로 세 개의 수를 전달해서 전달한 수를 곱한 결과를 출력하는 함수 만들기 |
11 | 자료형 | - Python에 있는 자료형(숫자형, 문자열, 불린형 등)에 대해 이해하기
- 템플릿 문자열을 통해 문자열에 원하는 값을 유동적으로 적용시키는 법 습득하기
- 코드에 사용된 값의 자료형이 무엇인지 확인하는 방법 파악하기
- (실습 과제) 원하는 문자열 출력하기(2개): 원하는 문자열이 원하는 형태로 출력하기
- (실습 과제) 급여 계산기: 급여, 근무 시간, 환율 등을 템플릿 문자열을 활용해 적용하여 실제 지급받을 급여액을 표시해주는 함수 만들기 |
12 | 추상화 | - 여러 함수가 중첩되어 있을 때 실행 순서에 대하여 이해하기
- return 문과 print 함수를 통해 출력한 값 사이의 차이를 이해하기
- 함수 내에서 선언된 변수와 함수 밖에서 선언된 변수의 scope에 대해서 이해하기
- 상수로 선언된 값이 함수에서 어떻게 적용되는지 이해하기
- (실습 과제) return과 print 함수의 차이를 이용해 원하는 실행 결과 출력하기
- (실습 과제) 짝수 판별기: 숫자를 파라미터로 전달했을 때 해당 숫자가 짝수인지 확인하는 판별 함수 만들기
- (실습 과제) 거스름 돈 구하기: 지불한 금액, 물건의 가격을 파라미터로 받아 거스름돈을 구하는 함수 만들기 |
13 | 제어문 | - 조건문에 사용되는 문법(if, elif 등)을 이해하고 필요한 상황에 맞게 활용하기
- while 반복문 문법에 대해 이해하고 필요한 상황에 맞게 활용하기
- (실습 과제) 짝수 출력하기: 반복문을 활용하여 1부터 100까지 숫자 중 짝수만 출력하기
- (실습 과제) 조건에 맞는 숫자 탐색(3개): 반복문을 활용하여 주어진 조건을 충족하는 숫자를 탐색하기
- (실습 과제) 학점 계산기: 점수에 따라 학점을 부여해주는 함수 만들기
- (실습 과제) 약수 출력하기: 주어진 숫자를 나누어 떨어지게 하는 약수를 출력하기
- (실습 과제) 택이의 우승상금: 우승 상금으로 받은 금액을 정해진 기간, 이자율로 저축하는게 이득일지, 집을 구입하는 게 이득일지 판단하는 프로그램 만들기
- (실습 과제) 피보나치 수열: 피보나치 수열 50자리까지 출력하기
- (실습 과제) 구구단 만들기: 중첩 반복문을 활용하여 구구단 1단부터 9단까지의 결과를 표시하기 |
14 | 리스트 | - 리스트 자료형에 대해 이해하기
- 리스트 자료형에서 자주 사용되는 함수들의 사용법과 적절한 활용 시점을 파악하기
- 리스트에 저장된 값들을 정렬하는 함수들을 이해하고 적절하게 활용하기
- (실습 과제) 배열의 요소 출력하기: 배열에 있는 모든 요소를 반복문을 활용해 출력하기
- (실습 과제) 온도 단위 바꾸기: 배열에 섭씨 기준으로 저장된 온도를 화씨 기준으로 변경해서 저장하기
- (실습 과제) 환전 서비스: 원화로 저장된 리스트의 값들에 환율을 적용하여 특정 통화(달러, 엔)로 값을 전환해주는 계산기 함수 만들기
- (실습 과제) 리스트 함수 사용하기: 리스트 함수를 활용해 요구사항과 일치하도록 데이터를 추가, 수정, 삭제해보기 |
15 | for 반복문 | - for 반복문에 대해 이해하기
- range 함수를 활용해서 for 반복문을 사용하는 방식 이해하기
- (실습 과제) range 함수 활용하기: range 함수 활용해서 배열의 인덱스와 값 출력하기
- (실습 과제) 거듭제곱: 거듭제곱 수식과 결과를 출력하기
- (실습 과제) 구구단: for 반복문을 이용해서 구구단 출력하기
- (실습 과제) 피타고라스 삼조: 피타고라스 정리를 만족하는 세 숫자쌍 탐색하기
- (실습 과제) 리스트 뒤집기: 리스트에 저장된 값을 거꾸로 뒤집어서 저장한 새로운 리스트 생성하기 |
16 | 사전 | - 사전 자료형에 대해 이해하고, 사전을 이용해 데이터를 원하는 형태로 처리하는 방법 이해하기
- (실습 과제) 영어 단어장: 사전을 이용해 영문 단어에 대응되는 한국어 단어가 정리된 영어 단어장 만들기
- (실습 과제) 사전 뒤집기: 영어에 대응되는 한국어를 키-값으로 저장했던 사전을 한국어-영어 순으로 키-값 순서 바꾸기
- (실습 과제) 투표 집계하기: 리스트로 저장된 투표 결과를 집계해서 사전 형태로 저장하기 |
17 | 파이썬 데이터의 비밀 | - aliasing 현상에 대한 이해와, 리스트 자료형의 데이터를 복사하기 위한 방법에 대해 이해하기
- 리스트와 문자열의 유사점과 차이점에 대해 이해하기
- (실습 과제) 자릿수 합 구하기: 파라미터로 정수형 숫자를 받고, 각 자릿수를 더한 값을 리턴하여 그 합을 출력하기
- (실습 과제) 주민등록번호 가리기: 주민등록번호의 마지막 네 글자를 *로 대체하는 함수 만들기
- (실습 과제) 단어의 팰린드롬 여부를 확인하는 함수 작성하기 |
18 | 객체를 만드는 법 | - 객체가 무엇인지와, 객체 지향 프로그래밍이 무엇인지에 대해 이해하기
- 클래스와 인스턴스가 무엇인지 이해하기
- 클래스 내부에서 변수와 메소드를 생성하기
- __init__ 메소드와 __str__ 메소드가 무엇인지와 활용 방안에 대해 이해하기
- 클래스 변수와 메소드에 접근하고 원하는 방식으로 활용하기
- 데코레이터 함수가 무엇인지와, 어떤 방식으로 활용되는지 이해하기
- (실습 과제) initialize 메소드: 인스턴스 변수를 전부 한 번에 설정하기 위한 User 클래스 정의하기
- (실습 과제) #맞팔해요: 팔로우 기능을 메소드로 생성하고, 팔로우 시 팔로우 한 사람의 '내가 팔로우 한 사람'과 팔로우 된 사람의 '나를 팔로우 한 사람'의 값이 올라가도록 하는 User 클래스를 생성하기
- (실습 과제) 다양한 데이터로 인스턴스 만들기: 다양한 형태의 데이터를 원하는 형태로 가공하여 인스턴스를 생성하기 |
19 | 파이썬 객체 지향 프로그래밍 실습 | - 절차 지향 프로그래밍과 객체 지향 프로그래밍의 차이를 이해하기
- 객체 지향 프로그램의 컨셉과 추구하는 특성에 대하여 정확하게 이해하기
- (실습 과제) 메뉴 만들기: 배달 음식 메뉴를 보여주는 클래스 정의하기
- (실습 과제) 속성이 없는 계산기: 계산기 클래스의 정적 메소드 완성하기
- (실습 과제) 게임 캐릭터 만들기: 게임 캐릭터 속성과 행동을 클래스로 정의하기
- (실습 과제) 블로그 유저 만들기: 블로그 유저를 나타내는 클래스 정의하기 |
20 | 파이썬 프로그래밍 프로젝트 | - (실습 과제) 시계 프로그램 만들기: 설정한 시간을 기준으로 흘러간 초를 계산해서 시간을 보여주는 시계 프로그램 만들기 |
21 | 컴퓨터 들여다보기 | - 컴퓨터의 구조 학습이 필요한 이유에 대해 파악하기
- 컴퓨터에서 사용되는 이진법에 대한 이해와, 이진법 계산 방법 습득하기
- 16진법 숫자 표현 방식에 대해서 이해하기 |
22 | 논리 연산과 회로 설계 기초 | - 세 가지 기본 논리 연산과 네 가지 응용 논리 연산에 대해 이해하기
- 실제 논리 연산을 통해 참, 거짓 여부를 판단해보기
- 회로 설계가 무엇인지와, 개념에 대해 개괄적으로 이해하기 |
23 | CPU | - CPU가 무엇인지와 컴퓨터에서 어떤 기능을 수행하는지 이해하기
- 저수준 언어인 어셈블리 언어에 대해서 이해하기
- 32비트 시스템과 64비트 시스템의 차이에 대해 이해하기 |
24 | 컴퓨터의 성능 | - 컴퓨터의 성능을 나타내는 지표에 대해 이해하기
- 컴퓨터 성능 향상을 위한 방안에 대해 개괄적으로 이해하기 |
25 | 컴파일러와 인터프리터 | - 컴파일러와 인터프리터가 무엇인지 이해하기
- 컴파일러와 인터프리터의 차이 이해하기 |
26 | 운영체제 개요 | - 운영체제가 무엇인지 이해하기
- 운영체제의 역할과 종류에 대해 이해하기 |
27 | 네이티브 애플리케이션과 웹 애플리케이션 | - 웹 애플리케이션과 네이티브 애플리케이션의 차이 이해하기
- 웹 애플리케이션의 트렌드와 활용하는 다양한 방안에 대해 이해하기 |