선수로 산다, 때론 좋은 코치로

프로그래밍 교육 본문

개발 관련/개발 일반

프로그래밍 교육

godsman 2016. 9. 7. 23:25

프로그래밍 교육-보완중

교육목표 - 다 읽고 나면 알게 되는 것들 ㅎㅎ

  • 프로그래밍에 관한 기초 상식들
  • 프로그래밍이란 무엇인가?
  • 하드웨어와 소프트웨어는 무엇인가?
프로그램을 배우고 싶어하는 사람들에게 알려줄 내용을 정리했습니다.
생각나는 대로 정리한 내용이라 두서가 두서가 없습니다.

참고할만한 도서를 찾아보니, "기초튼튼 코드튼튼 다함께 프로그래밍"이라는 도서가 있네요.

도서의 차례와 내용을 활용하여 보완하겠습니다.

쉬운 책도 길면 지루합니다. 차례 제목만 먼저 살펴보세요.
궁금한 제목은 검색해 보거나 물어보세요. 

PART Ⅰ 프로그래밍으로의 초대
CHAPTER 01 컴퓨터와 친하게 지내자 2
1.1 컴퓨터가 있는 생활 2
1.2 프로그래밍이란 무엇인가? 7
1.3 마음의 준비 12

CHAPTER 02 컴퓨터가 동작하는 원리 21
2.1 컴퓨터 완벽 해부 21
2.2 컴퓨터의 작업 방식 28
2.3 프로그램 완벽 해부 36

CHAPTER 03 프로그램을 한국어로 작성하자 44
3.1 프로그램이 만들어지는 과정 44
3.2 줄거리와 시나리오를 작성하기 위한 힌트 56
3.3 청소를 부탁해! 62
3.4 프로그램의 개념을 익히려면? 70

PART Ⅱ 프로그래밍의 기초 지식
CHAPTER 04 ‘1 + 1’ 프로그램 72
4.1 값을 넣는 상자 ― 변수 73
4.2 상자의 크기 ― 데이터 타입 77
4.3 상자 사용법 ― 초기화 86
4.4 상자에 값 넣기 ― 대입/대입 연산자 87
4.5 Q&A 90

CHAPTER 05 계산 실패의 정체 92
5.1 계산에 사용하는 기호 ― 산술 연산/산술 연산자 92
5.2 티끌모아 태산 ― 계산 오차 94
5.3 식을 작성하는 방법에 따라 답이 변한다 ― 우선순위 96
5.4 원인은 보관 용기에 있다? ― 데이터 타입 101
5.5 답을 알 수 없는 나눗셈 ― 0으로 나누기 104
5.6 Q&A 105

CHAPTER 06 프로그램의 흐름을 만들기 108
6.1 흐름의 방식은 세 종류 ― 제어 구조 108
6.2 ‘만약’인 경우의 프로그램 ― 조건 판단 구조 114
6.3 동일한 것의 반복 ― 반복 구조 122
6.4 흐름을 바꾸는 계기 ― 비교 연산/비교 연산자 132
6.5 함께 비교하기 ― 논리 연산/논리 연산자 137
6.6 Q&A 142

CHAPTER 07 데이터의 보관 용기 145
7.1 같은 종류의 상자를 나열해서 사용 ― 배열 145
7.2 상자를 가로와 세로로 나열하여 사용하기 ― 2차원 배열 155
7.3 관련 정보를 모아서 취급하기 ― 구조체/레코드 164
7.4 메모리의 번지를 이용하기 ― 포인터/주소 169
7.5 값에 이름을 붙여서 사용하기 ― 상수 177
7.6 중요한 데이터를 넣는 장소 ― 파일 180
7.7 Q&A 184

CHAPTER 08 프로그램을 부품화하기 186
8.1 부품이 된 프로그램 ― 함수 186
8.2 정보 전달 ― 인수 197
8.3 결과 수령 ― 반환값/리턴값 204
8.4 정보를 공유하는 방법 ― 지역 변수/전역 변수 206
8.5 Q&A 209

