54
Welcome to SoC!

Welcome to SoC!. CS1101S or CS1010? why are you here?

Embed Size (px)

Citation preview

Welcometo SoC!

CS1101S or CS1010?

why are you here?

why are you here?

DDP folksDDP folks

You can sleep

You can sleep

Turing Programme

Turing Programme

Yes, you also can

sleep

Yes, you also can

sleep

Brief History 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)

(- (+ 5 3) (* 2 3))

prefix notationprefix notation

8

2

(+ 5 6)

(define a 5)

(+ a 6)

11

11

Scheme is ExpressiveScheme is Expressive

(define (square x) (* x x))

To square something, multiply it by itself

(square 2)

(square (square 3))

436 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)(Here today, gone tomorrow)

Computational Thinking

Towers of HanoiTowers of Hanoi

Towers of HanoiTowers of Hanoi

Towers of HanoiTowers of Hanoi

Towers of HanoiTowers of Hanoi

Towers of HanoiTowers of Hanoi

Towers of HanoiTowers of Hanoi

Towers of HanoiTowers of Hanoi

Towers of HanoiTowers 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 HanoiTowers of Hanoi

Suppose we know how to move 3 discs from A to C

A B C

Towers of HanoiTowers of Hanoi

Suppose we know how to move 3 discs from A to C

A B C

Towers of HanoiTowers of Hanoi

Claim: we can move 3 discs from A to B. Why?

A B C

Towers of HanoiTowers of Hanoi

Claim: we can move 3 discs from A to B. Why?

A B C

Towers of HanoiTowers of Hanoi

What do we do for4 discs?

A B C

Towers of HanoiTowers 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 HanoiTowers of Hanoi(define (print-move from to)(newline)(display "move top disk from ")(display from)(display " to ")(display to))

Recursion

CS1101S Road MapCS1101S Road Map

BASIC

INTERMEDIATE

ADVANCED

Procedural Abstraction

Higher-Order Procedures

Recursion

Iteration

Wishful Thinking

Order of Growth

Data Abstraction

Symbolic DataList

ProcessingGeneric

Operators

Object-Oriented Programming

StreamsMemoization

Dynamic Programming

Mutation & State

Java

Fundamental concepts of computer programming

CS1101S or CS1010?

How to decide?

PukeTest

Caveat Caveat • To enroll in CS1101S, min

requirement of A grade for ‘A’ Level Math or equivalent.

• Or you can appeal at Undergrad Office

like ?

Scheme vs C Scheme vs C •Who would you marry?–Pretty but poor?–Rich but ugly?

Ask your friend

Ask a senior

10 Reasons NOT to take CS1101S10 Reasons NOT to take CS1101S

1. If you hate Math

2. If you don’t like challenges

3. If you cannot manage self-studying 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 CS1101S10 Reasons NOT to take CS1101S

6. If you don’t like personalised attention

7. 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

Google is your Friend

“cs1101s 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

QUESTIONSQUESTIONS