1주차. 새로운 시작과 방향성 & 4차 산업혁명과 인재상1-1. 새로운 시작과 방향성대학 생활의 의의: 수동적 피동 학습 환경에서 벗어나 자율적이고 주도적인 학습 주체로의전환.자기 이해와 진로 설계: 개인의 가치관, 흥미, 적성, 강점에 대한 다각도 분석을 바탕으로 단기·중기·장기 목표 설정.방향성 정립: 단순한 스펙 쌓기를 넘어 삶의 지향점과 비전을 구체화하는 프로세스 구축.1-2. 4차 산업혁명과 인재상4차 산업혁명의 개념 및 기반 기술:기술적 기반: 인공지능(AI), 빅데이터(Big Data), 사물인터넷(IoT), 클라우드(Cloud), 블록체인(Blockchain), 로보틱스 등.핵심 특성: * 초연결성 (Hyper-connectivity): 사람-사물-공간이 네트워크로 긴밀히 연결됨.초지능성 (Hyper-intelligence): 방대한 데이터를 바탕으로 인공지능이 스스로 학습하고 판단함.대융합 (Convergence): 가상세계와 현실세계, 기술과 산업 간의 경계가 해체되고 통합됨.
자료 소개본 자료는 2024년 명지전문대학교 전공 <컴퓨팅 사고력> 기말고사 교안 정리본입니다. 실생활 예제와 복합적 사고 적용 사례 예시를 작성한 정리본이기도 합니다. [1장] 컴퓨팅 사고의 이해와 기본적 응용1.1. 컴퓨팅 사고의 배경 및 이해1. 컴퓨팅 사고의 등장 배경• 앨빈 토플러의 ‘정보화의 물결’ 현실화 및 사물인터넷, 빅데이터, 인공지능(AI) 시대의 도래.• 일상적인 아날로그적 사고만으로는 해결하기 어려운 다양하고 복잡한 문제들이 등장하면서, 이를 효율적으로 해결하기 위한 '컴퓨팅 사고 능력'이 4차 산업혁명의 필수 역량으로 대두됨.2. 컴퓨팅 사고의 창시와 개념• 시초: 1980년 MIT의 파퍼트(Papert) 교수가 처음 사용.• 본격적 주창: 2006년 카네기멜런 대학의 지넷 윙(Jeannette M. Wing) 교수가 ACM 저널에 기고하며 전 세계적 열풍 시작.• 핵심 정의: 인간의 사고 능력과 컴퓨터의 능력을 통합한 사고. 컴퓨터과학자들만의 전유물이 아니며, 누구에게나 보편적으로 적용되는 필수 역량이자 사고방식임.3. 인간의 사고 체계• 파스칼(“인간은 생각하는 갈대이다”), 데카르트(“나는 생각한다, 고로 존재한다”), IBM(사훈 'Think'), MS(빌 게이츠의 'Think Week'), 애플(스티브 잡스의 'Think Different') 등 역사적으로 ‘사고의 힘’은 항상 강조되어 옴.• 인간의 사고는 '감각적 사고'에서 출발하여 '경험/학습적 사고(지적 사고)'로 발전하며, 컴퓨팅 사고는 창의적 사고와 겹치며 최상단에 위치함.4. 윙 교수가 강조한 컴퓨팅 사고의 6가지 특성① 프로그래밍이 아닌 개념화(Conceptualizing)이다.② 단순한 기술(Skill)이 아닌 근본적인 기술(Fundamental skill)이다.③ 컴퓨터가 아닌 사람의 사고방법이다.④ 수학적 사고와 공학적 사고의 결합 및 보완이다.
1.1. 문제해결능력의 개념과 중요성: 문제해결능력이란 단순히 눈앞의 어려움을 처리하는 기술이 아니라, 문제의 본질을 파악하고 체계적인 사고 과정을 통해 근본적인 해결책을 도출하는 종합적 역량이다. 현대 사회에서 개인과 조직이 마주하는 문제는 점점 복잡해지고 있으며, 표면에 드러난 현상만을 보고 성급하게 해결책을 적용할 경우 오히려 더 큰 문제를 야기하는 경우가 적지 않다. 이러한 맥락에서 문제해결능력은 단순한 실무 기술을 넘어 사고의 틀 자체를 바꾸는 핵심 역량으로 자리매김하고 있다.문제해결능력이 중요한 이유는 무엇보다 '문제를 어떻게 정의하느냐에 따라 해결책의 질이 달라지기' 때문이다. 잘못 정의된 문제는 아무리 정교한 해결책을 적용해도 근본 원인을 제거하지 못하며, 동일한 문제가 반복되거나 새로운 형태의 문제로 재발하게 된다. 반면, 문제의 본질을 정확히 파악하고 진짜 문제를 정의한 뒤 체계적인 도구를 활용하면 혁신적이고 지속 가능한 해결책을 도출할 수 있다.
1. 객체 지향 프로그래밍 (OOP) 심화 분석객체 지향 프로그래밍(OOP)은 현실 세계의 사물이나 개념을 모델로 하여, 데이터와 이를 처리하는 메서드를 결합하는 프로그래밍 패러다임입니다.1.1. OOP의 5대 핵심 요소.객체(Object)와 클래스(Class): 객체는 데이터(속성)와 처리 방법(메서드)을 하나로 묶은 독립적 단위이며 , 클래스는 이러한 객체들을 생성하기 위해 공통 속성과 기능을 정의하는 템플릿(틀)으로 코드 재사용성의 핵심입니다..캡슐화(Encapsulation): 객체의 데이터와 메서드를 하나의 단위로 묶고, 외부에서 직접 접근하지 못하도록 은닉하는 기법입니다. 이를 통해 객체 간 결합도를 낮추고 데이터 무결성을 보호합니다..상속(Inheritance): 부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 메커니즘으로, 계층 구조를 형성하며 코드의 일관성과 확장성을 극대화합니다. 단일 상속과 다중 상속(C++ 등 일부 언어 지원)으로 분류됩니다..추상화(Abstraction): 복잡한 내부 구현을 숨기고, 사용자가 시스템을 쉽게 이해하고 사용할 수 있도록 본질적이고 필수적인 인터페이스만 제공하는 기법입니다.