Welcome to So C CS 1101 S or






















































- Slides: 54
Welcome to So. C!
CS 1101 S or CS 1010? why are you here?
DDP folks You can sleep
Turing Programme Yes, you also can sleep
Brief History • Scheme was developed at MIT in 1975 to teach programming methodology • First introduced at NUS 13 years ago • I took this class at MIT in 1994.
What is Scheme?
(+ 5 3) 8 (- (+ 5 3) (* 2 3)) prefix notation 2
(+ 5 6) 11 (define a 5) (+ a 6) 11
Scheme is Expressive (define (square To x) (* x x)) square something, multiply it by itself (square 2) 4 (square 3)) 36 81
Congratulations! You know Scheme
Why Scheme?
Simple (didn’t you just learn it in 10 mins? )
Futile to Teach a Language (Here today, gone tomorrow)
Computational Thinking
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Can you solve this for 1, 000 discs?
How would we think about the problem?
What if we have one disc?
What if we have no discs? Do nothing!
Towers of Hanoi A B C Suppose we know how to move 3 discs from A to C
Towers of Hanoi A B C Suppose we know how to move 3 discs from A to C
Towers of Hanoi A B C Claim: we can move 3 discs from A to B. Why?
Towers of Hanoi A B C Claim: we can move 3 discs from A to B. Why?
Towers of Hanoi A B C What do we do for 4 discs?
Towers of Hanoi (define (move-tower size from to extra) (cond ((= size 0) #t) (else (move-tower (- size 1) from extra to) (print-move from to) (move-tower (- size 1) extra to from)))) from extra to
Towers of Hanoi (define (print-move from to) (newline) (display "move top disk from ") (display from) (display " to ") (display to))
Recursion
CS 1101 S Road Map Memoization Dynamic Programming Higher-Order Procedures Procedural Abstraction Java Streams Object-Oriented Programming List Processing Iteration Wishful Thinking Symbolic Data Abstraction Recursion ADVANCED INTERMEDIATE Generic Operators Mutation & State BASIC Order of Growth Fundamental concepts of computer programming
CS 1101 S or CS 1010?
How to decide?
Puke Test
Caveat • To enroll in CS 1101 S, min requirement of A grade for ‘A’ Level Math or equivalent. • Or you can appeal at Undergrad Office
like ?
Scheme vs C • Who would you marry? –Pretty but poor? –Rich but ugly?
Ask your friend
Ask a senior
10 Reasons NOT to take CS 1101 S 1. If you hate Math 2. If you don’t like challenges 3. If you cannot manage selfstudying and need to be spoonfed 4. If you just want to get a free A 5. If you are not interested in learning more
10 Reasons NOT to take CS 1101 S 6. 7. If you don’t like personalised attention If you don’t wish to meet like-minded peers 8. If you don’t care about applying your knowledge 9. If you don’t take shocks well/if you fear evilness 10. If you don’t like shuai prof : P
Google is your Friend “cs 1101 s midterm review”
Why are you here?
What is the meaning of life?
many paths to success
“ “Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. . .
“ . . . And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary. ” - Steve Jobs
QUESTIONS