50 likes | 322 Views
SNU 010.142 컴퓨터의 기초 월 14:00-16:00 43 동 101 호 ropas.snu.ac.kr/~kwang/010/06. 교수 : 이광근 조교 : 지용인 , 황의권 , 최종윤. 목표 1. 올바른 프로그램을 적은 비용으로 개발할 수 있는 능력을 키우기 programming principles: elementary techniques and fundamentals essential concepts of computing programming-problem solving skills
E N D
SNU 010.142 컴퓨터의 기초월 14:00-16:00 43동101호ropas.snu.ac.kr/~kwang/010/06 교수: 이광근 조교: 지용인,황의권,최종윤
목표 1 • 올바른 프로그램을 적은 비용으로 개발할 수 있는 능력을 키우기 • programming principles: elementary techniques and fundamentals • essential concepts of computing • programming-problem solving skills • 프로그램 작성의 기본 원리, 구성 요소, 프로그래밍 미학등을 습득하게 함으로써, • 소프트웨어 시스템이 드러내는 복잡성을 손쉽게 다룰 수 있는 능력과 자신감을 익히게 한다. • 프로그램이 기계를 사용하기 위한 도구라는 제한된 시각에서 벗어나 기계가 프로그램 실행을 위한 도구라는 시각을 갖추도록 보정해준다.
내용 1 • programming principles (the practical aspect) • 재귀와 반복 recursion and iteration • 함수로 요약하기 procedural abstraction • 데이터로 요약하기 data abstraction • 모듈과 계층구조로 요약하기 modularity and hierarchy • 맞는 프로그램인지 확인하기 program proof • 타입을 갖춘 프로그래밍 types and typeful programming • 실행흐름의 관리 exceptions and advanced control • essential concepts of computing (the theoretical aspect) • program problem solving skills (the methodological aspect) • recursive/inductive definitions • types for specification • reasoning about programs
Computer Programming: basics only • 주로, 프로그램 = 컴퓨터를 돌리기 위한 도구 • how to make machines useful • how to talk to machines • how to run machines • 더불어 이제는, 컴퓨터 = 프로그램을 돌리기 위한 도구 • programming moves to higher- and higher-level • how to control complexity • how to abstract complexity • how to think in/for programming • how to write correct programs • how to prove programs correct • how to write understandable programs
이과목을 수강한 후 • 아하, 프로그램은 이렇게 짜는 것이구나 • 아하, 이렇게 생각하면서 문제를 풀 수 있구나 • 아하, computer science/engineering이 이런것이겠구나