KRONNA.COM
본 글은 스탠포드 대학교에 방문한 VIP를 위해 계획하고 실행한 1일 투어 가이드를 토대로 작성한 투어 플랜입니다. 스탠포드 대학교에서 들러봐야할 명소들을 하루 안에 볼 수 있는 양으로 축약하고 가장 효율적인 경로로 이었으니 참고해주세요. 각 명소에 어울리는 배경 설명이 링크되어 있으니 해당 명소에 들렀을 때 순서대로 읽어보세요. 1. Oval (오벌)팔로알토 주민들이 주말에 가족들과 자주 놀러오는 장소입니다. 가운데로 가로질러 걸어가면 가운데에 스탠포드의 상징을 꽃들로 재현한 조형물이 있습니다. 오벌부터 메인쿼드까지 이어지는 길 전구역이 스탠포드 관광객들에게 가ㄷ장 인기있는 포토 존입니다. 오벌에서 메인쿼드로 걸어가는길에 스탠포드 대학교의 창립 역사를 읽어보세요. 2. Main Quad (메인 쿼드)스..
정말 잘 해주셨습니다. 드디어 한달간의 대장정을 마쳤네요. 여러분은 카렐 과정을 졸업하셨습니다. 여러분 중에는 프로그래밍과 코딩이 무엇인지도 모르는 상태로 시작한 분들이 많은데, 벌써 주어진 복잡한 과제를 풀기 위해 알고리즘을 구상하고 코딩하는 것까지 자유자재로 해내실 수 있게 되었다는게 놀랍습니다. 오늘은 여러분이 컴퓨터 과학을 계속 추구하신다면 어떤 옵션들이 있는지, 카렐 그 이후의 단계에 대해 얘기하고자 합니다. 카렐은 끝이 났어도 CS106A 과정은 끝이 아닙니다. 지금까지 카렐과 과제를 해결하시면서 여러분은 자기도 모르게 자바 프로그래밍 언어의 구문을 익히고 계셨습니다. 제가 다음에 돌아왔을때는 카렐의 세계에서 카렐의 문제를 해결해주는걸 벗어나 우리의 세계에서 사람들에게 유용한 프로그램들을 만들..
이번 주는 과제로 시작합니다. 이번 과제가 우리가 카렐과 마지막으로 함께 할 프로젝트이니 최선을 다 해주세요! 카렐 중앙 수색 과제는 설명하기 매우 쉬운 과제입니다. 카렐이 아래에서 첫번째 가로줄의 가운데를 찾아서 그 위에 비퍼를 놓으면 됩니다. 다른 규칙들은 아래와 같습니다:카렐은 참고로 왼쪽 아래 코너에서 오른쪽을 보면서 시작합니다. 중간 과정에서 비퍼를 다른 장소에 몇개를 놓아도 상관이 없지만, 마지막 상황에선 가운데에만 비퍼가 있도록 다른 비퍼들을 주워야 합니다. 중앙 수색 과제에서 카렐의 세계에는 세계 가장자리의 외벽 말고는 벽이 없으며, 세로 높이는 언제나 가로 넓이와 같거나 더 깁니다. 가로로 홀수 만큼의 칸이 있는 세계에서는 카렐이 가운데 칸에 비퍼를 놓아야하지만, 짝수 만큼의 칸이 있는 ..
이번 주의 과제는 카렐과 함께 해결할 3번째 문제인 "체커보드" 과제입니다! 보기엔 꽤 쉬워보여도 실제로는 상당히 까다로운 문제죠. 여러분은 카렐이 비퍼를 이용해 빈 세계를 체커보드 패턴으로 꾸밀 수 있게 도와줄겁니다. 루이비통의 체커드 디자인이 생각나는 엘레강트한 디자인으로 말이죠. 참고로 세계를 체커보드 패턴으로 꾸미는 일을 다 끝냈을 때, 카렐이 어디에 서서 어느 방향을 보고 있는가는 상관 없습니다). 문제를 어떻게 풀까 고민하실때 이번에도 다양한 종류의 세계에서 작동해야 한다는 점을 유의해주세요. 정확히 짜여진 프로그램은 8x8 세계 뿐만 아니라 주어진 1x8, 6x5, 7x7, 8x1, 8x8, 16x20, 40x40 세계에서 전부 작동해야하며, 이론적으로 "아무 숫자 x 아무 숫자"의 크기로 ..
이번 주는 새로운 프로그래밍 기능을 배우는 대신 스타일을 다듬어주는 테크닉과 프로그래밍 역사를 배워 지금 할 줄 아는 만큼을 완벽히 해낼 수 있도록 하는 것이 목적입니다. 그런 의미로 오늘은 현대 프로그래밍의 가장 핵심적인 개념인 객체 지향 프로그래밍 (Object-Oriented Programming)의 개념에 대해 배워보도록 하겠습니다. 1970년대 카렐이 만들어졌을때 프로그래밍 분야는 수행할 기능들의 순서를 중심으로 쓰는 "절차적 프로그래밍" 패러다임이 지배하고 있었습니다. 큰 문제를 풀기 위해 여러가지 "절차"들로 쪼개어 문제를 해결하는 방법이 절차적 프로그래밍입니다. 여러분도 이 접근법으로 기둥 수리 과제를 해결하였죠. 더 최근에 발표된 자바 같은 프로그래밍 언어들은 "객체지향 프로그래밍" 패러..