728x90
반응형
1단계: Python 입문
1. 프로그래밍이란?
- 컴퓨터와 소프트웨어의 기본 개념
- 프로그래밍 언어의 역할과 종류
- Python이란 무엇인가? (특징과 활용 분야)
2. Python 설치 및 실행하기
- Python 설치 방법 (Windows, Mac, Linux)
- IDE 선택하기 : IDLE, VS Code, PyCharm 비교
- Python 환경 설정 (PATH 설정 및 테스트)
- 온라인 Python 환경 활용 (Google Colab, Replit)
3. 첫번째 프로그램: Hello, World!
- Python 파일(.py) 생성 및 실행
- 코드 작성 규칙 (들여쓰기, 주석 활용법)
- Python의 기본 구조 이해
4. 기본 출력과 입력
- print()로 텍스트와 변수 출력하기
- input()으로 사용자 입력 받기
- 입력 값 데이터 형 변환 (int(), float() 등)
5. 데이터 종류와 변수
- 변수란? (변수 선언 및 사용법)
- Python의 기본 데이터 유형
> 숫자형 (int , float , complex)
> 문자열 (str)
> 불리언 (bool)
> 리스트 (list)
> 튜플 (tuple)
> 딕셔너리 (dict)
> 집합 (set)
- 데이터 유형 변환 방법
6. 연산과 계산
- 산술 연산자 : 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 몫
- 비교 연산자 : 크기 비교 ( < , > , == , != )
- 논리 연산자 : and , or , not
- 복합 할당 연산자 : += , -= , *= , /=
- 연산자 우선 순위
7. 조건문과 반복문
- 조건문 : if, elif, else 구조
- 반복문 : for 와 while 사용법
- 중첩 조건문과 반복문
- 조건문과 반복문 활용 예제
8. 함수와 모듈
- 함수 정의 및 호출하기
- 매개변수와 반환값 이해
- 기본 제공 모듈 ( math, random , datetime 등) 활용하기
- 사용자 정의 모듈 생성 및 사용
9. 파일 입출력
- 텍스트 파일 읽고 쓰기 (open() , read() , write())
- 파일 경로와 모드 이해
- 파일 작업에서 예외 처리
10. Python 으로 간단한 프로젝트 만들기
- 이름과 나이를 입력받아 인사하는 프로그램
- 기본 계산기 만들기 (덧셈, 뺄셈, 곱셈, 나눗셈 기능)
- 로또 번호 생성기
- 간단한 텍스트 기반 게임 (숫자 맞추기)
2단계 : Python 기본 문법
1. 변수와 자료형
- 변수란? (변수 선언, 할당, 사용법)
- Python의 동적 타이핑 특성
- 자료형 소개와 특징
> 숫자형 (int , float, complex)
> 문자형 (str)의 기본 사용법 (문자열 연결, 반복, 인덱싱, 슬라이싱)
> 불리언 (bool) 과 활용
- 변수와 메모리 구조 이해 (변수의 값 복사와 참조)
2. 조건문
- if , else , elif 의 기본 사용법
- 조건문 작성 시 유의사항 (들여쓰기, 조건 표현식)
- 조건문 중첩과 효율적인 사용법
- in , not in 연산자 활용
- 조건문을 활용한 간단한 프로그램 만들기
> 숫자 크기 비교 프로그램
> 특정 문자열 포함 여부 확인 프로그램
3. 반복문
- for 와 while 의 차이점과 기본 사용법
- 반복문의 필수 구성 요소 (range, 조건식, 종료 조건 등)
- 중첩 반복문 활용
- break 와 continue의 사용 방법 및 차이
- 무한 루프와 그 활용 사례 (입력 대기 프로그램 등)
- 실습 : 간단한 구구단 출력 프로그램
4. 함수
- 함수 정의와 호출 (def 키워드)
- 매개변수와 반환값의 사용법
- 기본 매개변수와 키워드 매개변수
- 함수의 가독성과 모듈화 (왜 함수를 사용하는가 ?)
- 실습 : 두 숫자를 입력받아 합을 반환하는 함수 작성
5. 리스트와 반복문
- 리스트의 기본 개념과 생성
- 리스트와 관련된 주요 매서드 (append() , remove() , sort() 등)
- 리스트와 반복문 (for 문을 활용한 리스트 순회)
- 리스트 컴프리헨션의 소개 (기본 활용법)
- 실습 : 이름 목록에서 특정 이름 찾기 프로그램
6. 간단한 파일 읽기 / 쓰기
- 텍스트 파일 열기 (open() 함수와 파일 모드)
- 파일 읽기 (read(), readline() , readlines())
- 파일 쓰기 (write(), writelines())
- 파일 작업 후 반드시 닫기 (close() vs with open)
- 파일 작업 중 예외 처리 (파일이 없는 경우)
- 실습 : 간단한 파일 읽고, 수정하여 저장하기
> 텍스트 파일에서 데이터를 읽고 대문자로 변환하여 저장
7. 실습
- 1 부터 10까지의 숫자를 더하는 프로그램
> for 문 while 문을 각각 활용
- 리스트에 저장된 이름을 하나씩 출력하는 프로그램
> 출력 형식을 다양하게 조정 (번호 추가, 알파벳 순 정렬 등)
3단계 : Python 활용
1. Python 으로 그림 그리기
- turtle 모듈 소개
> turtle 모듈 설치 및 실행 방법
> 거북이의 움직임 제어 (이동, 회전, 색상 변경)
- 기본 도형 그리기
> 직선, 사각형, 삼각형, 원 등 그리기
> 반복문을 활용한 다각형 그리기
- 복잡한 그림 그리기
> 프렉탈과 같은 패턴 그리기
> 색깔을 활용한 무작위 도형 생성
- 실습
> 별 모양 그리기
> 무작위 색상의 원형 패턴 생성
2. 간단한 게임 만들기
- 숫자 맞추기 게임
> random 모듈로 무작위 숫자 생성
> 사용자 입력과 조건문을 활용한 정답 확인
> 힌트 제공 (더 크다 / 작다)
> 점수 시스템 추가 (시도 횟수 기반)
- 주사위 던지기 프로그램
> random.randint() 를 활용한 주사위 값 생성
> 여러 번의 주사위 던지기 결과 기록
> 승자 판별 (두 명 이상이 플레이하는 경우)
- 추가 실습
> 간단한 스네이크 게임 (turtle 모듈 활용)
> 점수를 기록하는 기능 추가
3. 시간 다루기
- datetiem 모듈 소개
> 현재 날짜와 시간 출력
> 날짜 형식 지정 및 변환 (strftime)
> 시간차 계산 (두 날짜 간의 차이 계산)
- 실생활 예제
> 특정 날짜까지 남은 시간 계산
> 알람 시계 프로그램 (간단한 타이머)
- 실습
> 오늘이 무슨 요일인지 알려주는 프로그램
> 생일까지 남은 일수 계산 프로그램
4. 프로젝트 : 나만의 주소록 프로그램
- 주소록 기본 구조
> Python에서 데이터를 저장하는 방법 (리스트, 딕셔너리 활용)
> 이름과 전화번호를 입력받아 저장
- 기능 구현
> 저장된 데이터 검색 (이름으로 검색)
> 데이터 출력 (전체 데이터 출력 및 정렬)
> 데이터 삭제 및 수정 기능 추가
- 데이터 파일 저장
> 텍스트 파일에 데이터를 저장하고 불러오기
> JSON 파일로 데이터 저장 (구조화된 데이터)
- 사용자 인터페이스
> 터미널 기반 메뉴 (선택지 제공: 저장, 검색, 출력, 종료)
- 실습
> 이름 목록을 오름차순으로 정렬하여 출력
> 검색 시 대소문자를 구분하지 않는 검색 기능 추가
5. 실습
- 간단한 그림판 만들기
> turtle 모듈을 사용하여 마우스 클릭으로 그림 그리기
> 색상 선택 및 선 두께 변경 기능 추가
- 주사위 게임 프로그램 만들기
> 여러 번의 주사위 던지기 기록
> 최고 점수를 기록하고 표시
4단계 : Python 심화
1. 객체 지향 프로그래밍 (OOP) 맛보기
- 객체 지향 프로그래밍의 개념
> 객체 (Object)와 클래스 (Class)의 기본 개념
> 객체 지향 프로그래밍의 장점
- 클래스와 객체
> 클래스 정의 및 객체 생성
> 생성자 메서드 (__init__) 와 인스턴스 변수
> 클래스 메서드와 인스턴스 메서드의 차이
- 추가 개념
> 상속(inheritance)의 기본 개념과 구현
> 메서드 오버라이딩
> 캡슐화 (Encapsulation)와 접근 저에 ( public, private)
- 실습
> 자기소개를 출력하는 간단한 클래스 작성
> 직사각형 클래스 작성 (넓이, 둘레, 계산 기능 포함)
2. Python으로 데이터 분석 맛보기
- pandas 라이브러리 소개
> pandas 설치 및 기본 사용법
> DataFrame 과 Series 의 개념
- 데이터 다루기
> CSV 파일 읽기 및 쓰기
> 데이터 선택 및 필터링 (열/행 선택, 조건 검색)
> 간단한 데이터 통계 (평균, 합계, 최대값, 최소값)
- 데이터 시각화 맛보기
> matplotlib 를 사용한 간단한 그래프 그리기
> 히스토그램과 막대그래프 작성
- 실습
> 학생 성적 데이터를 분석하여 평균과 최고 점수를 출력하는 프로그램 작성
> 상품 판매 데이터를 기반으로 판매 추이를 시각화
3. Python으로 웹사이트 정보 가져오기
- 웹 스크래핑 개요
> 웹 스크래핑의 기본 개념과 활용 사례
> requests 로 웹 페이지 HTML 가져오기
> BeautifulSoup 으로 HTML 파싱 및 데이터 추출
- 기본 예제
> 특정 웹사이트의 제목과 메타데이터 가져오기
> 뉴스 제목 수집기 만들기
- 추가 개념
> 동적 웹 페이지 처리 (selenium 소개)
> 웹 스크래핑 시 유의사항 (법적, 윤리적 고려)
- 실습
> 간단한 날씨 정보 크롤러 작성
> 특정 키워드로 검색한 결과를 수집하여 파일로 저장
4. Python 과 외부 장치 연결
- Raspberry Pi 개요
> Raspberry Pi 의 기본 구조와 활용 사례
- LED 제어
> GPIO 핀 개념과 연결 방법
> Python으로 LED 켜고 끄기 (RPI.GPIO 라이브러리 활용)
- 확장 예제
> 버튼 입력으로 LED 제어
> 초음파 센서를 활용한 거리 측정
- 실습
> 버튼을 눌렀을 때 LED가 깜빡이는 프로그램 작성
> 거리 측정 결과를 출력하는 간단한 센서 프로그램
5. 프로젝트 : 간단한 계산기 프로그램 (GUI)
- tkinter 라이브러리 소개
> GUI 프로그래밍의 개념과 필요성
> tkinter 설치 및 기본 사용법
- 계산기 인터페이스 구현
> 버튼, 입력 필드, 출력 창 배치
> 기본 연산 기능 (덧셈, 뺄셈, 곱셈, 나눗셈) 추가
- 추가기능 구현
> Clear 버튼으로 초기화
> 키보드 입력 연동
- 실습
> 디자인을 개선한 나만의 계산기 프로그램 제작
> 로그 기능 추가 (모든 계산 기록 저장)
6. 실습
- 자기소개 클래스 만들기
> 자신의 이름, 나이 취미를 저장하고 출력하는 클래스 작성
- 간단한 날씨 정보 크롤러 만들기
> 웹에서 특정 도시의 날씨 정보를 수집하여 출력
- 추가 실습
> 주가 정보를 스크래핑하여 엑셀 파일로 저장
> Raspberry Pi 와 Python으로 간단한 자동문 시뮬레이터 제
5단계 : Python 으로 문제 해결하기
1. Python 알고리즘과 자료구조 맛보기
- 알고리즘 기초
> 알고리즘이란? 알고리즘 설계와 평가 방법
> 시간 복잡도와 공간 복잡도 개념 이해
- 정렬 알고리즘
> 선택 정렬, 삽입 정렬, 버블 정렬의 원리와 구현
> 내장 함수 활용 (sorted() 와 list.sort())
- 검색 알고리즘
> 선형 검색과 이진 검색의 차이와 구현
> 검색 알고리즘의 시간 복잡도 비교
- 기본 자료구조
> 스택과 큐 (원리와 Python으로 구현하기)
> 딕셔너리를 활용한 간단한 해시 테이블 소개
- 실습
> 숫자 리스트를 정렬하는 프로그램 작성
> 학생 명단에서 특정 이름을 검색하는 프로그램
2. Python으로 문제 해결 사례 탐구
- 수학 문제 풀기
> 최대공약수와 최소공배수 구하기 (math.gcd 활용)
> 소수 판별 및 소수 리스트 생성
> 피보나치 수열 계산 (반복문, 재귀함수 활용)
- 게임 알고리즘 설계
> 간단한 미로 찾기 알고리즘 (DFS / BFS 소개)
> 숫자 맞추기 게임의 최적화 전략
> 랜덤 위크 알고리즘 (무작위 이동 패턴)
- 실습
> 두 숫자의 최대공약수와 최소공배수 구하는 프로그램
> 랜덤으로 생성된 미로에서 탈출 경로를 찾는 프로그램
3. Python으로 간단한 앱 만들기
- Streamlit 사용법 소개
> Streamlit 설치 및 실행
> Streamlit 의 주요 컴포넌트 (st.button , st.text_input 등)
- 데이터 시각화 앱 만들기
> pandas 와 matplotlib를 활용한 그래프 출력
> 사용자 입력에 따라 동적으로 변경되는 데이터 시각화
- 간단한 퀴즈 앱
> 산수 문제를 생성하고 입력을 받아 채점하는 앱
> 점수와 정담률을 기록하고 표시
- 실습
> 사용자 입력 데이터를 시각화하는 간단한 대시보드 제작
> 주간 학습 목표를 설정하고 달성 여부를 확인하는 앱
4. 프로젝트 : 초등학교 공부 도우미
- 산수 문제 생성기
> 덧셈, 뺄셈, 곱셈, 나눗셈 문제를 무작위로 생성
> 문제 난이도 설정 (초급, 중금, 고급)
- 자동 채점 기능
> 사용자 입력을 받아 정답 여부 확인
> 점수 및 정담/오답 기록
- 학습 기록 저장
> 학습 결과를 텍스트 파일이나 CSV로 저장
> 날짜별 학습 기록을 불러와 학습 성과 분석
- 추가 기능
> 타이머 기능으로 제한 시간 설정
> 학습 목표 설정 및 달성 여부 확인
- 실습
> 학습 결과를 시각화하는 기능 추가 (그래프 생성)
> 오답 문제를 다시 풀 수 있는 기능 구현
5. 실습
- 산수 퀴즈 프로그램 제작
> 랜덤 산수 문제 생성 및 채점
> 제한 시간 내 답변 여부 확인
- 자신의 학습 기록을 저장하는 프로그램
> 학습 데이터를 날짜별로 저장
> 주간 학습 성과를 시각화하여 출력
- 추가 실습
> 오답률이 높은 문제를 분석하여 더 자주 출제
> Streamlit 을 활용한 학습 대시보드 제작
728x90
반응형