PART Ⅲ 다음 단계로
CHAPTER 09 무엇을 만들지 생각해보자 212
9.1 콘솔 애플리케이션과 윈도우 애플리케이션 212
9.2 프로그램이 움직이는 계기 214
9.3 프로그램을 만드는 방법 218
9.4 웹 프로그램 221

CHAPTER 10 도구를 준비하자 232
10.1 프로그래밍 언어의 종류 232
10.2 여러 가지 프로그래밍 언어 236
10.3 C 프로그래밍에 필요한 도구 249
10.4 객체 지향 프로그래밍 253

CHAPTER 11 한 발 앞으로 나아가자 262
11.1 프로그램이 생각대로 동작하지 않을 때 262
11.2 프로그래머의 마음가짐 267

프로그램을 개발한 경험이 없어서 프로그래밍 지식은 없어도, IT 분야에서 엔지니어 경험이 있으면 이해할 수 있습니다.

프로그래밍


Programming.
프로그램을 만드는 것을 뜻한다. 프로그램은 대체로 컴퓨터에서 동작하는 프로그램을 말한다. 따라서 프로그래밍이라고 하면 대개 컴퓨터 프로그래밍을 뜻한다.


프로그래밍이란 컴퓨터에서 동작하는 프로그램을 개발하는 것이다.
컴퓨터와 같은 장비를 하드웨어(HardWare)라고 하고 하드웨어에서 동작하는 프로그램을 소프트웨어(SoftWare)라고 한다.
하드웨어는 눈으로 볼 수 있는 장비를 의미하고, 소프트웨어는 눈에 보이지 않으면서 하드웨어를 동작시키는 명령어 모음이라고 생각하면 된다.


하드웨어와 소프트웨어는 반대말이 아니다. 다른 것을 지칭하는 용어다.
소프트웨어는 사람으로 치면 정신에 해당되는 부분이다.
운영체제, 애플리케이션, 악성코드, 펌웨어 등이 포함된다.

프로그래밍이란 컴퓨터에서 동작하는 소프트웨어를 개발하는 것이다.
프로그래밍을 하기 위해서 알아야할 내용은 무엇일까?
  • 하드웨어에 대한 이해
  • 프로그래밍 개발 도구
  • 개발하려는 소프트웨어(목적)
  • 디자인과 같은 부가요소


하드웨어에 대한 이해

프로그래밍을 개발하기 위해서는 프로그램이 동작하는 하드웨어에 대해서 이해할 필요가 있다.
컴퓨터 프로그램이라면 컴퓨터의 구조를, 스마트폰 애플리케이션이라면 스마트폰의 구조를 이해해야 개발할 때 도움이 된다. 최근에는 운영체제가 발달되어서 대부분의 하드웨어에 운영체제가 설치되어 있다. 운영체제가 없이 프로그램을 개발할 때는 하드웨어에 대한 이해가 중요했다. 운영체제를 기반으로 개발할 때는 하드웨어에 대한 이해가 부족해도 운영체제를 이해하고 있으면 개발이 가능하다.


프로그래밍 개발 도구

프로그래밍 개발에 필요한 기술로는 프로그래밍 언어가 가장 중요하다. 개발자는 프로그래밍 언어를 이용하여 소프트웨어를 개발한다. 
프로그래밍은 언어를 이용하여 명령어를 쓰고, 컴퓨터가 이해하도록 변환하는 것을 의미한다.
명령어를 쓰기 위해서 에디터가 필요하고, 컴퓨터가 이해할 수 있도록 변환하기 위해서 언어 해석기(컴파일러, 인터프리터)가 필요하다. 일반적으로 통합개발환경(IDE)은 에디터와 언어 해석기, 실행환경을 포함한다


프로그래밍 언어의 종류

컴파일러, 인터프리터, 스크립트언어
JVM 언어, .Net 언어

프로그래밍 언어의 요소

자료형(변수, 상수), 제어문(비교문, 반복문), 함수

기타

프로그램을 배워야 하는 이유 - 동영상 자료 참고


에디터 종류, 선택방법
통합개발환경 종류, 선택방법

시스템이해
Linux -

개발언어
사용 분야 기술
그외요소 디자인 등
관련 사전지식
알고리즘

참고자료
언어
언어의 발전


Comments