강의/computer science 35

[ComputerScience] 프로그래밍 언어 개요(python의 Module과 Class, 객체지향(OOP)의 4가지 원칙)

이 게시글은서울대학교 데이터사이언스대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 목적으로 재구성한 것입니다python의 Module module이란 쉽게 말하면 python 파일을 뜻한다 import math라고 가장 위에 선언해주면math라는 python 파일 안에 있는 각종definition이나 statement를 사용할 수 있다접근을 위해서는math.sqrt()이런 방식으로 한다 from math import sqrt와 같은 방식으로math 모듈 안에 있는 sqrt 함수만 가져올 수도 있지만이름 충돌 확률이 있어 권장되지 않는 방식이라고 한다  python의 class class는 주로 구글링해보면설계도(blueprint)라는 개념에 자주 비유가 된다 클래스는 변수들과 함수들이 ..

[ComputerScience] Memory Model, Stack VS Heap, Memory Operation

이 게시글은서울대학교 데이터사이언스 대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 목적으로 재구성하였습니다Memory Model메모리 모델이란프로그래밍 언어에서메모리를 관리하는 방식이다 아마 언어마다 각각의 메모리 모델이다르겠지만, 이번 수업에서는크게 python과 C언어에 대해서만비교를 했다  python의 Memory Modelpython의 메모리 모델은high-levelcomceptual diagram이다 파이썬은  위 다이어그램처럼 메모리를 관리하는데,frame 한 개는한 개의 scope이라고 보면 된다 python은 변수들의 정확한 memory location은숨겨져있으며, reference 형식으로 메모리를 참조한다  C언어의 Memory Model사실 중요한 것은c언어의 ..

[ComputerScience] 프로그래밍 언어 개요(변수, 데이터타입, 범위, 연산자)

이 게시글은서울대학교 데이터사이언스 대학원조요한 교수님의데이터사이언스를 응용을 위한 컴퓨팅강의를 학습 목적으로 재구성하였습니다.Variables(변수)변수란 identifier를 symbolic한어떤 것으로 만드는 것이다 쉽게 말하면,프로그래밍을 하면서 저장한 어떤 데이터를찾기 쉽게 이름을 붙여준 것이다 이게 무슨 말이냐하면예전에 변수가 없었을 때에는개발자가 특정 데이터를 사용하려고 할 때해당 데이터가 담겨있는 메모리 위치를하나하나 기억해서 작성하곤 했는데,찾고자하는 그 데이터의 주소에symbolic한 이름을 붙여줌으로써그 이름만을 가지고 tracking을 가능하게해줬다는 의미이다 이러한 변수의 등장으로코드의 가독성이 높아졌으며개발자가 편하게 프로그래밍을할 수 있게 되었다 이러한 변수에는알맞은 데이터 타..

[ComputerScience] 인터프리터와 컴파일러

이 게시글은서울대학교 데이터사이언스 대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 목적으로 재구성하였습니다.첫 번째 강의는 교수님의 이전 강의 내용복습에 관한 내용이었다 간단하게 정리해보고자 한다 인터프리터와 컴파일러Python은 대표적인 인터프리터 언어고C는 대표적인 컴파일러 언어이다그럼 인터프리터와 컴파일러는 무엇이며이 두개는 어떤 차이가 있을까?  인터프리터와 컴파일러는공통적으로 코드를컴퓨터가 알아들을 수 있는 명령어로변환해주는 역할을 한다 옛날부터 배웠을텐데컴퓨터가 알아듣는 건0과 1 뿐이다 우리가 python이나 c언어로 코드를 작성하면python은 인터프리터c언어는 컴파일러를 통해서컴퓨터가 이 파일을 이해하고 실행할 수 있는0과 1의 명령어로 바꾸어준다 이제 코드를 이진수로..

[ComputerScience] macOS에서 C/C++ 코딩 환경설정하기

해당 게시글은 서울대학교 데이터사이언스대학원 조요한 교수님의데이터사이언스를 응용을 위한 컴퓨팅 강의를학습 목적으로 재구성하였습니다.이번 수업에서는C++을 이용하여객체지향, 알고리즘들을 배울 예정이라컴퓨터 환경에 C나 C++이 돌아갈 수 있도록하는 것은 필수였다 강의 초반에 교수님께서환경설정 관련 자료를 주셨어서해당 내용을 바탕으로기록해보려한다 나는 MAC을 사용하므로MAC 위주로 정리할 예정1. Visual Studio Code가장 무난한 코드 에디터인visual studio code를사용한다고 한다. 나는 이미 사용 중이었기에만약 로컬에 없다면 아래에서 다운받아준다 https://code.visualstudio.com/download Download Visual Studio Code - Mac, Lin..