1 / 54

Welcome to SoC!

Join us for an introduction to the Scheme programming language, its history, and why it's worth learning. Dive into the fundamentals of computational thinking, Towers of Hanoi problem, recursion, and more. Discover the advantages of Scheme over other languages and explore topics like dynamic programming and data abstraction. This course is suitable for beginners and experienced programmers alike. Get ready to expand your programming skills and think outside the box!

oliverjesus
Download Presentation

Welcome to SoC!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Welcome to SoC!

  2. CS1101S or CS1010? why are you here?

  3. DDP folks You can sleep

  4. Turing Programme Yes, you also can sleep

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

  6. What is Scheme?

  7. 8 (+ 5 3) (- (+ 5 3) (* 2 3)) 2 prefix notation

  8. 11 (+ 5 6) (define a 5) (+ a 6) 11

  9. Scheme is Expressive (define (square x) (* x x)) To square something, multiply it by itself (square 2) (square (square 3)) 4 36 81

  10. Congratulations! You know Scheme

  11. Why Scheme?

  12. Simple (didn’t you just learn it in 10 mins? )

  13. Futile to Teach a Language (Here today, gone tomorrow)

  14. Computational Thinking

  15. Towers of Hanoi

  16. Towers of Hanoi

  17. Towers of Hanoi

  18. Towers of Hanoi

  19. Towers of Hanoi

  20. Towers of Hanoi

  21. Towers of Hanoi

  22. Towers of Hanoi

  23. Can you solve this for 1,000 discs?

  24. How would we think about the problem?

  25. What if we have one disc?

  26. What if we have no discs? Do nothing!

  27. Towers of Hanoi A B C Suppose we know how to move 3 discs from A to C

  28. Towers of Hanoi A B C Suppose we know how to move 3 discs from A to C

  29. Towers of Hanoi A B C Claim: we can move 3 discs from A to B. Why?

  30. Towers of Hanoi A B C Claim: we can move 3 discs from A to B. Why?

  31. Towers of Hanoi A B C What do we do for 4 discs?

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

  33. Towers of Hanoi (define (print-move from to) (newline) (display "move top disk from ") (display from) (display " to ") (display to))

  34. Recursion

  35. Java CS1101S Road Map Memoization Streams ADVANCED Dynamic Programming Object-Oriented Programming INTERMEDIATE Symbolic Data Higher-Order Procedures Generic Operators List Processing BASIC Mutation & State Data Abstraction Procedural Abstraction Iteration Recursion Wishful Thinking Order of Growth Fundamental concepts of computer programming

  36. CS1101S or CS1010?

  37. How to decide?

  38. Puke Test

  39. Caveat • To enroll in CS1101S, min requirement of A grade for ‘A’ Level Math or equivalent. • Or you can appeal at Undergrad Office

  40. like ?

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

  42. Ask your friend

  43. Ask a senior

  44. 10 Reasons NOTto take CS1101S • If you hate Math • If you don’t like challenges • If you cannot manage self-studying and need to be spoonfed • If you just want to get a free A • If you are not interested in learning more

  45. 10 Reasons NOTto take CS1101S • If you don’t like personalised attention • If you don’t wish to meet like-minded peers • If you don’t care about applying your knowledge • If you don’t take shocks well/if you fear evilness • If you don’t like shuai prof :P

  46. Google is your Friend “cs1101s midterm review”

  47. Why are you here?

  48. What is the meaning of life?

More Related