본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
01. 기초프로그래밍(python)
1차시 : 창의적 사고에서 시작되는 SW 프로그래밍
컴퓨터 사고와 프로그래밍
01. 컴퓨터 과학과 프로그래밍
컴퓨터 과학은 정보처리를 위한 컴퓨터 시스템에 연관된 학문.
컴퓨터 시스템은 하드웨어, 소프트웨어, 데이터, 사용자 4개의 영역으로 구분되어 있다. 이를 위해 정보처리가 요구가 됨
정보처리 (Information Processing): 컴퓨터 시스템의 궁극적인 목표입니다. 원시 데이터를 수집, 저장, 검색, 조작, 분석하여 유의미한 정보로 변환하는 일련의 과정입니다. 예를 들어, 웹 검색을 통해 원하는 정보를 찾거나, 엑셀을 이용해 데이터를 분석하는 모든 과정이 정보처리에 해당합니다.
이진 데이터 (Binary Data): 컴퓨터가 정보를 표현하고 처리하는 유일한 방식입니다. 0과 1의 두 가지 상태만을 사용하여 모든 종류의 정보를 나타냅니다. 텍스트, 이미지, 소리, 비디오 등 우리가 보는 모든 디지털 콘텐츠는 궁극적으로 이진 데이터로 변환되어 저장되고 처리됩니다.
알고리즘 (Algorithm): 특정 문제를 해결하기 위한 일련의 명확하고 단계적인 절차 또는 규칙입니다. 컴퓨터가 어떤 작업을 수행해야 할지 지시하는 논리적인 설계도라고 할 수 있습니다. 예를 들어, 두 숫자를 더하는 방법, 데이터를 정렬하는 방법 등이 모두 알고리즘의 예시입니다.
소프트웨어 (Software): 컴퓨터 하드웨어에 특정 작업을 수행하도록 지시하는 명령어 집합입니다. 이는 크게 시스템 소프트웨어(운영체제, 유틸리티)와 응용 소프트웨어(워드 프로세서, 게임, 웹 브라우저 등)로 나뉩니다. 소프트웨어는 알고리즘을 코드로 구현한 결과물이며, 하드웨어를 제어하고 사용자와 상호작용하는 역할을 합니다.
프로그래밍 언어 (Programming Language): 소프트웨어를 개발할 때 사용하는 인공 언어입니다. 인간이 이해할 수 있는 형태로 알고리즘을 작성하고, 이를 컴퓨터가 이해할 수 있는 이진 데이터(기계어)로 변환하는 과정을 거칩니다. Python, Java, C++, JavaScript 등이 대표적인 프로그래밍 언어입니다.
컴퓨팅 (Computing): 컴퓨터 시스템이 정보를 처리하고 문제를 해결하는 전반적인 행위 또는 능력입니다. 이는 데이터 저장, 계산, 논리적 추론 등 다양한 작업을 포괄합니다. 현대 사회의 거의 모든 분야에서 컴퓨팅은 필수적인 요소가 되었습니다.
하드웨어 (Hardware): 컴퓨터 시스템을 구성하는 물리적인 부품들을 총칭합니다. 중앙 처리 장치(CPU), 메모리(RAM), 저장 장치(SSD/HDD), 입력 장치(키보드, 마우스), 출력 장치(모니터, 프린터) 등이 여기에 해당합니다. 하드웨어는 소프트웨어의 지시를 받아 실제 데이터 처리 작업을 수행하는 기반입니다.
인간 (Human): 컴퓨터 시스템을 설계하고, 개발하며, 사용하는 주체입니다. 인간의 필요와 문제를 해결하기 위해 컴퓨터 시스템이 존재하며, 인간은 컴퓨터 시스템에 데이터를 입력하고, 소프트웨어를 조작하며, 결과물을 해석하고 활용합니다. 궁극적으로 정보처리의 목적은 인간의 삶을 더 효율적이고 편리하게 만드는 데 있습니다.
컴퓨팅 사고력 = 문제해결을 위한 사고력
컴퓨팅 사고력의 과정
복잡함을 단순하게, 추상화(Abstraction)
우리는 살면서 수많은 복잡한 문제들에 부딪힙니다. 예를 들어, "오늘 저녁 메뉴를 결정해야 해", "이번 주말여행 계획을 짜야해", "새로운 프로젝트를 성공적으로 마무리해야 해" 등등. 이런 문제들을 한 번에 해결하려고 하면 너무 막막하죠?
바로 이때 추상화가 필요합니다.
추상화는 복잡한 문제를 해결 가능한 상태로 만드는 과정입니다. 문제의 본질을 파악하고, 불필요한 세부사항은 과감히 제거한 뒤, 핵심적인 요소와 관계만을 추출해내는 것이죠. 마치 숲을 볼 때 나무 한 그루 한 그루가 아니라 전체적인 숲의 형태를 파악하는 것과 같아요.
실생활 예시:
- 여행 계획: 여행을 계획할 때 모든 숙소, 식당, 교통편을 처음부터 다 정하려 하면 복잡합니다. 먼저 '어디로 갈지', '며칠 동안 갈지', '어떤 테마의 여행을 할지' 등 큰 그림을 그리는 것이 추상화입니다. 세부적인 예약은 그 후에 해도 늦지 않죠.
- 요리하기: 맛있는 잡채를 만든다고 생각해봅시다. 수많은 재료와 복잡한 조리 과정이 있지만, 핵심은 '각 재료를 적절히 손질하고 익혀 양념에 버무린다'는 큰 틀입니다. 세부적인 재료 손질법이나 양념 비율은 그다음 단계에서 고려할 수 있습니다.
- 새로운 앱 개발: 앱을 만들 때 처음부터 모든 UI 디자인과 코드를 생각하는 대신, '어떤 기능을 제공할지', '누가 이 앱을 사용할지' 등 핵심적인 서비스 콘셉트를 정의하는 것이 추상화입니다.
추상화를 통해 우리는 문제의 복잡성을 줄이고, 더 명확하게 문제를 바라볼 수 있게 됩니다. 이는 곧 효율적인 문제 해결의 첫걸음이 됩니다.
효율성을 극대화하는, 자동화(Automation)
추상화를 통해 문제의 본질을 파악하고 해결 가능한 형태로 만들었다면, 이제 이 해결책을 실제로 실행에 옮길 차례입니다. 여기서 자동화의 힘이 발휘됩니다.
자동화는 추상화되어 있는 문제를 자동화 기기(컴퓨터)를 통해 해결할 수 있게 만드는 과정입니다. 반복적이고 지루한 작업을 컴퓨터에게 맡김으로써, 우리는 더 중요하고 창의적인 일에 집중할 수 있게 됩니다.
실생활 예시:
- 여행 계획 자동화: 여행 계획의 큰 틀(추상화)을 잡았다면, 이제 항공권, 숙소 예약을 여행사 앱이나 웹사이트를 통해 진행합니다. 과거에는 일일이 전화하고 확인해야 했던 작업을 클릭 몇 번으로 자동화된 시스템이 처리해줍니다.
- 요리 자동화: 잡채의 핵심 과정을 파악했다면, 이제 믹서로 야채를 다지거나, 인덕션 타이머를 사용하거나, 자동 조리 기능을 갖춘 주방 가전을 활용하여 조리 과정을 더욱 편리하게 만들 수 있습니다.
- 데이터 분석: 수천, 수만 개의 데이터를 일일이 손으로 분석하는 것은 불가능합니다. 엑셀의 함수나 파이썬(Python)과 같은 프로그래밍 언어를 이용해 데이터를 정렬하고, 필터링하며, 통계를 내는 작업을 자동화할 수 있습니다.
자동화는 우리가 정의한 알고리즘(문제 해결 절차)을 컴퓨터가 빠르고 정확하게 수행하도록 돕습니다. 이를 통해 시간과 노력을 절약하고, 오류 발생 가능성을 줄이며, 훨씬 더 큰 규모의 문제도 처리할 수 있는 능력을 갖게 됩니다.
Python
프로그래밍 언어란? 문제를 해결하기 위한 알고리즘을 컴퓨터로 하여금 실행시키도록 하는 형식을 갖춘 언어이다. 여기서 프로그래밍을 한 결과물은 프로그램 또는 소프트웨어라고 한다. 우리가 배우려고 하는 파이썬 언어는 인간의 언어와 유사한 고급언어 이면서 순서대로 실행되는 인터프리터 언어이다.
파이썬의 장점은 크게 3가지가 있다. 먼저, 배우기 쉬운 문법이다. 인간의 언어와 유사하여 복잡하지 않아 배우기가 쉽다. 둘째, 사용하기 쉽다. 이미 많은 개발자들이 만들어 둔 라이브러리가 있기 때문에 다양한 상황에 맞는 라이브러리를 사용함으로써 쉽게 사용할 수 있다. 마지막으로 생산성이 뛰어나다.
파이썬 실습
# 괄호가 포함된 계산 5*(10+10)/2 를 수행해본다.
5*(10+10)/2
결과는 50.0 이 나온다.
#괄호를 제외하고 5 * 10 + 10 / 2 를 수행하여 결과를 비교해 봅시다.
5 * 10 + 10 / 2
결과는 55.0이 나오게 되고 괄호 유무에 따라서 수행 결과가 달라지게 된다.
#자신의 이름을 100번 출력해봅시다.
for _ in range(100):
print("개발자")
https://fastcampus.info/4n8ztzq
(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스
초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!
fastcampus.co.kr
'개발공부 > python' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 8일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (0) | 2025.07.08 |
---|---|
패스트캠퍼스 환급챌린지 7일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (1) | 2025.07.07 |
패스트캠퍼스 환급챌린지 4일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (0) | 2025.07.04 |
패스트캠퍼스 환급챌린지 3일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (0) | 2025.07.03 |
패스트캠퍼스 환급챌린지 2일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기 (0) | 2025.07.02 |